Blender V4.3
blender::gpu::MTLRenderPipelineStateInstance Struct Reference

#include <mtl_shader.hh>

Public Attributes

id< MTLFunction > vert
 
id< MTLFunction > frag
 
id< MTLRenderPipelineState > pso
 
uint32_t shader_pso_index
 
int base_uniform_buffer_index
 
int base_storage_buffer_index
 
int null_attribute_buffer_index
 
int transform_feedback_buffer_index
 
MTLPrimitiveTopologyClass prim_type
 
bool reflection_data_available
 
blender::Vector< MTLBufferArgumentDatabuffer_bindings_reflection_data_vert
 
blender::Vector< MTLBufferArgumentDatabuffer_bindings_reflection_data_frag
 

Detailed Description

Definition at line 68 of file mtl_shader.hh.

Member Data Documentation

◆ base_storage_buffer_index

int blender::gpu::MTLRenderPipelineStateInstance::base_storage_buffer_index

◆ base_uniform_buffer_index

int blender::gpu::MTLRenderPipelineStateInstance::base_uniform_buffer_index

◆ buffer_bindings_reflection_data_frag

blender::Vector<MTLBufferArgumentData> blender::gpu::MTLRenderPipelineStateInstance::buffer_bindings_reflection_data_frag

◆ buffer_bindings_reflection_data_vert

blender::Vector<MTLBufferArgumentData> blender::gpu::MTLRenderPipelineStateInstance::buffer_bindings_reflection_data_vert

◆ frag

id<MTLFunction> blender::gpu::MTLRenderPipelineStateInstance::frag

Definition at line 72 of file mtl_shader.hh.

Referenced by blender::gpu::MTLShader::bake_pipeline_state().

◆ null_attribute_buffer_index

int blender::gpu::MTLRenderPipelineStateInstance::null_attribute_buffer_index

◆ prim_type

MTLPrimitiveTopologyClass blender::gpu::MTLRenderPipelineStateInstance::prim_type

◆ pso

id<MTLRenderPipelineState> blender::gpu::MTLRenderPipelineStateInstance::pso

◆ reflection_data_available

bool blender::gpu::MTLRenderPipelineStateInstance::reflection_data_available

Reflection Data. Currently used to verify whether uniform buffers of incorrect sizes being bound, due to left over bindings being used for slots that did not need updating for a particular draw. Metal Back-end over-generates bindings due to detecting their presence, though in many cases, the bindings in the source are not all used for a given shader. This information can also be used to eliminate redundant/unused bindings.

Definition at line 98 of file mtl_shader.hh.

Referenced by blender::gpu::MTLShader::bake_pipeline_state(), and blender::gpu::MTLContext::ensure_buffer_bindings().

◆ shader_pso_index

uint32_t blender::gpu::MTLRenderPipelineStateInstance::shader_pso_index

Derived information.

Definition at line 79 of file mtl_shader.hh.

Referenced by blender::gpu::MTLShader::bake_pipeline_state(), and blender::gpu::MTLContext::ensure_buffer_bindings().

◆ transform_feedback_buffer_index

int blender::gpu::MTLRenderPipelineStateInstance::transform_feedback_buffer_index

◆ vert

id<MTLFunction> blender::gpu::MTLRenderPipelineStateInstance::vert

The documentation for this struct was generated from the following file: