|
Blender V4.3
|
#include "BLI_map.hh"#include "BLI_set.hh"#include "BLI_string_ref.hh"#include "BLI_threads.h"#include "BKE_global.hh"#include "GPU_capabilities.hh"#include "GPU_context.hh"#include "GPU_platform.hh"#include "GPU_shader.hh"#include "GPU_texture.hh"#include "gpu_shader_create_info.hh"#include "gpu_shader_create_info_private.hh"#include "gpu_shader_dependency_private.hh"#include "compositor_shader_create_info_list.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_INTERFACE_INFO(_interface, _inst_name) |
| #define | GPU_SHADER_CREATE_INFO(_info) |
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) |
| void | gpu_shader_create_info_get_unfinalized_copy (const char *info_name, GPUShaderCreateInfo &r_info) |
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 CreateInfoValueDictionnary * | blender::gpu::shader::g_create_infos_unfinalized = 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_INFO | ( | _info | ) |
| #define GPU_SHADER_INTERFACE_INFO | ( | _interface, | |
| _inst_name ) |
| bool gpu_shader_create_info_compile | ( | const char * | name_starts_with_filter | ) |
Definition at line 619 of file gpu_shader_create_info.cc.
References blender::gpu::shader::g_create_infos, GPU_backend_get_type(), GPU_BACKEND_METAL, GPU_geometry_shader_support(), GPU_shader_create_from_info(), GPU_shader_free(), GPU_SHADER_TFB_NONE, GPU_transform_feedback_support(), ShaderInput::name(), printf, and blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::values().
Referenced by blender::gpu::shader_builder::ShaderBuilder::bake_create_infos(), GPU_shader_compile_static(), and blender::gpu::tests::test_static_shaders().
| void gpu_shader_create_info_exit | ( | ) |
Definition at line 604 of file gpu_shader_create_info.cc.
References blender::gpu::shader::g_create_infos, blender::gpu::shader::g_create_infos_unfinalized, blender::gpu::shader::g_interfaces, 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 create infos are not registered in the dictionary and cannot be searched.
Definition at line 706 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, 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_get_unfinalized_copy | ( | const char * | info_name, |
| GPUShaderCreateInfo & | r_info ) |
Definition at line 716 of file gpu_shader_create_info.cc.
References BLI_assert, BLI_assert_msg, blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::contains(), blender::gpu::shader::ShaderCreateInfo::finalized_, blender::gpu::shader::g_create_infos_unfinalized, and blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup().
Referenced by GPU_shader_create_info_get_unfinalized_copy().
| void gpu_shader_create_info_init | ( | ) |
Definition at line 451 of file gpu_shader_create_info.cc.
References blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_new(), draw_modelmat, draw_resource_id_new, eevee_shadow_data, blender::gpu::shader::g_create_infos, blender::gpu::shader::g_create_infos_unfinalized, blender::gpu::shader::g_interfaces, GPU_ARCHITECTURE_TBDR, GPU_BACKEND_METAL, GPU_BACKEND_OPENGL, GPU_crappy_amd_driver(), GPU_DEVICE_ANY, GPU_DEVICE_INTEL, GPU_DEVICE_INTEL_UHD, GPU_DRIVER_ANY, GPU_OS_ANY, GPU_OS_MAC, GPU_platform_architecture(), 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(), GPU_type_matches_ex(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::items(), and blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::values().
Referenced by GPU_init().