pub struct IndirectCommandBufferDescriptor(/* private fields */);Expand description
Descriptor for creating an indirect command buffer.
C++ equivalent: MTL::IndirectCommandBufferDescriptor
Implementations§
Source§impl IndirectCommandBufferDescriptor
impl IndirectCommandBufferDescriptor
Sourcepub fn alloc() -> Option<Self>
pub fn alloc() -> Option<Self>
Allocate a new indirect command buffer descriptor.
C++ equivalent: static IndirectCommandBufferDescriptor* alloc()
Sourcepub fn init(&self) -> Option<Self>
pub fn init(&self) -> Option<Self>
Initialize an allocated descriptor.
C++ equivalent: IndirectCommandBufferDescriptor* init()
Sourcepub unsafe fn from_raw(ptr: *mut c_void) -> Option<Self>
pub unsafe fn from_raw(ptr: *mut c_void) -> Option<Self>
Create from a raw pointer.
§Safety
The pointer must be a valid Metal indirect command buffer descriptor.
Sourcepub fn command_types(&self) -> IndirectCommandType
pub fn command_types(&self) -> IndirectCommandType
Get the command types that can be encoded.
C++ equivalent: IndirectCommandType commandTypes() const
Sourcepub fn set_command_types(&self, types: IndirectCommandType)
pub fn set_command_types(&self, types: IndirectCommandType)
Set the command types that can be encoded.
C++ equivalent: void setCommandTypes(IndirectCommandType)
Sourcepub fn inherit_buffers(&self) -> bool
pub fn inherit_buffers(&self) -> bool
Get whether commands inherit buffers from the encoder.
C++ equivalent: bool inheritBuffers() const
Sourcepub fn set_inherit_buffers(&self, inherit: bool)
pub fn set_inherit_buffers(&self, inherit: bool)
Set whether commands inherit buffers from the encoder.
C++ equivalent: void setInheritBuffers(bool)
Sourcepub fn inherit_cull_mode(&self) -> bool
pub fn inherit_cull_mode(&self) -> bool
Get whether commands inherit cull mode from the encoder.
C++ equivalent: bool inheritCullMode() const
Sourcepub fn set_inherit_cull_mode(&self, inherit: bool)
pub fn set_inherit_cull_mode(&self, inherit: bool)
Set whether commands inherit cull mode from the encoder.
C++ equivalent: void setInheritCullMode(bool)
Sourcepub fn inherit_depth_bias(&self) -> bool
pub fn inherit_depth_bias(&self) -> bool
Get whether commands inherit depth bias from the encoder.
C++ equivalent: bool inheritDepthBias() const
Sourcepub fn set_inherit_depth_bias(&self, inherit: bool)
pub fn set_inherit_depth_bias(&self, inherit: bool)
Set whether commands inherit depth bias from the encoder.
C++ equivalent: void setInheritDepthBias(bool)
Sourcepub fn inherit_depth_clip_mode(&self) -> bool
pub fn inherit_depth_clip_mode(&self) -> bool
Get whether commands inherit depth clip mode from the encoder.
C++ equivalent: bool inheritDepthClipMode() const
Sourcepub fn set_inherit_depth_clip_mode(&self, inherit: bool)
pub fn set_inherit_depth_clip_mode(&self, inherit: bool)
Set whether commands inherit depth clip mode from the encoder.
C++ equivalent: void setInheritDepthClipMode(bool)
Sourcepub fn inherit_depth_stencil_state(&self) -> bool
pub fn inherit_depth_stencil_state(&self) -> bool
Get whether commands inherit depth stencil state from the encoder.
C++ equivalent: bool inheritDepthStencilState() const
Sourcepub fn set_inherit_depth_stencil_state(&self, inherit: bool)
pub fn set_inherit_depth_stencil_state(&self, inherit: bool)
Set whether commands inherit depth stencil state from the encoder.
C++ equivalent: void setInheritDepthStencilState(bool)
Sourcepub fn inherit_front_facing_winding(&self) -> bool
pub fn inherit_front_facing_winding(&self) -> bool
Get whether commands inherit front facing winding from the encoder.
C++ equivalent: bool inheritFrontFacingWinding() const
Sourcepub fn set_inherit_front_facing_winding(&self, inherit: bool)
pub fn set_inherit_front_facing_winding(&self, inherit: bool)
Set whether commands inherit front facing winding from the encoder.
C++ equivalent: void setInheritFrontFacingWinding(bool)
Sourcepub fn inherit_pipeline_state(&self) -> bool
pub fn inherit_pipeline_state(&self) -> bool
Get whether commands inherit pipeline state from the encoder.
C++ equivalent: bool inheritPipelineState() const
Sourcepub fn set_inherit_pipeline_state(&self, inherit: bool)
pub fn set_inherit_pipeline_state(&self, inherit: bool)
Set whether commands inherit pipeline state from the encoder.
C++ equivalent: void setInheritPipelineState(bool)
Sourcepub fn inherit_triangle_fill_mode(&self) -> bool
pub fn inherit_triangle_fill_mode(&self) -> bool
Get whether commands inherit triangle fill mode from the encoder.
C++ equivalent: bool inheritTriangleFillMode() const
Sourcepub fn set_inherit_triangle_fill_mode(&self, inherit: bool)
pub fn set_inherit_triangle_fill_mode(&self, inherit: bool)
Set whether commands inherit triangle fill mode from the encoder.
C++ equivalent: void setInheritTriangleFillMode(bool)
Sourcepub fn max_vertex_buffer_bind_count(&self) -> UInteger
pub fn max_vertex_buffer_bind_count(&self) -> UInteger
Get the maximum number of vertex buffer bindings.
C++ equivalent: NS::UInteger maxVertexBufferBindCount() const
Sourcepub fn set_max_vertex_buffer_bind_count(&self, count: UInteger)
pub fn set_max_vertex_buffer_bind_count(&self, count: UInteger)
Set the maximum number of vertex buffer bindings.
C++ equivalent: void setMaxVertexBufferBindCount(NS::UInteger)
Sourcepub fn max_fragment_buffer_bind_count(&self) -> UInteger
pub fn max_fragment_buffer_bind_count(&self) -> UInteger
Get the maximum number of fragment buffer bindings.
C++ equivalent: NS::UInteger maxFragmentBufferBindCount() const
Sourcepub fn set_max_fragment_buffer_bind_count(&self, count: UInteger)
pub fn set_max_fragment_buffer_bind_count(&self, count: UInteger)
Set the maximum number of fragment buffer bindings.
C++ equivalent: void setMaxFragmentBufferBindCount(NS::UInteger)
Sourcepub fn max_kernel_buffer_bind_count(&self) -> UInteger
pub fn max_kernel_buffer_bind_count(&self) -> UInteger
Get the maximum number of kernel buffer bindings.
C++ equivalent: NS::UInteger maxKernelBufferBindCount() const
Sourcepub fn set_max_kernel_buffer_bind_count(&self, count: UInteger)
pub fn set_max_kernel_buffer_bind_count(&self, count: UInteger)
Set the maximum number of kernel buffer bindings.
C++ equivalent: void setMaxKernelBufferBindCount(NS::UInteger)
Sourcepub fn max_kernel_threadgroup_memory_bind_count(&self) -> UInteger
pub fn max_kernel_threadgroup_memory_bind_count(&self) -> UInteger
Get the maximum number of kernel threadgroup memory bindings.
C++ equivalent: NS::UInteger maxKernelThreadgroupMemoryBindCount() const
Sourcepub fn set_max_kernel_threadgroup_memory_bind_count(&self, count: UInteger)
pub fn set_max_kernel_threadgroup_memory_bind_count(&self, count: UInteger)
Set the maximum number of kernel threadgroup memory bindings.
C++ equivalent: void setMaxKernelThreadgroupMemoryBindCount(NS::UInteger)
Sourcepub fn max_mesh_buffer_bind_count(&self) -> UInteger
pub fn max_mesh_buffer_bind_count(&self) -> UInteger
Get the maximum number of mesh buffer bindings.
C++ equivalent: NS::UInteger maxMeshBufferBindCount() const
Sourcepub fn set_max_mesh_buffer_bind_count(&self, count: UInteger)
pub fn set_max_mesh_buffer_bind_count(&self, count: UInteger)
Set the maximum number of mesh buffer bindings.
C++ equivalent: void setMaxMeshBufferBindCount(NS::UInteger)
Sourcepub fn max_object_buffer_bind_count(&self) -> UInteger
pub fn max_object_buffer_bind_count(&self) -> UInteger
Get the maximum number of object buffer bindings.
C++ equivalent: NS::UInteger maxObjectBufferBindCount() const
Sourcepub fn set_max_object_buffer_bind_count(&self, count: UInteger)
pub fn set_max_object_buffer_bind_count(&self, count: UInteger)
Set the maximum number of object buffer bindings.
C++ equivalent: void setMaxObjectBufferBindCount(NS::UInteger)
Sourcepub fn max_object_threadgroup_memory_bind_count(&self) -> UInteger
pub fn max_object_threadgroup_memory_bind_count(&self) -> UInteger
Get the maximum number of object threadgroup memory bindings.
C++ equivalent: NS::UInteger maxObjectThreadgroupMemoryBindCount() const
Sourcepub fn set_max_object_threadgroup_memory_bind_count(&self, count: UInteger)
pub fn set_max_object_threadgroup_memory_bind_count(&self, count: UInteger)
Set the maximum number of object threadgroup memory bindings.
C++ equivalent: void setMaxObjectThreadgroupMemoryBindCount(NS::UInteger)
Sourcepub fn support_color_attachment_mapping(&self) -> bool
pub fn support_color_attachment_mapping(&self) -> bool
Get whether color attachment mapping is supported.
C++ equivalent: bool supportColorAttachmentMapping() const
Sourcepub fn set_support_color_attachment_mapping(&self, support: bool)
pub fn set_support_color_attachment_mapping(&self, support: bool)
Set whether color attachment mapping is supported.
C++ equivalent: void setSupportColorAttachmentMapping(bool)
Sourcepub fn support_dynamic_attribute_stride(&self) -> bool
pub fn support_dynamic_attribute_stride(&self) -> bool
Get whether dynamic attribute stride is supported.
C++ equivalent: bool supportDynamicAttributeStride() const
Sourcepub fn set_support_dynamic_attribute_stride(&self, support: bool)
pub fn set_support_dynamic_attribute_stride(&self, support: bool)
Set whether dynamic attribute stride is supported.
C++ equivalent: void setSupportDynamicAttributeStride(bool)
Sourcepub fn support_ray_tracing(&self) -> bool
pub fn support_ray_tracing(&self) -> bool
Get whether ray tracing is supported.
C++ equivalent: bool supportRayTracing() const
Sourcepub fn set_support_ray_tracing(&self, support: bool)
pub fn set_support_ray_tracing(&self, support: bool)
Set whether ray tracing is supported.
C++ equivalent: void setSupportRayTracing(bool)