|
Blender V4.5
|
Classes | |
| struct | CompilationConstant |
| class | GPUCodegen |
| struct | GPUCodegenCreateInfo |
| struct | PrintfFormat |
| struct | ShaderCreateInfo |
| Describe inputs & outputs, stage interfaces, resources and sources of a shader. If all data is correctly provided, this is all that is needed to create and compile a #GPUShader. More... | |
| struct | SpecializationConstant |
| struct | SpecializationConstants |
| struct | StageInterfaceInfo |
Typedefs | |
| using | CreateInfoDictionnary = Map<StringRef, ShaderCreateInfo *> |
| using | InterfaceDictionnary = Map<StringRef, StageInterfaceInfo *> |
Variables | |
| static CreateInfoDictionnary * | g_create_infos = nullptr |
| static InterfaceDictionnary * | g_interfaces = nullptr |
Definition at line 35 of file gpu_shader_create_info.cc.
Definition at line 36 of file gpu_shader_create_info.cc.
|
strong |
Definition at line 396 of file gpu_shader_create_info.hh.
|
strong |
Follow convention described in: https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_conservative_depth.txt
| Enumerator | |
|---|---|
| UNCHANGED | |
| ANY | |
| GREATER | |
| LESS | |
Definition at line 444 of file gpu_shader_create_info.hh.
|
strong |
Dual Source Blending Index.
| Enumerator | |
|---|---|
| NONE | |
| SRC_0 | |
| SRC_1 | |
Definition at line 546 of file gpu_shader_create_info.hh.
|
strong |
Maps to different descriptor sets.
| Enumerator | |
|---|---|
| BATCH | |
| PASS | |
| GEOMETRY | Special frequency tag that will automatically source storage buffers from GPUBatch. |
Definition at line 538 of file gpu_shader_create_info.hh.
|
strong |
Definition at line 495 of file gpu_shader_create_info.hh.
|
strong |
Definition at line 453 of file gpu_shader_create_info.hh.
|
strong |
Interpolation qualifiers.
| Enumerator | |
|---|---|
| SMOOTH | |
| FLAT | |
| NO_PERSPECTIVE | |
Definition at line 553 of file gpu_shader_create_info.hh.
|
strong |
Input layout for geometry shader.
| Enumerator | |
|---|---|
| POINTS | |
| LINES | |
| LINES_ADJACENCY | |
| TRIANGLES | |
| TRIANGLES_ADJACENCY | |
Definition at line 560 of file gpu_shader_create_info.hh.
|
strong |
Output layout for geometry shader.
| Enumerator | |
|---|---|
| POINTS | |
| LINE_STRIP | |
| TRIANGLE_STRIP | |
| LINES | |
| TRIANGLES | |
Definition at line 569 of file gpu_shader_create_info.hh.
|
strong |
| Enumerator | |
|---|---|
| no_restrict | Restrict flag is set by default. Unless specified otherwise. |
| read | |
| write | |
| read_write | Shorthand version of combined flags. |
| QUALIFIER_MAX | |
Definition at line 526 of file gpu_shader_create_info.hh.
|
strong |
Definition at line 79 of file GPU_common_types.hh.
| blender::gpu::shader::ENUM_OPERATORS | ( | BuiltinBits | , |
| BuiltinBits::USE_DEBUG_DRAW | ) |
| blender::gpu::shader::ENUM_OPERATORS | ( | Qualifier | , |
| Qualifier::QUALIFIER_MAX | ) |
| bool blender::gpu::shader::gpu_shader_dependency_force_gpu_print_injection | ( | ) |
Referenced by gpu_shader_create_info_init().
| BuiltinBits blender::gpu::shader::gpu_shader_dependency_get_builtins | ( | const StringRefNull | source_name | ) |
Referenced by gpu_shader_create_info_init().
| StringRefNull blender::gpu::shader::gpu_shader_dependency_get_filename_from_source_string | ( | StringRef | source_string | ) |
Find the name of the file from which the given string was generated.
Referenced by blender::gpu::GLSource::GLSource(), and blender::gpu::Shader::print_log().
| const PrintfFormat & blender::gpu::shader::gpu_shader_dependency_get_printf_format | ( | uint32_t | format_hash | ) |
Referenced by blender::gpu::printf_end().
| Vector< StringRefNull > blender::gpu::shader::gpu_shader_dependency_get_resolved_source | ( | StringRefNull | source_name | ) |
Referenced by blender::gpu::shader::GPUCodegen::generate_library().
| StringRefNull blender::gpu::shader::gpu_shader_dependency_get_source | ( | StringRefNull | source_name | ) |
Referenced by blender::gpu::tests::gpu_shader_lib_test().
| bool blender::gpu::shader::gpu_shader_dependency_has_printf | ( | ) |
Referenced by blender::gpu::printf_begin().
|
static |
Definition at line 46 of file gpu_shader_create_info.cc.
References FLAT, blender::gpu::shader::StageInterfaceInfo::inouts, blender::gpu::shader::StageInterfaceInfo::instance_name, blender::StringRefBase::is_empty(), blender::gpu::shader::StageInterfaceInfo::name, NO_PERSPECTIVE, and SMOOTH.
Referenced by blender::gpu::shader::ShaderCreateInfo::is_vulkan_compatible().
|
inlinestatic |
Definition at line 386 of file gpu_shader_create_info.hh.
References GPU_CLOSURE, and to_type().
|
inlinestatic |
Definition at line 313 of file gpu_shader_create_info.hh.
References BLI_assert, bool_t, char2_t, char3_t, char4_t, char_t, float2_t, float3_10_10_10_2_t, float3_t, float3x3_t, float4_t, float4x4_t, float_t, int2_t, int3_t, int4_t, int_t, short2_t, short3_t, short4_t, short_t, uchar2_t, uchar3_t, uchar4_t, uchar_t, uint2_t, uint3_t, uint4_t, uint_t, ushort2_t, ushort3_t, ushort4_t, and ushort_t.
| BLI_INLINE int blender::gpu::shader::to_component_count | ( | const Type & | type | ) |
Definition at line 121 of file GPU_common_types.hh.
References BLI_assert_unreachable, bool_t, char2_t, char3_t, char4_t, char_t, float2_t, float3_10_10_10_2_t, float3_t, float3x3_t, float4_t, float4x4_t, float_t, int2_t, int3_t, int4_t, int_t, short2_t, short3_t, short4_t, short_t, uchar2_t, uchar3_t, uchar4_t, uchar_t, uint2_t, uint3_t, uint4_t, uint_t, ushort2_t, ushort3_t, ushort4_t, and ushort_t.
Referenced by blender::gpu::GLShader::fragment_interface_declare(), blender::gpu::VKShader::fragment_interface_declare(), and blender::gpu::MSLGeneratorInterface::generate_msl_fragment_tile_input_population().
Definition at line 292 of file gpu_shader_create_info.hh.
References BLI_assert_msg, float2_t, float3_t, float3x3_t, float4_t, float4x4_t, float_t, GPU_FLOAT, GPU_MAT3, GPU_MAT4, GPU_VEC2, GPU_VEC3, and GPU_VEC4.
Referenced by blender::nodes::build_implicit_conversion_lazy_function(), blender::nodes::materialx::NodeItem::convert(), blender::gpu::shader::GPUCodegen::generate_attribs(), blender::nodes::materialx::NodeParser::get_input_default(), blender::nodes::materialx::NodeParser::get_input_default(), blender::nodes::materialx::NodeParser::get_input_link(), blender::nodes::materialx::NodeParser::get_input_link(), blender::nodes::materialx::NodeParser::get_input_value(), blender::nodes::materialx::NodeParser::get_input_value(), blender::nodes::materialx::NodeParser::get_output_default(), blender::nodes::materialx::NodeParser::get_output_default(), blender::nodes::materialx::NodeItem::if_else(), blender::nodes::implicitly_convert_socket_value(), blender::nodes::materialx::NodeItem::is_convertible(), blender::nodes::materialx::NodeItem::mix(), blender::nodes::materialx::NodeParser::node_name(), operator<<(), blender::nodes::materialx::NodeGraph::NodeKey::operator==(), blender::nodes::materialx::NodeItem::operator==(), and blender::nodes::materialx::NodeGraph::unique_node_name().
|
static |
Definition at line 38 of file gpu_shader_create_info.cc.
Referenced by gpu_shader_create_info_compile(), gpu_shader_create_info_exit(), gpu_shader_create_info_get(), and gpu_shader_create_info_init().
|
static |
Definition at line 39 of file gpu_shader_create_info.cc.
Referenced by gpu_shader_create_info_exit(), and gpu_shader_create_info_init().