|
Blender V4.3
|
#include <gpu_shader_private.hh>
Inherited by blender::gpu::MTLShaderCompiler, blender::gpu::ShaderCompilerGeneric, and blender::gpu::VKShaderCompiler.
Classes | |
| struct | Sources |
Public Member Functions | |
| virtual | ~ShaderCompiler () |
| virtual BatchHandle | batch_compile (Span< const shader::ShaderCreateInfo * > &infos)=0 |
| virtual bool | batch_is_ready (BatchHandle handle)=0 |
| virtual Vector< Shader * > | batch_finalize (BatchHandle &handle)=0 |
| virtual SpecializationBatchHandle | precompile_specializations (Span< ShaderSpecialization >) |
| virtual bool | specialization_batch_is_ready (SpecializationBatchHandle &handle) |
ShaderCompiler | |
| Shader * | compile (const shader::ShaderCreateInfo &info, bool is_batch_compilation) |
Definition at line 167 of file gpu_shader_private.hh.
|
inlinevirtual |
Definition at line 177 of file gpu_shader_private.hh.
|
pure virtual |
Implemented in blender::gpu::MTLShaderCompiler, blender::gpu::ShaderCompilerGeneric, and blender::gpu::VKShaderCompiler.
Referenced by GPU_shader_batch_create_from_infos().
|
pure virtual |
Implemented in blender::gpu::MTLShaderCompiler, blender::gpu::ShaderCompilerGeneric, and blender::gpu::VKShaderCompiler.
Referenced by GPU_shader_batch_finalize().
|
pure virtual |
Implemented in blender::gpu::MTLShaderCompiler, blender::gpu::ShaderCompilerGeneric, and blender::gpu::VKShaderCompiler.
Referenced by GPU_shader_batch_is_ready().
| Shader * blender::gpu::ShaderCompiler::compile | ( | const shader::ShaderCreateInfo & | info, |
| bool | is_batch_compilation ) |
Definition at line 810 of file gpu_shader.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), blender::Vector< T, InlineBufferCapacity, Allocator >::as_span(), BLI_assert, blender::StringRefNull::c_str(), blender::gpu::shader::ShaderCreateInfo::check_error(), blender::gpu::shader::ShaderCreateInfo::compute_source_, blender::gpu::shader::ShaderCreateInfo::compute_source_generated, blender::gpu::shader::ShaderCreateInfo::dependencies_generated, error(), blender::Vector< T, InlineBufferCapacity, Allocator >::extend(), blender::gpu::shader::ShaderCreateInfo::fragment_source_, blender::gpu::shader::ShaderCreateInfo::geometry_source_, blender::gpu::GPUBackend::get(), GPU_debug_group_begin(), GPU_debug_group_end(), GPU_DEBUG_SHADER_COMPILATION_GROUP, GPU_SHADER_TFB_NONE, blender::gpu::Shader::init(), blender::StringRefBase::is_empty(), blender::gpu::shader::ShaderCreateInfo::legacy_resource_location_, blender::gpu::shader::ShaderCreateInfo::name_, blender::gpu::GPUBackend::shader_alloc(), blender::Vector< T, InlineBufferCapacity, Allocator >::size(), standard_defines(), blender::gpu::shader::ShaderCreateInfo::tf_names_, blender::gpu::shader::ShaderCreateInfo::tf_type_, blender::gpu::shader::ShaderCreateInfo::typedef_source_generated, blender::gpu::shader::ShaderCreateInfo::typedef_sources_, and blender::gpu::shader::ShaderCreateInfo::vertex_source_.
Referenced by blender::gpu::VKShaderCompiler::batch_compile().
|
inlinevirtual |
Reimplemented in blender::gpu::MTLShaderCompiler.
Definition at line 185 of file gpu_shader_private.hh.
Referenced by GPU_shader_batch_specializations().
|
inlinevirtual |
Reimplemented in blender::gpu::MTLShaderCompiler.
Definition at line 192 of file gpu_shader_private.hh.
Referenced by GPU_shader_batch_specializations_is_ready().