Blender
V3.3
|
Classes | |
struct | StageInterfaceInfo |
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... | |
Typedefs | |
using | CreateInfoDictionnary = Map< StringRef, ShaderCreateInfo * > |
using | InterfaceDictionnary = Map< StringRef, StageInterfaceInfo * > |
Functions | |
static Type | to_type (const eGPUType type) |
static std::ostream & | operator<< (std::ostream &stream, const Type type) |
static std::ostream & | operator<< (std::ostream &stream, const eGPUType type) |
ENUM_OPERATORS (BuiltinBits, BuiltinBits::WORK_GROUP_SIZE) | |
ENUM_OPERATORS (Qualifier, Qualifier::QUALIFIER_MAX) | |
BuiltinBits | gpu_shader_dependency_get_builtins (const StringRefNull shader_source_name) |
Vector< const char * > | gpu_shader_dependency_get_resolved_source (const StringRefNull shader_source_name) |
StringRefNull | gpu_shader_dependency_get_source (const StringRefNull shader_source_name) |
StringRefNull | gpu_shader_dependency_get_filename_from_source_string (const StringRefNull source_string) |
Variables | |
static CreateInfoDictionnary * | g_create_infos = nullptr |
static InterfaceDictionnary * | g_interfaces = nullptr |
using blender::gpu::shader::CreateInfoDictionnary = typedef Map<StringRef, ShaderCreateInfo *> |
Definition at line 28 of file gpu_shader_create_info.cc.
using blender::gpu::shader::InterfaceDictionnary = typedef Map<StringRef, StageInterfaceInfo *> |
Definition at line 29 of file gpu_shader_create_info.cc.
|
strong |
Definition at line 105 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 | |
---|---|
ANY | |
GREATER | |
LESS | |
UNCHANGED |
Definition at line 137 of file gpu_shader_create_info.hh.
|
strong |
Enumerator | |
---|---|
NONE | |
SRC_0 | |
SRC_1 |
Definition at line 200 of file gpu_shader_create_info.hh.
|
strong |
Enumerator | |
---|---|
BATCH | |
PASS |
Definition at line 194 of file gpu_shader_create_info.hh.
|
strong |
Definition at line 145 of file gpu_shader_create_info.hh.
|
strong |
Enumerator | |
---|---|
SMOOTH | |
FLAT | |
NO_PERSPECTIVE |
Definition at line 207 of file gpu_shader_create_info.hh.
|
strong |
Input layout for geometry shader.
Enumerator | |
---|---|
POINTS | |
LINES | |
LINES_ADJACENCY | |
TRIANGLES | |
TRIANGLES_ADJACENCY |
Definition at line 214 of file gpu_shader_create_info.hh.
|
strong |
Output layout for geometry shader.
Enumerator | |
---|---|
POINTS | |
LINE_STRIP | |
TRIANGLE_STRIP |
Definition at line 223 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 183 of file gpu_shader_create_info.hh.
|
strong |
Enumerator | |
---|---|
FLOAT | |
VEC2 | |
VEC3 | |
VEC4 | |
MAT3 | |
MAT4 | |
UINT | |
UVEC2 | |
UVEC3 | |
UVEC4 | |
INT | |
IVEC2 | |
IVEC3 | |
IVEC4 | |
BOOL |
Definition at line 34 of file gpu_shader_create_info.hh.
blender::gpu::shader::ENUM_OPERATORS | ( | BuiltinBits | , |
BuiltinBits::WORK_GROUP_SIZE | |||
) |
blender::gpu::shader::ENUM_OPERATORS | ( | Qualifier | , |
Qualifier::QUALIFIER_MAX | |||
) |
BuiltinBits blender::gpu::shader::gpu_shader_dependency_get_builtins | ( | const StringRefNull | shader_source_name | ) |
Definition at line 653 of file gpu_shader_dependency.cc.
References BLI_assert, blender::gpu::GPUSource::builtins_get(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::contains(), g_sources, blender::StringRefBase::is_empty(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup(), and NONE.
Referenced by gpu_shader_create_info_init().
StringRefNull blender::gpu::shader::gpu_shader_dependency_get_filename_from_source_string | ( | const StringRefNull | source_string | ) |
Definition at line 689 of file gpu_shader_dependency.cc.
References blender::StringRefNull::c_str(), g_sources, and blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::values().
Referenced by blender::gpu::Shader::print_log().
Vector<const char *> blender::gpu::shader::gpu_shader_dependency_get_resolved_source | ( | const StringRefNull | shader_source_name | ) |
Definition at line 668 of file gpu_shader_dependency.cc.
References g_sources, blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_default(), result, and src.
Referenced by GPUCodegen::generate_library(), and GPU_shader_create_from_info().
StringRefNull blender::gpu::shader::gpu_shader_dependency_get_source | ( | const StringRefNull | shader_source_name | ) |
Definition at line 680 of file gpu_shader_dependency.cc.
References g_sources, blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_default(), and src.
Referenced by GPU_shader_create_from_info().
|
inlinestatic |
Definition at line 95 of file gpu_shader_create_info.hh.
References GPU_CLOSURE, to_type(), and type.
|
inlinestatic |
Definition at line 74 of file gpu_shader_create_info.hh.
References BLI_assert, FLOAT, MAT3, MAT4, type, VEC2, VEC3, and VEC4.
Definition at line 53 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, type, VEC2, VEC3, and VEC4.
Referenced by blender::bke::DataTypeConversions::add(), blender::bke::add_implicit_conversion(), blender::bke::DataTypeConversions::convert_to_initialized_n(), blender::bke::DataTypeConversions::convert_to_uninitialized(), blender::modifiers::geometry_nodes::GeometryNodesEvaluator::convert_value(), GPUCodegen::generate_attribs(), blender::bke::GVArray_For_ConvertedGVArray::GVArray_For_ConvertedGVArray(), blender::bke::GVMutableArray_For_ConvertedGVMutableArray::GVMutableArray_For_ConvertedGVMutableArray(), blender::bke::DataTypeConversions::is_convertible(), operator<<(), blender::geometry::prepare_attribute_fallbacks(), blender::bke::try_adapt_data_type(), and blender::bke::DataTypeConversions::try_convert().
|
static |
Definition at line 31 of file gpu_shader_create_info.cc.
Referenced by gpu_shader_create_info_compile_all(), gpu_shader_create_info_exit(), gpu_shader_create_info_get(), and gpu_shader_create_info_init().
|
static |
Definition at line 32 of file gpu_shader_create_info.cc.
Referenced by gpu_shader_create_info_exit(), and gpu_shader_create_info_init().