|
Blender V4.3
|
#include <gpu_shader_private.hh>
Public Types | |
| using | Value = shader::SpecializationConstant::Value |
Public Attributes | |
| Vector< gpu::shader::Type > | types |
| Vector< Value > | values |
| bool | is_dirty |
Specialization constants as a Struct-of-Arrays. Allow simpler comparison and reset. The backend is free to implement their support as they see fit.
Definition at line 53 of file gpu_shader_private.hh.
Definition at line 54 of file gpu_shader_private.hh.
| bool blender::gpu::Shader::Constants::is_dirty |
OpenGL needs to know if a different program needs to be attached when constants are changed. Vulkan and Metal uses pipelines and don't have this issue. Attribute can be removed after the OpenGL backend has been phased out.
Definition at line 65 of file gpu_shader_private.hh.
Referenced by blender::gpu::MTLParallelShaderCompiler::precompile_specializations().
| Vector<gpu::shader::Type> blender::gpu::Shader::Constants::types |
Definition at line 55 of file gpu_shader_private.hh.
Referenced by blender::gpu::GLShader::constants_declare(), and blender::gpu::populate_specialization_constant_values().
Definition at line 58 of file gpu_shader_private.hh.
Referenced by blender::gpu::MTLShader::bake_current_pipeline_state(), blender::gpu::GLShader::constants_declare(), blender::gpu::VKShader::ensure_and_get_compute_pipeline(), blender::gpu::VKShader::ensure_and_get_graphics_pipeline(), blender::gpu::MTLContext::ensure_compute_pipeline_state(), and blender::gpu::MTLShader::finalize().