|
Blender V4.5
|
#include "BLI_map.hh"#include "BLI_set.hh"#include "BLI_string_ref.hh"#include "BKE_global.hh"#include "GPU_capabilities.hh"#include "GPU_context.hh"#include "GPU_platform.hh"#include "GPU_shader.hh"#include "gpu_shader_create_info.hh"#include "gpu_shader_create_info_private.hh"#include "gpu_shader_dependency_private.hh"#include "gpu_shader_create_info_list.hh"Go to the source code of this file.
Namespaces | |
| namespace | blender |
| namespace | blender::gpu |
| namespace | blender::gpu::shader |
Macros | |
| #define | GPU_SHADER_NAMED_INTERFACE_INFO(_interface, _inst_name) |
| #define | GPU_SHADER_INTERFACE_INFO(_interface) |
| #define | GPU_SHADER_CREATE_INFO(_info) |
| #define | GPU_SHADER_NAMED_INTERFACE_END(_inst_name) ; |
| #define | GPU_SHADER_INTERFACE_END() ; |
| #define | GPU_SHADER_CREATE_END() ; |
Typedefs | |
| using | blender::gpu::shader::CreateInfoDictionnary = Map<StringRef, ShaderCreateInfo *> |
| using | blender::gpu::shader::InterfaceDictionnary = Map<StringRef, StageInterfaceInfo *> |
Functions | |
| void | gpu_shader_create_info_init () |
| void | gpu_shader_create_info_exit () |
| bool | gpu_shader_create_info_compile (const char *name_starts_with_filter) |
| const GPUShaderCreateInfo * | gpu_shader_create_info_get (const char *info_name) |
Check Backend Support | |
| static bool | blender::gpu::shader::is_vulkan_compatible_interface (const StageInterfaceInfo &iface) |
Variables | |
| static CreateInfoDictionnary * | blender::gpu::shader::g_create_infos = nullptr |
| static InterfaceDictionnary * | blender::gpu::shader::g_interfaces = nullptr |
Descriptor type used to define shader structure, resources and interfaces.
Definition in file gpu_shader_create_info.cc.
| #define GPU_SHADER_CREATE_END | ( | ) | ; |
| #define GPU_SHADER_CREATE_INFO | ( | _info | ) |
| #define GPU_SHADER_INTERFACE_END | ( | ) | ; |
| #define GPU_SHADER_INTERFACE_INFO | ( | _interface | ) |
| #define GPU_SHADER_NAMED_INTERFACE_END | ( | _inst_name | ) | ; |
| #define GPU_SHADER_NAMED_INTERFACE_INFO | ( | _interface, | |
| _inst_name ) |
| bool gpu_shader_create_info_compile | ( | const char * | name_starts_with_filter | ) |
Definition at line 545 of file gpu_shader_create_info.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), batch, blender::StringRefNull::c_str(), blender::gpu::shader::g_create_infos, GPU_backend_get_type(), GPU_BACKEND_METAL, GPU_geometry_shader_support(), GPU_shader_batch_create_from_infos(), GPU_shader_batch_finalize(), GPU_shader_free(), info, input, interface, name, ShaderInput::name(), blender::gpu::shader::ShaderCreateInfo::name_, printf, result, and blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::values().
Referenced by GPU_shader_compile_static(), and blender::gpu::tests::test_static_shaders().
| void gpu_shader_create_info_exit | ( | ) |
Definition at line 532 of file gpu_shader_create_info.cc.
References blender::gpu::shader::g_create_infos, blender::gpu::shader::g_interfaces, value, and blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::values().
Referenced by GPU_exit().
| const GPUShaderCreateInfo * gpu_shader_create_info_get | ( | const char * | info_name | ) |
Runtime created shader information is not registered in the dictionary and cannot be searched.
Definition at line 642 of file gpu_shader_create_info.cc.
References blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::contains(), blender::gpu::shader::g_create_infos, info, blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup(), and printf.
Referenced by blender::gpu::shader::ShaderCreateInfo::finalize(), GPU_shader_create_from_info_name(), GPU_shader_create_info_get(), and blender::gpu::tests::ShaderSpecializationConst::init_shader().
| void gpu_shader_create_info_init | ( | ) |
Definition at line 456 of file gpu_shader_create_info.cc.
References blender::gpu::shader::g_create_infos, blender::gpu::shader::g_interfaces, blender::gpu::shader::gpu_shader_dependency_force_gpu_print_injection(), blender::gpu::shader::gpu_shader_dependency_get_builtins(), GPU_shader_draw_parameters_support(), GPU_stencil_clasify_buffer_workaround(), info, and blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::values().
Referenced by GPU_init().