Blender V5.0
libocio_gpu_shader_binder.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2025 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#pragma once
6
7#if defined(WITH_OPENCOLORIO)
8
9# include "MEM_guardedalloc.h"
10
12
13# include "../opencolorio.hh"
14
15namespace blender::ocio {
16
17class LibOCIOGPUShaderBinder : public GPUShaderBinder {
18 public:
19 using GPUShaderBinder::GPUShaderBinder;
20
21 MEM_CXX_CLASS_ALLOC_FUNCS("LibOCIOGPUShaderBinder");
22
23 private:
24 void construct_shader_for_processors(
25 internal::GPUDisplayShader &display_shader,
26 const OCIO_NAMESPACE::ConstProcessorRcPtr &processor_to_scene_linear,
27 const OCIO_NAMESPACE::ConstProcessorRcPtr &processor_to_display,
28 Span<std::array<StringRefNull, 2>> additional_defines) const;
29
30 protected:
31 void construct_display_shader(internal::GPUDisplayShader &display_shader) const override;
32 void construct_scene_linear_shader(internal::GPUDisplayShader &display_shader) const override;
33};
34
35} // namespace blender::ocio
36
37#endif
Read Guarded memory(de)allocation.