|
Blender V5.0
|
#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 "glsl_compositor_infos_list.hh"#include "glsl_draw_infos_list.hh"#include "glsl_gpu_infos_list.hh"#include "glsl_ocio_infos_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::CreateInfoDictionary = Map<StringRef, ShaderCreateInfo *> |
| using | blender::gpu::shader::InterfaceDictionary = 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 CreateInfoDictionary * | blender::gpu::shader::g_create_infos = nullptr |
| static InterfaceDictionary * | 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 | ( | ) |
Referenced by DEFINE_VALUE(), DEFINE_VALUE(), DEFINE_VALUE(), DEFINE_VALUE(), DEFINE_VALUE(), DEFINE_VALUE(), DEFINE_VALUE(), DEFINE_VALUE(), ivec4(), ivec4(), ivec4(), ivec4(), ivec4(), ivec4(), ivec4(), ivec4(), ivec4(), ivec4(), ivec4(), ivec4(), ivec4(), ivec4(), ivec4(), ivec4(), ivec4(), ivec4(), ivec4(), ivec4(), LOCAL_GROUP_SIZE(), LOCAL_GROUP_SIZE(), log(), max(), max(), OVERLAY_INFO_VARIATIONS_MODELMAT(), pow(), pow(), pow(), pow(), reduce_max(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), and vec4().
| #define GPU_SHADER_CREATE_INFO | ( | _info | ) |
Referenced by DEFINE_VALUE(), DEFINE_VALUE(), DEFINE_VALUE(), DEFINE_VALUE(), DEFINE_VALUE(), DEFINE_VALUE(), DEFINE_VALUE(), ivec4(), ivec4(), ivec4(), ivec4(), ivec4(), ivec4(), ivec4(), ivec4(), ivec4(), ivec4(), ivec4(), ivec4(), ivec4(), ivec4(), ivec4(), ivec4(), ivec4(), ivec4(), ivec4(), ivec4(), LOCAL_GROUP_SIZE(), LOCAL_GROUP_SIZE(), log(), max(), max(), OVERLAY_INFO_VARIATIONS_MODELMAT(), pow(), pow(), pow(), pow(), reduce_max(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), vec4(), and vec4().
| #define GPU_SHADER_INTERFACE_END | ( | ) |
| #define GPU_SHADER_INTERFACE_INFO | ( | _interface | ) |
| #define GPU_SHADER_NAMED_INTERFACE_END | ( | _inst_name | ) |
Referenced by OVERLAY_INFO_VARIATIONS_MODELMAT().
| #define GPU_SHADER_NAMED_INTERFACE_INFO | ( | _interface, | |
| _inst_name ) |
Referenced by OVERLAY_INFO_VARIATIONS_MODELMAT().
| bool gpu_shader_create_info_compile | ( | const char * | name_starts_with_filter | ) |
Definition at line 592 of file gpu_shader_create_info.cc.
References 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(), i, blender::gpu::shader::ShaderCreateInfo::Resource::IMAGE, input, interface, name, blender::gpu::shader::ShaderCreateInfo::name_, printf, blender::gpu::shader::ShaderCreateInfo::resources_get_all_(), result, blender::gpu::shader::ShaderCreateInfo::Resource::SAMPLER, blender::gpu::shader::ShaderCreateInfo::Resource::STORAGE_BUFFER, and blender::gpu::shader::ShaderCreateInfo::Resource::UNIFORM_BUFFER.
Referenced by GPU_shader_compile_static(), and blender::gpu::tests::test_static_shaders().
| void gpu_shader_create_info_exit | ( | ) |
Definition at line 579 of file gpu_shader_create_info.cc.
References blender::gpu::shader::g_create_infos, and blender::gpu::shader::g_interfaces.
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 689 of file gpu_shader_create_info.cc.
References blender::gpu::shader::g_create_infos, and printf.
Referenced by blender::gpu::shader::ShaderCreateInfo::finalize(), GPU_shader_create_from_info_name(), GPU_shader_create_info_get(), blender::gpu::tests::ShaderSpecializationConst::init_shader(), and blender::gpu::shader::ShaderCreateInfo::resource_guard_defines().
| void gpu_shader_create_info_init | ( | ) |
Definition at line 501 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_stencil_clasify_buffer_workaround(), blender::gpu::shader::read_write, blender::gpu::shader::USE_DEBUG_DRAW, and blender::gpu::shader::USE_PRINTF.
Referenced by GPU_init().