|
Blender V4.3
|
#include <mtl_shader_generator.hh>
Definition at line 403 of file mtl_shader_generator.hh.
|
inline |
Definition at line 489 of file mtl_shader_generator.hh.
| MTLShaderInterface * blender::gpu::MSLGeneratorInterface::bake_shader_interface | ( | const char * | name, |
| const shader::ShaderCreateInfo * | info = nullptr ) |
Definition at line 3715 of file mtl_shader_generator.mm.
References attribute, blender::gpu::COMPUTE, constants, blender::gpu::FRAGMENT, blender::gpu::get_matrix_location_count(), blender::gpu::get_matrix_subtype(), get_sampler_argument_buffer_bind_index(), blender::gpu::MTLShaderInterface::init(), blender::gpu::is_matrix_type(), MEM_mallocN, MEM_reallocN, blender::gpu::mtl_datatype_to_vertex_type(), mtl_get_data_type_size(), blender::gpu::name_buffer_copystr(), shader_debug_printf, size(), storage_blocks, texture_samplers, blender::gpu::to_mtl_type(), uniform_blocks, uniforms, use_argument_buffer_for_samplers(), uses_ssbo_vertex_fetch_mode, blender::gpu::VERTEX, and vertex_input_attributes.
| std::string blender::gpu::MSLGeneratorInterface::generate_msl_compute_entry_stub | ( | ) |
Definition at line 2417 of file mtl_shader_generator.mm.
References blender::gpu::COMPUTE, generate_msl_compute_inputs_string(), generate_msl_global_uniform_population(), generate_msl_texture_vars(), generate_msl_uniform_block_population(), generate_msl_uniform_undefs(), blender::gpu::get_shader_stage_instance_name(), blender::gpu::get_stage_class_name(), blender::gpu::Shader::name_get(), shared_memory_blocks, uses_gl_GlobalInvocationID, uses_gl_LocalInvocationID, uses_gl_LocalInvocationIndex, uses_gl_NumWorkGroups, and uses_gl_WorkGroupID.
| std::string blender::gpu::MSLGeneratorInterface::generate_msl_compute_inputs_string | ( | ) |
Definition at line 2703 of file mtl_shader_generator.mm.
References blender::gpu::COMPUTE, generate_msl_textures_input_string(), generate_msl_uniforms_input_string(), blender::gpu::get_stage_class_name(), blender::gpu::parameter_delimiter(), uniforms, uses_gl_GlobalInvocationID, uses_gl_LocalInvocationID, uses_gl_LocalInvocationIndex, uses_gl_NumWorkGroups, and uses_gl_WorkGroupID.
Referenced by generate_msl_compute_entry_stub().
| std::string blender::gpu::MSLGeneratorInterface::generate_msl_fragment_entry_stub | ( | ) |
Definition at line 2338 of file mtl_shader_generator.mm.
References blender::gpu::FRAGMENT, FRAGMENT_OUT_STRUCT_NAME, fragment_tile_inputs, generate_msl_fragment_input_population(), generate_msl_fragment_inputs_string(), generate_msl_fragment_output_population(), generate_msl_fragment_tile_input_population(), generate_msl_global_uniform_population(), generate_msl_texture_vars(), generate_msl_uniform_block_population(), generate_msl_uniform_undefs(), blender::gpu::get_shader_stage_instance_name(), blender::gpu::get_stage_class_name(), blender::gpu::Shader::name_get(), uses_barycentrics, uses_early_fragment_test, uses_gl_FrontFacing, uses_gl_PointCoord, and uses_gl_PrimitiveID.
| std::string blender::gpu::MSLGeneratorInterface::generate_msl_fragment_input_population | ( | ) |
Definition at line 3408 of file mtl_shader_generator.mm.
References count, blender::gpu::FRAGMENT, fragment_input_varyings, blender::gpu::get_matrix_location_count(), blender::gpu::get_shader_stage_instance_name(), blender::gpu::is_matrix_type(), shader_debug_printf, uses_gl_FragDepth, uses_gl_Position, uses_gpu_layer, uses_gpu_viewport_index, and vertex_output_varyings.
Referenced by generate_msl_fragment_entry_stub().
| std::string blender::gpu::MSLGeneratorInterface::generate_msl_fragment_inputs_string | ( | ) |
Definition at line 2657 of file mtl_shader_generator.mm.
References blender::gpu::FRAGMENT, FRAGMENT_TILE_IN_STRUCT_NAME, fragment_tile_inputs, generate_msl_textures_input_string(), generate_msl_uniforms_input_string(), blender::gpu::get_stage_class_name(), blender::gpu::parameter_delimiter(), uniforms, uses_barycentrics, uses_gl_FrontFacing, uses_gl_PointCoord, and uses_gl_PrimitiveID.
Referenced by generate_msl_fragment_entry_stub().
| std::string blender::gpu::MSLGeneratorInterface::generate_msl_fragment_output_population | ( | ) |
Definition at line 3524 of file mtl_shader_generator.mm.
References blender::gpu::FRAGMENT, fragment_outputs, blender::gpu::get_shader_stage_instance_name(), uses_gl_FragDepth, and uses_gl_FragStencilRefARB.
Referenced by generate_msl_fragment_entry_stub().
| std::string blender::gpu::MSLGeneratorInterface::generate_msl_fragment_struct | ( | bool | is_input | ) |
Definition at line 3046 of file mtl_shader_generator.mm.
References depth_write, FRAGMENT_OUT_STRUCT_NAME, fragment_outputs, FRAGMENT_TILE_IN_STRUCT_NAME, fragment_tile_inputs, blender::gpu::to_string(), uses_gl_FragDepth, and uses_gl_FragStencilRefARB.
| std::string blender::gpu::MSLGeneratorInterface::generate_msl_fragment_tile_input_population | ( | ) |
Definition at line 3105 of file mtl_shader_generator.mm.
References blender::gpu::shader::ShaderCreateInfo::builtins_, blender::gpu::FRAGMENT, fragment_tile_inputs, blender::gpu::get_shader_stage_instance_name(), supports_native_tile_inputs, and blender::gpu::shader::to_component_count().
Referenced by generate_msl_fragment_entry_stub().
| std::string blender::gpu::MSLGeneratorInterface::generate_msl_global_uniform_population | ( | ShaderStage | stage | ) |
Definition at line 3089 of file mtl_shader_generator.mm.
References blender::gpu::get_shader_stage_instance_name(), stage, and uniforms.
Referenced by generate_msl_compute_entry_stub(), generate_msl_fragment_entry_stub(), and generate_msl_vertex_entry_stub().
| std::string blender::gpu::MSLGeneratorInterface::generate_msl_texture_vars | ( | ShaderStage | shader_stage | ) |
Definition at line 3553 of file mtl_shader_generator.mm.
References BLI_assert, blender::gpu::COMPUTE, ELEM, blender::gpu::FRAGMENT, blender::gpu::get_shader_stage_instance_name(), blender::gpu::MSLBufferBlock::name, stage, storage_blocks, texture_samplers, use_argument_buffer_for_samplers(), and blender::gpu::VERTEX.
Referenced by generate_msl_compute_entry_stub(), generate_msl_fragment_entry_stub(), and generate_msl_vertex_entry_stub().
| void blender::gpu::MSLGeneratorInterface::generate_msl_textures_input_string | ( | std::stringstream & | out, |
| ShaderStage | stage, | ||
| bool & | is_first_parameter ) |
Definition at line 2511 of file mtl_shader_generator.mm.
References BLI_assert, blender::gpu::COMPUTE, blender::gpu::FRAGMENT, get_sampler_argument_buffer_bind_index(), GPU_max_textures_vert(), MTL_MAX_DEFAULT_SAMPLERS, blender::gpu::parameter_delimiter(), shader_debug_printf, stage, tex, texture_samplers, use_argument_buffer_for_samplers(), and blender::gpu::VERTEX.
Referenced by generate_msl_compute_inputs_string(), generate_msl_fragment_inputs_string(), and generate_msl_vertex_inputs_string().
| std::string blender::gpu::MSLGeneratorInterface::generate_msl_uniform_block_population | ( | ShaderStage | stage | ) |
Definition at line 3137 of file mtl_shader_generator.mm.
References blender::gpu::get_shader_stage_instance_name(), stage, storage_blocks, and uniform_blocks.
Referenced by generate_msl_compute_entry_stub(), generate_msl_fragment_entry_stub(), and generate_msl_vertex_entry_stub().
| std::string blender::gpu::MSLGeneratorInterface::generate_msl_uniform_structs | ( | ShaderStage | shader_stage | ) |
Definition at line 2743 of file mtl_shader_generator.mm.
References BLI_assert, blender::gpu::FRAGMENT, blender::gpu::to_string(), uniforms, UNUSED_VARS_NDEBUG, and blender::gpu::VERTEX.
| std::string blender::gpu::MSLGeneratorInterface::generate_msl_uniform_undefs | ( | ShaderStage | stage | ) |
Definition at line 2781 of file mtl_shader_generator.mm.
References storage_blocks, uniform_blocks, and uniforms.
Referenced by generate_msl_compute_entry_stub(), generate_msl_fragment_entry_stub(), and generate_msl_vertex_entry_stub().
| void blender::gpu::MSLGeneratorInterface::generate_msl_uniforms_input_string | ( | std::stringstream & | out, |
| ShaderStage | stage, | ||
| bool & | is_first_parameter ) |
Definition at line 2558 of file mtl_shader_generator.mm.
References blender::gpu::get_stage_class_name(), blender::gpu::is_builtin_type(), blender::gpu::parameter_delimiter(), stage, storage_blocks, uniform_blocks, and blender::gpu::shader::WRITE.
Referenced by generate_msl_compute_inputs_string(), generate_msl_fragment_inputs_string(), and generate_msl_vertex_inputs_string().
| std::string blender::gpu::MSLGeneratorInterface::generate_msl_vertex_attribute_input_population | ( | ) |
Definition at line 3183 of file mtl_shader_generator.mm.
References attribute, BLI_assert, blender::gpu::get_attribute_conversion_function(), blender::gpu::get_matrix_location_count(), blender::gpu::get_shader_stage_instance_name(), blender::gpu::is_matrix_type(), MTL_SSBO_VERTEX_FETCH_MAX_VBOS, uses_ssbo_vertex_fetch_mode, blender::gpu::VERTEX, and vertex_input_attributes.
Referenced by generate_msl_vertex_entry_stub().
| std::string blender::gpu::MSLGeneratorInterface::generate_msl_vertex_entry_stub | ( | ) |
Definition at line 2254 of file mtl_shader_generator.mm.
References generate_msl_global_uniform_population(), generate_msl_texture_vars(), generate_msl_uniform_block_population(), generate_msl_uniform_undefs(), generate_msl_vertex_attribute_input_population(), generate_msl_vertex_inputs_string(), generate_msl_vertex_output_population(), generate_msl_vertex_output_tf_population(), blender::gpu::get_shader_stage_instance_name(), blender::gpu::get_stage_class_name(), blender::gpu::Shader::name_get(), uses_gl_BaseInstanceARB, uses_gl_InstanceID, uses_gl_VertexID, uses_transform_feedback, and blender::gpu::VERTEX.
| std::string blender::gpu::MSLGeneratorInterface::generate_msl_vertex_in_struct | ( | ) |
Definition at line 2800 of file mtl_shader_generator.mm.
References blender::gpu::get_matrix_location_count(), blender::gpu::get_matrix_subtype(), blender::gpu::is_matrix_type(), uses_ssbo_vertex_fetch_mode, and vertex_input_attributes.
| std::string blender::gpu::MSLGeneratorInterface::generate_msl_vertex_inputs_string | ( | ) |
Definition at line 2599 of file mtl_shader_generator.mm.
References generate_msl_textures_input_string(), generate_msl_uniforms_input_string(), blender::gpu::get_stage_class_name(), MTL_SSBO_VERTEX_FETCH_MAX_VBOS, blender::gpu::parameter_delimiter(), uniforms, uses_gl_BaseInstanceARB, uses_gl_InstanceID, uses_gl_VertexID, uses_ssbo_vertex_fetch_mode, uses_transform_feedback, blender::gpu::VERTEX, and vertex_input_attributes.
Referenced by generate_msl_vertex_entry_stub().
| std::string blender::gpu::MSLGeneratorInterface::generate_msl_vertex_out_struct | ( | ShaderStage | shader_stage | ) |
Definition at line 2840 of file mtl_shader_generator.mm.
References BLI_assert, clip_distances, blender::gpu::FRAGMENT, blender::gpu::get_matrix_location_count(), blender::gpu::get_matrix_subtype(), blender::gpu::is_matrix_type(), blender::Vector< T, InlineBufferCapacity, Allocator >::size(), uses_gl_PointSize, uses_gl_Position, uses_gpu_layer, uses_gpu_viewport_index, uses_transform_feedback, blender::gpu::VERTEX, and vertex_output_varyings.
| std::string blender::gpu::MSLGeneratorInterface::generate_msl_vertex_output_population | ( | ) |
Definition at line 3270 of file mtl_shader_generator.mm.
References clip_distances, blender::gpu::get_matrix_location_count(), blender::gpu::get_shader_stage_instance_name(), blender::gpu::is_matrix_type(), blender::Vector< T, InlineBufferCapacity, Allocator >::size(), uses_gl_PointSize, uses_gl_Position, uses_gpu_layer, uses_gpu_viewport_index, uses_transform_feedback, blender::gpu::VERTEX, and vertex_output_varyings.
Referenced by generate_msl_vertex_entry_stub().
| std::string blender::gpu::MSLGeneratorInterface::generate_msl_vertex_output_tf_population | ( | ) |
Definition at line 3389 of file mtl_shader_generator.mm.
References blender::gpu::get_shader_stage_instance_name(), blender::gpu::VERTEX, and vertex_output_varyings_tf.
Referenced by generate_msl_vertex_entry_stub().
| std::string blender::gpu::MSLGeneratorInterface::generate_msl_vertex_transform_feedback_out_struct | ( | ShaderStage | shader_stage | ) |
Definition at line 2967 of file mtl_shader_generator.mm.
References BLI_assert, blender::gpu::FRAGMENT, blender::gpu::get_matrix_location_count(), blender::gpu::get_matrix_subtype(), blender::gpu::MTLShader::has_transform_feedback_varying(), blender::gpu::is_matrix_type(), UNUSED_VARS_NDEBUG, uses_gl_Position, uses_transform_feedback, blender::gpu::VERTEX, vertex_output_varyings, and vertex_output_varyings_tf.
| std::string blender::gpu::MSLGeneratorInterface::generate_ubo_block_macro_chain | ( | MSLBufferBlock | block | ) |
| std::string blender::gpu::MSLGeneratorInterface::generate_ubo_block_undef_chain | ( | ShaderStage | stage | ) |
| uint32_t blender::gpu::MSLGeneratorInterface::get_sampler_argument_buffer_bind_index | ( | ShaderStage | stage | ) |
Definition at line 2218 of file mtl_shader_generator.mm.
References BLI_assert, blender::gpu::COMPUTE, blender::gpu::FRAGMENT, blender::gpu::get_shader_stage_index(), max_buffer_slot, sampler_argument_buffer_bind_index, stage, and blender::gpu::VERTEX.
Referenced by bake_shader_interface(), and generate_msl_textures_input_string().
| uint32_t blender::gpu::MSLGeneratorInterface::max_sampler_index_for_stage | ( | ShaderStage | stage | ) | const |
Definition at line 2211 of file mtl_shader_generator.mm.
References max_tex_bind_index.
| blender::gpu::MSLGeneratorInterface::MEM_CXX_CLASS_ALLOC_FUNCS | ( | "MSLGeneratorInterface" | ) |
| char * blender::gpu::MSLGeneratorInterface::msl_patch_default_get | ( | ) |
Definition at line 862 of file mtl_shader_generator.mm.
References datatoc_mtl_shader_defines_msl, datatoc_mtl_shader_shared_h, and len.
| uint32_t blender::gpu::MSLGeneratorInterface::num_samplers_for_stage | ( | ShaderStage | stage | ) | const |
Definition at line 2204 of file mtl_shader_generator.mm.
References texture_samplers.
| void blender::gpu::MSLGeneratorInterface::prepare_from_createinfo | ( | const shader::ShaderCreateInfo * | info | ) |
Prepare MSLGeneratorInterface from create-info.
Assign info.
Prepare Uniforms.
Prepare Constants.
Vertex Inputs.
Fragment outputs.
Identify support for tile inputs.
Definition at line 1832 of file mtl_shader_generator.mm.
References blender::gpu::MSLTextureResource::access, blender::gpu::ANY, blender::gpu::shader::ShaderCreateInfo::auto_resource_location_, BLI_assert, blender::gpu::shader::ShaderCreateInfo::builtins_, blender::gpu::COMPUTE, constants, ELEM, blender::gpu::FRAGMENT, fragment_outputs, blender::gpu::shader::ShaderCreateInfo::fragment_outputs_, fragment_tile_inputs, blender::gpu::MTLBackend::get_capabilities(), GPU_ARCHITECTURE_TBDR, GPU_platform_architecture(), GPU_SHADER_TFB_NONE, blender::gpu::shader::ShaderCreateInfo::Resource::IMAGE, blender::gpu::MSLBufferBlock::is_array, blender::gpu::MSLBufferBlock::is_texture_buffer, blender::gpu::MSLTextureResource::is_texture_sampler, blender::gpu::shader::IVEC4, blender::gpu::MSLFragmentOutputAttribute::layout_index, blender::gpu::MSLFragmentOutputAttribute::layout_location, blender::gpu::MSLVertexInputAttribute::layout_location, blender::gpu::MSLBufferBlock::location, blender::gpu::MSLTextureResource::location, max_buffer_slot, max_ii(), max_tex_bind_index, max_uu(), MTL_MAX_BUFFER_BINDINGS, MTL_MAX_TEXTURE_SLOTS, blender::gpu::MSLBufferBlock::name, blender::gpu::MSLFragmentOutputAttribute::name, blender::gpu::MSLTextureResource::name, blender::gpu::MSLVertexInputAttribute::name, push_constant(), blender::gpu::shader::ShaderCreateInfo::push_constants_, blender::gpu::MSLBufferBlock::qualifiers, blender::gpu::MSLFragmentOutputAttribute::raster_order_group, blender::gpu::shader::READ, resolve_input_attribute_locations(), blender::gpu::shader::ShaderCreateInfo::resources_get_all_(), blender::gpu::shader::ShaderCreateInfo::Resource::SAMPLER, blender::Vector< T, InlineBufferCapacity, Allocator >::size(), blender::gpu::MSLBufferBlock::slot, blender::gpu::MSLTextureResource::slot, blender::gpu::shader::ShaderCreateInfo::specialization_constants_, blender::gpu::MSLBufferBlock::stage, blender::gpu::MSLTextureResource::stage, storage_blocks, blender::gpu::shader::ShaderCreateInfo::Resource::STORAGE_BUFFER, blender::gpu::shader::ShaderCreateInfo::subpass_inputs_, supports_native_tile_inputs, tex, blender::gpu::TEXTURE_ACCESS_READ, blender::gpu::TEXTURE_ACCESS_READWRITE, blender::gpu::TEXTURE_ACCESS_SAMPLE, blender::gpu::TEXTURE_ACCESS_WRITE, texture_samplers, blender::gpu::shader::ShaderCreateInfo::tf_names_, blender::gpu::shader::ShaderCreateInfo::tf_type_, blender::gpu::MSLFragmentOutputAttribute::type, blender::gpu::MSLTextureResource::type, blender::gpu::MSLVertexInputAttribute::type, Tex::type, blender::gpu::MSLBufferBlock::type_name, uniform_blocks, blender::gpu::shader::ShaderCreateInfo::Resource::UNIFORM_BUFFER, uniforms, UNUSED_VARS_NDEBUG, uses_transform_feedback, vertex_input_attributes, and blender::gpu::shader::ShaderCreateInfo::vertex_inputs_.
| void blender::gpu::MSLGeneratorInterface::prepare_ssbo_vertex_fetch_uniforms | ( | ) |
Definition at line 2233 of file mtl_shader_generator.mm.
References BLI_assert, UNIFORM_SSBO_FETCHMODE_STR, UNIFORM_SSBO_INDEX_BASE_STR, UNIFORM_SSBO_INDEX_MODE_U16_STR, UNIFORM_SSBO_INPUT_PRIM_TYPE_STR, UNIFORM_SSBO_INPUT_VERT_COUNT_STR, UNIFORM_SSBO_OFFSET_STR, UNIFORM_SSBO_STRIDE_STR, UNIFORM_SSBO_TYPE_STR, UNIFORM_SSBO_USES_INDEXED_RENDERING_STR, UNIFORM_SSBO_VBO_ID_STR, uniforms, uses_ssbo_vertex_fetch_mode, and vertex_input_attributes.
| void blender::gpu::MSLGeneratorInterface::resolve_fragment_output_locations | ( | ) |
Definition at line 3664 of file mtl_shader_generator.mm.
References BLI_assert_msg, and fragment_outputs.
| void blender::gpu::MSLGeneratorInterface::resolve_input_attribute_locations | ( | ) |
Definition at line 3611 of file mtl_shader_generator.mm.
References BLI_assert, blender::gpu::get_matrix_location_count(), GPU_VERT_ATTR_MAX_LEN, MTL_LOG_ERROR, and vertex_input_attributes.
Referenced by prepare_from_createinfo().
| bool blender::gpu::MSLGeneratorInterface::use_argument_buffer_for_samplers | ( | ) | const |
Definition at line 2178 of file mtl_shader_generator.mm.
References GPU_max_samplers(), max_tex_bind_index, MTL_LOG_WARNING, blender::gpu::Shader::name_get(), and texture_samplers.
Referenced by bake_shader_interface(), generate_msl_texture_vars(), and generate_msl_textures_input_string().
| blender::Vector<char> blender::gpu::MSLGeneratorInterface::clip_distances |
Definition at line 428 of file mtl_shader_generator.hh.
Referenced by blender::gpu::extract_and_replace_clipping_distances(), generate_msl_vertex_out_struct(), and generate_msl_vertex_output_population().
| blender::Vector<MSLConstant> blender::gpu::MSLGeneratorInterface::constants |
Definition at line 416 of file mtl_shader_generator.hh.
Referenced by bake_shader_interface(), and prepare_from_createinfo().
| shader::DepthWrite blender::gpu::MSLGeneratorInterface::depth_write |
Definition at line 467 of file mtl_shader_generator.hh.
Referenced by generate_msl_fragment_struct().
| blender::Vector<MSLVertexOutputAttribute> blender::gpu::MSLGeneratorInterface::fragment_input_varyings |
Definition at line 423 of file mtl_shader_generator.hh.
Referenced by generate_msl_fragment_input_population().
| blender::Vector<MSLFragmentOutputAttribute> blender::gpu::MSLGeneratorInterface::fragment_outputs |
Definition at line 424 of file mtl_shader_generator.hh.
Referenced by generate_msl_fragment_output_population(), generate_msl_fragment_struct(), prepare_from_createinfo(), and resolve_fragment_output_locations().
| blender::Vector<MSLFragmentTileInputAttribute> blender::gpu::MSLGeneratorInterface::fragment_tile_inputs |
Definition at line 418 of file mtl_shader_generator.hh.
Referenced by generate_msl_fragment_entry_stub(), generate_msl_fragment_inputs_string(), generate_msl_fragment_struct(), generate_msl_fragment_tile_input_population(), and prepare_from_createinfo().
| int blender::gpu::MSLGeneratorInterface::max_buffer_slot = 0 |
Definition at line 470 of file mtl_shader_generator.hh.
Referenced by get_sampler_argument_buffer_bind_index(), and prepare_from_createinfo().
| int blender::gpu::MSLGeneratorInterface::max_tex_bind_index = 0 |
Definition at line 432 of file mtl_shader_generator.hh.
Referenced by max_sampler_index_for_stage(), prepare_from_createinfo(), and use_argument_buffer_for_samplers().
| int blender::gpu::MSLGeneratorInterface::sampler_argument_buffer_bind_index[3] = {-1, -1, -1} |
Definition at line 474 of file mtl_shader_generator.hh.
Referenced by get_sampler_argument_buffer_bind_index().
| blender::Vector<MSLSharedMemoryBlock> blender::gpu::MSLGeneratorInterface::shared_memory_blocks |
Definition at line 430 of file mtl_shader_generator.hh.
Referenced by blender::gpu::extract_shared_memory_blocks(), and generate_msl_compute_entry_stub().
| blender::Vector<MSLBufferBlock> blender::gpu::MSLGeneratorInterface::storage_blocks |
Definition at line 410 of file mtl_shader_generator.hh.
Referenced by bake_shader_interface(), generate_msl_texture_vars(), generate_msl_uniform_block_population(), generate_msl_uniform_undefs(), generate_msl_uniforms_input_string(), and prepare_from_createinfo().
| bool blender::gpu::MSLGeneratorInterface::supports_native_tile_inputs |
Definition at line 419 of file mtl_shader_generator.hh.
Referenced by generate_msl_fragment_tile_input_population(), and prepare_from_createinfo().
| blender::Vector<MSLTextureResource> blender::gpu::MSLGeneratorInterface::texture_samplers |
Definition at line 412 of file mtl_shader_generator.hh.
Referenced by bake_shader_interface(), generate_msl_texture_vars(), generate_msl_textures_input_string(), num_samplers_for_stage(), prepare_from_createinfo(), and use_argument_buffer_for_samplers().
| blender::Vector<MSLBufferBlock> blender::gpu::MSLGeneratorInterface::uniform_blocks |
Shader stage input/output binding information. Derived from shader source reflection or GPUShaderCreateInfo.
Definition at line 409 of file mtl_shader_generator.hh.
Referenced by bake_shader_interface(), generate_msl_uniform_block_population(), generate_msl_uniform_undefs(), generate_msl_uniforms_input_string(), and prepare_from_createinfo().
| blender::Vector<MSLUniform> blender::gpu::MSLGeneratorInterface::uniforms |
Definition at line 411 of file mtl_shader_generator.hh.
Referenced by bake_shader_interface(), generate_msl_compute_inputs_string(), generate_msl_fragment_inputs_string(), generate_msl_global_uniform_population(), generate_msl_uniform_structs(), generate_msl_uniform_undefs(), generate_msl_vertex_inputs_string(), prepare_from_createinfo(), and prepare_ssbo_vertex_fetch_uniforms().
| bool blender::gpu::MSLGeneratorInterface::uses_barycentrics |
Definition at line 455 of file mtl_shader_generator.hh.
Referenced by generate_msl_fragment_entry_stub(), and generate_msl_fragment_inputs_string().
| bool blender::gpu::MSLGeneratorInterface::uses_early_fragment_test |
Definition at line 464 of file mtl_shader_generator.hh.
Referenced by generate_msl_fragment_entry_stub().
| bool blender::gpu::MSLGeneratorInterface::uses_gl_BaseInstanceARB |
Definition at line 446 of file mtl_shader_generator.hh.
Referenced by generate_msl_vertex_entry_stub(), and generate_msl_vertex_inputs_string().
| bool blender::gpu::MSLGeneratorInterface::uses_gl_FragColor |
Definition at line 438 of file mtl_shader_generator.hh.
| bool blender::gpu::MSLGeneratorInterface::uses_gl_FragDepth |
Definition at line 450 of file mtl_shader_generator.hh.
Referenced by generate_msl_fragment_input_population(), generate_msl_fragment_output_population(), and generate_msl_fragment_struct().
| bool blender::gpu::MSLGeneratorInterface::uses_gl_FragStencilRefARB |
Definition at line 451 of file mtl_shader_generator.hh.
Referenced by generate_msl_fragment_output_population(), and generate_msl_fragment_struct().
| bool blender::gpu::MSLGeneratorInterface::uses_gl_FrontFacing |
Definition at line 447 of file mtl_shader_generator.hh.
Referenced by generate_msl_fragment_entry_stub(), and generate_msl_fragment_inputs_string().
| bool blender::gpu::MSLGeneratorInterface::uses_gl_GlobalInvocationID |
Definition at line 457 of file mtl_shader_generator.hh.
Referenced by generate_msl_compute_entry_stub(), and generate_msl_compute_inputs_string().
| bool blender::gpu::MSLGeneratorInterface::uses_gl_InstanceID |
Definition at line 445 of file mtl_shader_generator.hh.
Referenced by generate_msl_vertex_entry_stub(), and generate_msl_vertex_inputs_string().
| bool blender::gpu::MSLGeneratorInterface::uses_gl_LocalInvocationID |
Definition at line 462 of file mtl_shader_generator.hh.
Referenced by generate_msl_compute_entry_stub(), and generate_msl_compute_inputs_string().
| bool blender::gpu::MSLGeneratorInterface::uses_gl_LocalInvocationIndex |
Definition at line 461 of file mtl_shader_generator.hh.
Referenced by generate_msl_compute_entry_stub(), and generate_msl_compute_inputs_string().
| bool blender::gpu::MSLGeneratorInterface::uses_gl_NumWorkGroups |
Definition at line 460 of file mtl_shader_generator.hh.
Referenced by generate_msl_compute_entry_stub(), and generate_msl_compute_inputs_string().
| bool blender::gpu::MSLGeneratorInterface::uses_gl_PointCoord |
Definition at line 441 of file mtl_shader_generator.hh.
Referenced by generate_msl_fragment_entry_stub(), and generate_msl_fragment_inputs_string().
| bool blender::gpu::MSLGeneratorInterface::uses_gl_PointSize |
Definition at line 443 of file mtl_shader_generator.hh.
Referenced by generate_msl_vertex_out_struct(), and generate_msl_vertex_output_population().
| bool blender::gpu::MSLGeneratorInterface::uses_gl_Position |
GL Global usage.
Definition at line 435 of file mtl_shader_generator.hh.
Referenced by generate_msl_fragment_input_population(), generate_msl_vertex_out_struct(), generate_msl_vertex_output_population(), and generate_msl_vertex_transform_feedback_out_struct().
| bool blender::gpu::MSLGeneratorInterface::uses_gl_PrimitiveID |
Definition at line 448 of file mtl_shader_generator.hh.
Referenced by generate_msl_fragment_entry_stub(), and generate_msl_fragment_inputs_string().
| bool blender::gpu::MSLGeneratorInterface::uses_gl_VertexID |
Definition at line 444 of file mtl_shader_generator.hh.
Referenced by generate_msl_vertex_entry_stub(), and generate_msl_vertex_inputs_string().
| bool blender::gpu::MSLGeneratorInterface::uses_gl_WorkGroupID |
Definition at line 459 of file mtl_shader_generator.hh.
Referenced by generate_msl_compute_entry_stub(), and generate_msl_compute_inputs_string().
| bool blender::gpu::MSLGeneratorInterface::uses_gl_WorkGroupSize |
Definition at line 458 of file mtl_shader_generator.hh.
| bool blender::gpu::MSLGeneratorInterface::uses_gpu_layer |
Definition at line 452 of file mtl_shader_generator.hh.
Referenced by generate_msl_fragment_input_population(), generate_msl_vertex_out_struct(), and generate_msl_vertex_output_population().
| bool blender::gpu::MSLGeneratorInterface::uses_gpu_viewport_index |
Definition at line 453 of file mtl_shader_generator.hh.
Referenced by generate_msl_fragment_input_population(), generate_msl_vertex_out_struct(), and generate_msl_vertex_output_population().
| bool blender::gpu::MSLGeneratorInterface::uses_ssbo_vertex_fetch_mode |
Definition at line 479 of file mtl_shader_generator.hh.
Referenced by bake_shader_interface(), generate_msl_vertex_attribute_input_population(), generate_msl_vertex_in_struct(), generate_msl_vertex_inputs_string(), and prepare_ssbo_vertex_fetch_uniforms().
| bool blender::gpu::MSLGeneratorInterface::uses_transform_feedback |
| blender::Vector<MSLVertexInputAttribute> blender::gpu::MSLGeneratorInterface::vertex_input_attributes |
Definition at line 413 of file mtl_shader_generator.hh.
Referenced by bake_shader_interface(), generate_msl_vertex_attribute_input_population(), generate_msl_vertex_in_struct(), generate_msl_vertex_inputs_string(), prepare_from_createinfo(), prepare_ssbo_vertex_fetch_uniforms(), and resolve_input_attribute_locations().
| blender::Vector<MSLVertexOutputAttribute> blender::gpu::MSLGeneratorInterface::vertex_output_varyings |
Definition at line 414 of file mtl_shader_generator.hh.
Referenced by generate_msl_fragment_input_population(), generate_msl_vertex_out_struct(), generate_msl_vertex_output_population(), and generate_msl_vertex_transform_feedback_out_struct().
| blender::Vector<MSLVertexOutputAttribute> blender::gpu::MSLGeneratorInterface::vertex_output_varyings_tf |
Definition at line 426 of file mtl_shader_generator.hh.
Referenced by generate_msl_vertex_output_tf_population(), and generate_msl_vertex_transform_feedback_out_struct().