|
Blender V4.3
|
Classes | |
| 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 | StageInterfaceInfo |
Typedefs | |
| using | CreateInfoDictionnary = Map<StringRef, ShaderCreateInfo *> |
| using | CreateInfoValueDictionnary = Map<StringRef, ShaderCreateInfo> |
| using | InterfaceDictionnary = Map<StringRef, StageInterfaceInfo *> |
Variables | |
| static CreateInfoDictionnary * | g_create_infos = nullptr |
| static CreateInfoValueDictionnary * | g_create_infos_unfinalized = nullptr |
| static InterfaceDictionnary * | g_interfaces = nullptr |
Definition at line 33 of file gpu_shader_create_info.cc.
Definition at line 34 of file gpu_shader_create_info.cc.
Definition at line 35 of file gpu_shader_create_info.cc.
|
strong |
Definition at line 156 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 201 of file gpu_shader_create_info.hh.
|
strong |
Dual Source Blending Index.
| Enumerator | |
|---|---|
| NONE | |
| SRC_0 | |
| SRC_1 | |
Definition at line 282 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 274 of file gpu_shader_create_info.hh.
|
strong |
Definition at line 210 of file gpu_shader_create_info.hh.
|
strong |
Interpolation qualifiers.
| Enumerator | |
|---|---|
| SMOOTH | |
| FLAT | |
| NO_PERSPECTIVE | |
Definition at line 289 of file gpu_shader_create_info.hh.
|
strong |
Input layout for geometry shader.
| Enumerator | |
|---|---|
| POINTS | |
| LINES | |
| LINES_ADJACENCY | |
| TRIANGLES | |
| TRIANGLES_ADJACENCY | |
Definition at line 296 of file gpu_shader_create_info.hh.
|
strong |
Output layout for geometry shader.
| Enumerator | |
|---|---|
| POINTS | |
| LINE_STRIP | |
| TRIANGLE_STRIP | |
| LINES | |
| TRIANGLES | |
Definition at line 305 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 262 of file gpu_shader_create_info.hh.
|
strong |
Definition at line 78 of file GPU_common_types.hh.
| blender::gpu::shader::ENUM_OPERATORS | ( | BuiltinBits | , |
| BuiltinBits::USE_DEBUG_PRINT | ) |
| 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 | ( | const StringRefNull | source_string | ) |
Find the name of the file from which the given string was generated.
Referenced by blender::gpu::MTLShader::compute_shader_from_glsl(), blender::gpu::MTLShader::fragment_shader_from_glsl(), 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< const char * > blender::gpu::shader::gpu_shader_dependency_get_resolved_source | ( | const StringRefNull | source_name | ) |
Referenced by GPUCodegen::generate_library().
| StringRefNull blender::gpu::shader::gpu_shader_dependency_get_source | ( | const 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 146 of file gpu_shader_create_info.hh.
References GPU_CLOSURE, and to_type().
|
inlinestatic |
Definition at line 73 of file gpu_shader_create_info.hh.
References BLI_assert, BOOL, CHAR, CHAR2, CHAR3, CHAR4, FLOAT, INT, IVEC2, IVEC3, IVEC4, MAT3, MAT4, SHORT, SHORT2, SHORT3, SHORT4, UCHAR, UCHAR2, UCHAR3, UCHAR4, UINT, USHORT, USHORT2, USHORT3, USHORT4, UVEC2, UVEC3, UVEC4, VEC2, VEC3, VEC3_101010I2, and VEC4.
| BLI_INLINE int blender::gpu::shader::to_component_count | ( | const Type & | type | ) |
Definition at line 120 of file GPU_common_types.hh.
References BLI_assert_unreachable, BOOL, CHAR, CHAR2, CHAR3, CHAR4, FLOAT, INT, IVEC2, IVEC3, IVEC4, MAT3, MAT4, SHORT, SHORT2, SHORT3, SHORT4, UCHAR, UCHAR2, UCHAR3, UCHAR4, UINT, USHORT, USHORT2, USHORT3, USHORT4, UVEC2, UVEC3, UVEC4, VEC2, VEC3, VEC3_101010I2, and VEC4.
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 52 of file gpu_shader_create_info.hh.
References BLI_assert_msg, FLOAT, GPU_FLOAT, GPU_MAT3, GPU_MAT4, GPU_VEC2, GPU_VEC3, GPU_VEC4, MAT3, MAT4, VEC2, VEC3, and VEC4.
Referenced by blender::nodes::materialx::NodeItem::convert(), 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::materialx::NodeItem::mix(), operator<<(), and blender::nodes::materialx::NodeItem::operator==().
|
static |
Definition at line 37 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 38 of file gpu_shader_create_info.cc.
Referenced by gpu_shader_create_info_exit(), gpu_shader_create_info_get_unfinalized_copy(), 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().