|
Blender V4.3
|
#include <vk_shader_compiler.hh>
Inherits blender::gpu::ShaderCompiler.
Public Member Functions | |
| VKShaderCompiler () | |
| virtual | ~VKShaderCompiler () |
Public Member Functions inherited from blender::gpu::ShaderCompiler | |
| virtual | ~ShaderCompiler () |
| virtual SpecializationBatchHandle | precompile_specializations (Span< ShaderSpecialization >) |
| virtual bool | specialization_batch_is_ready (SpecializationBatchHandle &handle) |
| Shader * | compile (const shader::ShaderCreateInfo &info, bool is_batch_compilation) |
Static Public Member Functions | |
SPIR-V disk cache | |
| static void | cache_dir_clear_old () |
Compilation | |
| BatchHandle | batch_compile (Span< const shader::ShaderCreateInfo * > &infos) override |
| bool | batch_is_ready (BatchHandle handle) override |
| Vector< Shader * > | batch_finalize (BatchHandle &handle) override |
| static bool | compile_module (VKShader &shader, shaderc_shader_kind stage, VKShaderModule &shader_module) |
Vulkan shader compiler.
Is used for both single threaded compilation by calling VKShaderCompiler::compile_module or batch based compilation.
Definition at line 29 of file vk_shader_compiler.hh.
| blender::gpu::VKShaderCompiler::VKShaderCompiler | ( | ) |
Definition at line 23 of file vk_shader_compiler.cc.
References BLI_task_pool_create(), and TASK_PRIORITY_LOW.
|
virtual |
Definition at line 28 of file vk_shader_compiler.cc.
References BLI_task_pool_free(), and BLI_task_pool_work_and_wait().
|
overridevirtual |
Implements blender::gpu::ShaderCompiler.
Definition at line 159 of file vk_shader_compiler.cc.
References batch, BLI_task_pool_push(), blender::gpu::ShaderCompiler::compile(), lock, blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_or_add_default(), and blender::Span< T >::size().
|
overridevirtual |
Implements blender::gpu::ShaderCompiler.
Definition at line 286 of file vk_shader_compiler.cc.
References batch, batch_is_ready(), BLI_assert, BLI_time_sleep_ms(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::contains(), lock, and blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::pop().
|
overridevirtual |
Implements blender::gpu::ShaderCompiler.
Definition at line 272 of file vk_shader_compiler.cc.
References batch, BLI_assert, blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::contains(), lock, blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup(), and blender::gpu::unwrap().
Referenced by batch_finalize().
|
static |
Definition at line 130 of file vk_shader_compiler.cc.
References BLI_delete(), BLI_filelist_dir_contents(), BLI_filelist_free(), blender::gpu::cache_dir_get(), direntry::path, direntry::s, S_ISDIR, and time.
Referenced by blender::gpu::VKBackend::shader_cache_dir_clear_old().
|
static |
Definition at line 227 of file vk_shader_compiler.cc.
References blender::gpu::compile_ex(), and stage.