Blender V4.3
blender::gpu::MTLImmediate Class Reference

#include <mtl_immediate.hh>

Inherits blender::gpu::Immediate.

Public Member Functions

 MTLImmediate (MTLContext *ctx)
 
 ~MTLImmediate ()
 
ucharbegin () override
 
void end () override
 
bool imm_is_recording ()
 
- Public Member Functions inherited from blender::gpu::Immediate
 Immediate ()
 
virtual ~Immediate ()
 

Additional Inherited Members

- Public Attributes inherited from blender::gpu::Immediate
ucharvertex_data = nullptr
 
uint vertex_idx = 0
 
uint vertex_len = 0
 
uint16_t unassigned_attr_bits = 0
 
uint16_t enabled_attr_bits = 0
 
GPUPrimType prim_type = GPU_PRIM_NONE
 
GPUVertFormat vertex_format = {}
 
GPUShadershader = nullptr
 
bool strict_vertex_len = true
 
Batch * batch = nullptr
 
std::optional< eGPUBuiltinShaderprev_builtin_shader
 
std::optional< eGPUBuiltinShaderbuiltin_shader_bound
 
float uniform_color [4]
 

Detailed Description

Definition at line 22 of file mtl_immediate.hh.

Constructor & Destructor Documentation

◆ MTLImmediate()

blender::gpu::MTLImmediate::MTLImmediate ( MTLContext * ctx)

Definition at line 26 of file mtl_immediate.mm.

◆ ~MTLImmediate()

blender::gpu::MTLImmediate::~MTLImmediate ( )

Definition at line 31 of file mtl_immediate.mm.

Member Function Documentation

◆ begin()

◆ end()

void blender::gpu::MTLImmediate::end ( )
overridevirtual

Implements blender::gpu::Immediate.

Definition at line 58 of file mtl_immediate.mm.

References GPUVertFormat::attr_len, blender::gpu::MTLVertexDescriptor::attributes, GPUVertFormat::attrs, blender::gpu::MTLRenderPassState::bind_vertex_buffer(), BLI_assert, BLI_assert_msg, BLI_assert_unreachable, blender::gpu::MTLShaderInputAttribute::buffer_index, blender::gpu::MTLVertexAttributeDescriptorPSO::buffer_index, blender::gpu::MTLVertexDescriptor::buffer_layouts, blender::gpu::MTLBufferRange::buffer_offset, blender::gpu::MTLRenderPassState::cached_vertex_buffer_bindings, GPUVertAttr::comp_len, GPUVertAttr::comp_type, blender::gpu::MTLBufferRange::data, blender::gpu::MTLContext::ensure_begin_render_pass(), blender::gpu::MTLContext::ensure_depth_stencil_state(), blender::gpu::MTLContext::ensure_render_pipeline_state(), GPUVertAttr::fetch_mode, blender::gpu::MTLShaderInputAttribute::format, blender::gpu::MTLVertexAttributeDescriptorPSO::format, blender::gpu::MTLVertexAttributeDescriptorPSO::format_conversion_mode, G, G_DEBUG_GPU, blender::gpu::MTLContext::get(), blender::gpu::MTLShader::get_interface(), blender::gpu::MTLShaderInterface::get_name(), blender::gpu::MTLContext::get_null_buffer(), blender::gpu::MTLStateManager::get_pipeline_descriptor(), blender::gpu::MTLCommandBufferManager::get_render_pass_state(), blender::gpu::MTLContext::get_scratchbuffer_manager(), blender::gpu::MTLShader::get_ssbo_vertex_fetch_output_num_verts(), blender::gpu::MTLShader::get_ssbo_vertex_fetch_output_prim_type(), blender::gpu::MTLShader::get_uses_ssbo_vertex_fetch(), GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_FETCH_INT, gpu_get_prim_count_from_type(), GPU_PRIM_LINE_LOOP, GPU_PRIM_LINE_STRIP, GPU_PRIM_NONE, GPU_PRIM_TRI_FAN, blender::gpu::gpu_prim_type_to_metal(), GPU_shader_bind(), GPU_shader_uniform_int_ex(), GPU_vertformat_attr_name_get(), blender::gpu::MTLShaderInputAttribute::index, blender::gpu::MTLShader::is_valid(), blender::gpu::MTLContext::main_command_buffer, blender::gpu::MTLVertexDescriptor::max_attribute_value, max_ii(), blender::gpu::BufferBindingCached::metal_buffer, blender::gpu::MTLBufferRange::metal_buffer, blender::gpu::mtl_convert_vertex_format(), MTL_LOG_ERROR, MTL_LOG_WARNING, blender::gpu::mtl_needs_topology_emulation(), MTL_SSBO_VERTEX_FETCH_IBO_INDEX, MTL_SSBO_VERTEX_FETCH_MAX_VBOS, blender::gpu::mtl_vertex_count_fits_primitive_type(), blender::gpu::mtl_vertex_format_resize(), blender::gpu::Shader::name_get(), GPUVertAttr::name_len, blender::gpu::MTLShaderInputAttribute::name_offset, blender::gpu::MTLVertexDescriptor::num_ssbo_attributes, blender::gpu::MTLVertexDescriptor::num_vert_buffers, blender::gpu::MTLVertexAttributeDescriptorPSO::offset, GPUVertAttr::offset, blender::gpu::Immediate::prim_type, ptr, blender::gpu::MTLCommandBufferManager::register_draw_counters(), blender::gpu::MTLRenderPipelineStateDescriptor::reset_vertex_descriptor(), blender::gpu::MTLScratchBufferManager::scratch_buffer_allocate_range_aligned(), blender::gpu::MTLVertexDescriptor::ssbo_attributes, blender::gpu::MTLShader::ssbo_vertex_fetch_bind_attribute(), blender::gpu::MTLShader::ssbo_vertex_fetch_bind_attributes_begin(), blender::gpu::MTLShader::ssbo_vertex_fetch_bind_attributes_end(), blender::gpu::MTLShader::ssbo_vertex_type_to_attr_type(), blender::gpu::Context::state_manager, blender::gpu::MTLVertexBufferLayoutDescriptorPSO::step_function, blender::gpu::MTLVertexBufferLayoutDescriptorPSO::step_rate, blender::gpu::MTLVertexBufferLayoutDescriptorPSO::stride, GPUVertFormat::stride, blender::gpu::MTLVertexDescriptor::total_attributes, blender::gpu::MTLShader::uni_ssbo_input_prim_type_loc, blender::gpu::MTLShader::uni_ssbo_input_vert_count_loc, blender::gpu::MTLShader::uni_ssbo_uses_indexed_rendering, blender::gpu::MTLShader::uniform_int(), blender::gpu::unwrap(), blender::gpu::MTLVertexDescriptor::uses_ssbo_vertex_fetch, blender::gpu::MTLRenderPipelineStateDescriptor::vertex_descriptor, blender::gpu::Immediate::vertex_format, blender::gpu::Immediate::vertex_idx, blender::gpu::Immediate::vertex_len, and blender::gpu::wrap().

◆ imm_is_recording()

bool blender::gpu::MTLImmediate::imm_is_recording ( )
inline

Definition at line 36 of file mtl_immediate.hh.


The documentation for this class was generated from the following files: