1 /* SPDX-FileCopyrightText: 2021 Blender Foundation
3 * SPDX-License-Identifier: GPL-2.0-or-later */
5 #include "internal/evaluator/evaluator_cache_impl.h"
7 #include "internal/evaluator/eval_output_gpu.h"
9 OpenSubdiv_EvaluatorCacheImpl::OpenSubdiv_EvaluatorCacheImpl() = default;
11 OpenSubdiv_EvaluatorCacheImpl::~OpenSubdiv_EvaluatorCacheImpl()
13 delete static_cast<blender::opensubdiv::GpuEvalOutput::EvaluatorCache
*>(eval_cache
);
16 OpenSubdiv_EvaluatorCacheImpl
*openSubdiv_createEvaluatorCacheInternal(
17 eOpenSubdivEvaluator evaluator_type
)
19 if (evaluator_type
!= eOpenSubdivEvaluator::OPENSUBDIV_EVALUATOR_GPU
) {
22 OpenSubdiv_EvaluatorCacheImpl
*evaluator_cache
;
23 evaluator_cache
= new OpenSubdiv_EvaluatorCacheImpl
;
24 blender::opensubdiv::GpuEvalOutput::EvaluatorCache
*eval_cache
;
25 eval_cache
= new blender::opensubdiv::GpuEvalOutput::EvaluatorCache();
26 evaluator_cache
->eval_cache
= eval_cache
;
27 return evaluator_cache
;
30 void openSubdiv_deleteEvaluatorCacheInternal(OpenSubdiv_EvaluatorCacheImpl
*evaluator_cache
)
32 delete evaluator_cache
;