Blender V5.0
blender::gpu::MTLImmediate Class Reference

#include <mtl_immediate.hh>

Inherits blender::gpu::Immediate.

Public Member Functions

 MTLImmediate (MTLContext *ctx)
 ~MTLImmediate () override=default
ucharbegin () override
void end () override
bool imm_is_recording ()
Public Member Functions inherited from blender::gpu::Immediate
 Immediate ()=default
virtual ~Immediate ()=default
void polyline_draw_workaround (uint64_t offset)

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 = {}
gpu::Shadershader = nullptr
bool strict_vertex_len = true
Batch * batch = nullptr
std::optional< GPUBuiltinShaderprev_builtin_shader
std::optional< GPUBuiltinShaderbuiltin_shader_bound
float uniform_color [4]

Detailed Description

Definition at line 25 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 ( )
overridedefault

Member Function Documentation

◆ begin()

◆ end()

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

Implements blender::gpu::Immediate.

Definition at line 56 of file mtl_immediate.mm.

References blender::gpu::MTLVertexDescriptor::attributes, 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, GPUVertAttr::Type::comp_len(), GPUVertAttr::Type::comp_type(), blender::gpu::MTLBufferRange::data, GPUVertAttr::Type::fetch_mode(), blender::gpu::MTLShaderInputAttribute::format, blender::gpu::MTLVertexAttributeDescriptorPSO::format, GPUVertAttr::Type::format, blender::gpu::MTLVertexAttributeDescriptorPSO::format_conversion_mode, blender::gpu::format_resize_comp(), G, G_DEBUG_GPU, blender::gpu::MTLContext::get(), blender::gpu::MTLShader::get_interface(), blender::gpu::MTLShaderInterface::get_name(), blender::gpu::MTLStateManager::get_pipeline_descriptor(), GPU_FETCH_FLOAT, GPU_FETCH_INT, 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_SSBO_INDEX_BUF_SLOT, GPU_SSBO_POLYLINE_COL_BUF_SLOT, GPU_SSBO_POLYLINE_POS_BUF_SLOT, GPU_vertformat_attr_name_get(), i, blender::gpu::is_fetch_float(), blender::gpu::MTLShader::is_valid(), blender::gpu::MTLVertexDescriptor::max_attribute_value, max_ii(), blender::gpu::MTLBufferRange::metal_buffer, blender::gpu::mtl_convert_vertex_format(), MTL_LOG_ERROR, MTL_LOG_WARNING, blender::gpu::mtl_needs_topology_emulation(), name, blender::gpu::Shader::name_get(), GPUVertAttr::name_len, blender::gpu::MTLShaderInputAttribute::name_offset, blender::gpu::MTLVertexDescriptor::num_vert_buffers, blender::gpu::MTLVertexAttributeDescriptorPSO::offset, GPUVertAttr::offset, blender::gpu::Immediate::polyline_draw_workaround(), blender::gpu::Immediate::prim_type, ptr, blender::gpu::MTLRenderPipelineStateDescriptor::reset_vertex_descriptor(), blender::gpu::Immediate::shader, blender::gpu::Context::state_manager, blender::gpu::MTLVertexBufferLayoutDescriptorPSO::step_function, blender::gpu::MTLVertexBufferLayoutDescriptorPSO::step_rate, blender::gpu::MTLVertexBufferLayoutDescriptorPSO::stride, blender::gpu::MTLVertexDescriptor::total_attributes, GPUVertAttr::type, blender::gpu::MTLRenderPipelineStateDescriptor::vertex_descriptor, blender::gpu::Immediate::vertex_format, blender::gpu::Immediate::vertex_idx, and blender::gpu::Immediate::vertex_len.

◆ imm_is_recording()

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

Definition at line 39 of file mtl_immediate.hh.


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