|
Blender V4.3
|
#include <vk_shader_interface.hh>
Inherits blender::gpu::ShaderInterface.
Definition at line 33 of file vk_shader_interface.hh.
|
default |
| const VkAccessFlags blender::gpu::VKShaderInterface::access_mask | ( | const shader::ShaderCreateInfo::Resource::BindType & | bind_type, |
| int | binding ) const |
Get the access mask for a binding.
Is used to build the correct resource accesses in the render graph (dispatch/draw nodes).
Will return VK_ACCESS_NONE when binding isn't found or not compatible with the given bind type.
Definition at line 356 of file vk_shader_interface.cc.
References blender::gpu::VKResourceBinding::access_mask, and blender::gpu::VKResourceBinding::bind_type.
| const VKImageViewArrayed blender::gpu::VKShaderInterface::arrayed | ( | const shader::ShaderCreateInfo::Resource::BindType & | bind_type, |
| int | binding ) const |
Definition at line 370 of file vk_shader_interface.cc.
References blender::gpu::VKResourceBinding::arrayed, and blender::gpu::DONT_CARE.
Referenced by init().
|
inline |
Definition at line 72 of file vk_shader_interface.hh.
| const VKDescriptorSet::Location blender::gpu::VKShaderInterface::descriptor_set_location | ( | const shader::ShaderCreateInfo::Resource & | resource | ) | const |
Definition at line 334 of file vk_shader_interface.cc.
References BLI_assert, and blender::gpu::VKResourceBinding::location.
Referenced by init(), and blender::gpu::print_resource().
| const std::optional< VKDescriptorSet::Location > blender::gpu::VKShaderInterface::descriptor_set_location | ( | const shader::ShaderCreateInfo::Resource::BindType & | bind_type, |
| int | binding ) const |
Definition at line 342 of file vk_shader_interface.cc.
References blender::gpu::VKResourceBinding::bind_type, and blender::gpu::VKResourceBinding::location.
|
inline |
Definition at line 77 of file vk_shader_interface.hh.
References blender::gpu::ShaderInterface::attr_types_.
| void blender::gpu::VKShaderInterface::init | ( | const shader::ShaderCreateInfo & | info | ) |
Definition at line 16 of file vk_shader_interface.cc.
References blender::gpu::ARRAYED, arrayed(), blender::gpu::ShaderInterface::attr_len_, blender::gpu::ShaderInterface::attr_types_, blender::gpu::shader::ShaderCreateInfo::batch_resources_, blender::gpu::BIND_SPACE_IMAGE_OFFSET, blender::gpu::ShaderInput::binding, BLI_assert, BLI_assert_msg, blender::gpu::ShaderInterface::builtin_blocks_, blender::gpu::ShaderInterface::builtin_uniform_block_name(), blender::gpu::ShaderInterface::builtin_uniform_name(), blender::gpu::shader::ShaderCreateInfo::builtins_, blender::gpu::ShaderInterface::builtins_, blender::gpu::ShaderInterface::constant_len_, blender::gpu::ShaderInterface::copy_input_name(), blender::gpu::shader::DEPTH_2D_ARRAY, blender::gpu::shader::DEPTH_CUBE_ARRAY, descriptor_set_location(), blender::gpu::VKPushConstants::Layout::determine_storage_type(), blender::gpu::VKBackend::device, blender::gpu::DONT_CARE, ELEM, blender::gpu::ShaderInterface::enabled_attr_mask_, blender::Vector< T, InlineBufferCapacity, Allocator >::extend(), blender::gpu::shader::FLOAT_1D_ARRAY, blender::gpu::shader::FLOAT_2D_ARRAY, blender::gpu::shader::FLOAT_CUBE_ARRAY, blender::gpu::shader::ShaderCreateInfo::geometry_resources_, blender::gpu::VKBackend::get(), GPU_NUM_UNIFORM_BLOCKS, GPU_NUM_UNIFORMS, blender::gpu::VKPushConstants::Layout::init(), blender::gpu::ShaderInterface::input_name_get(), blender::gpu::ShaderInterface::inputs_, blender::gpu::shader::INT_1D_ARRAY, blender::gpu::shader::INT_2D_ARRAY, blender::gpu::shader::INT_2D_ARRAY_ATOMIC, blender::gpu::shader::INT_CUBE_ARRAY, blender::gpu::shader::ShaderCreateInfo::interface_names_size_, blender::gpu::ShaderInput::location, MEM_calloc_arrayN, MEM_mallocN, blender::gpu::ShaderInterface::name_buffer_, blender::gpu::NOT_ARRAYED, blender::gpu::shader::ShaderCreateInfo::pass_resources_, push_constant(), blender::gpu::shader::ShaderCreateInfo::push_constants_, blender::gpu::shader::ShaderCreateInfo::Resource::SAMPLER, blender::gpu::shader::SHADOW_2D_ARRAY, blender::gpu::shader::SHADOW_CUBE_ARRAY, blender::gpu::ShaderInterface::sort_inputs(), blender::gpu::shader::ShaderCreateInfo::specialization_constants_, blender::gpu::ShaderInterface::ssbo_attr_mask_, blender::gpu::ShaderInterface::ssbo_len_, STREQ, blender::gpu::shader::ShaderCreateInfo::subpass_inputs_, blender::gpu::ShaderInterface::ubo_get(), blender::gpu::ShaderInterface::ubo_len_, blender::gpu::shader::UINT_1D_ARRAY, blender::gpu::shader::UINT_2D_ARRAY, blender::gpu::shader::UINT_2D_ARRAY_ATOMIC, blender::gpu::shader::UINT_CUBE_ARRAY, blender::gpu::shader::ShaderCreateInfo::Resource::UNIFORM_BUFFER, blender::gpu::VKPushConstants::UNIFORM_BUFFER, blender::gpu::ShaderInterface::uniform_get(), blender::gpu::ShaderInterface::uniform_len_, and blender::gpu::shader::ShaderCreateInfo::vertex_inputs_.
Referenced by blender::gpu::VKShader::init().
|
inline |
Definition at line 82 of file vk_shader_interface.hh.
References blender::gpu::shader::POINT_SIZE.
|
inline |
Get the Layout of the shader.
Definition at line 67 of file vk_shader_interface.hh.
Referenced by blender::gpu::VKShader::finalize(), and blender::gpu::VKShader::resources_declare().
|
inline |
Definition at line 87 of file vk_shader_interface.hh.