pub struct MeshRenderPipelineDescriptor(/* private fields */);Implementations§
Source§impl MeshRenderPipelineDescriptor
impl MeshRenderPipelineDescriptor
Sourcepub fn alloc() -> Option<Self>
pub fn alloc() -> Option<Self>
Allocate a new mesh render pipeline descriptor.
C++ equivalent: static MeshRenderPipelineDescriptor* alloc()
Sourcepub fn init(&self) -> Option<Self>
pub fn init(&self) -> Option<Self>
Initialize an allocated descriptor.
C++ equivalent: MeshRenderPipelineDescriptor* 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 mesh render pipeline descriptor.
Sourcepub fn set_label(&self, label: &str)
pub fn set_label(&self, label: &str)
Set the label.
C++ equivalent: void setLabel(const NS::String*)
Sourcepub fn object_function(&self) -> Option<Function>
pub fn object_function(&self) -> Option<Function>
Get the object function.
C++ equivalent: Function* objectFunction() const
Sourcepub fn set_object_function(&self, function: Option<&Function>)
pub fn set_object_function(&self, function: Option<&Function>)
Set the object function.
C++ equivalent: void setObjectFunction(const Function*)
Sourcepub fn object_buffers(&self) -> Option<PipelineBufferDescriptorArray>
pub fn object_buffers(&self) -> Option<PipelineBufferDescriptorArray>
Get the object buffers.
C++ equivalent: PipelineBufferDescriptorArray* objectBuffers() const
Sourcepub fn object_linked_functions(&self) -> Option<LinkedFunctions>
pub fn object_linked_functions(&self) -> Option<LinkedFunctions>
Get the object linked functions.
C++ equivalent: LinkedFunctions* objectLinkedFunctions() const
Sourcepub fn set_object_linked_functions(&self, functions: Option<&LinkedFunctions>)
pub fn set_object_linked_functions(&self, functions: Option<&LinkedFunctions>)
Set the object linked functions.
C++ equivalent: void setObjectLinkedFunctions(const LinkedFunctions*)
Sourcepub fn mesh_function(&self) -> Option<Function>
pub fn mesh_function(&self) -> Option<Function>
Get the mesh function.
C++ equivalent: Function* meshFunction() const
Sourcepub fn set_mesh_function(&self, function: Option<&Function>)
pub fn set_mesh_function(&self, function: Option<&Function>)
Set the mesh function.
C++ equivalent: void setMeshFunction(const Function*)
Sourcepub fn mesh_buffers(&self) -> Option<PipelineBufferDescriptorArray>
pub fn mesh_buffers(&self) -> Option<PipelineBufferDescriptorArray>
Get the mesh buffers.
C++ equivalent: PipelineBufferDescriptorArray* meshBuffers() const
Sourcepub fn mesh_linked_functions(&self) -> Option<LinkedFunctions>
pub fn mesh_linked_functions(&self) -> Option<LinkedFunctions>
Get the mesh linked functions.
C++ equivalent: LinkedFunctions* meshLinkedFunctions() const
Sourcepub fn set_mesh_linked_functions(&self, functions: Option<&LinkedFunctions>)
pub fn set_mesh_linked_functions(&self, functions: Option<&LinkedFunctions>)
Set the mesh linked functions.
C++ equivalent: void setMeshLinkedFunctions(const LinkedFunctions*)
Sourcepub fn fragment_function(&self) -> Option<Function>
pub fn fragment_function(&self) -> Option<Function>
Get the fragment function.
C++ equivalent: Function* fragmentFunction() const
Sourcepub fn set_fragment_function(&self, function: Option<&Function>)
pub fn set_fragment_function(&self, function: Option<&Function>)
Set the fragment function.
C++ equivalent: void setFragmentFunction(const Function*)
Sourcepub fn fragment_buffers(&self) -> Option<PipelineBufferDescriptorArray>
pub fn fragment_buffers(&self) -> Option<PipelineBufferDescriptorArray>
Get the fragment buffers.
C++ equivalent: PipelineBufferDescriptorArray* fragmentBuffers() const
Sourcepub fn fragment_linked_functions(&self) -> Option<LinkedFunctions>
pub fn fragment_linked_functions(&self) -> Option<LinkedFunctions>
Get the fragment linked functions.
C++ equivalent: LinkedFunctions* fragmentLinkedFunctions() const
Sourcepub fn set_fragment_linked_functions(&self, functions: Option<&LinkedFunctions>)
pub fn set_fragment_linked_functions(&self, functions: Option<&LinkedFunctions>)
Set the fragment linked functions.
C++ equivalent: void setFragmentLinkedFunctions(const LinkedFunctions*)
Sourcepub fn color_attachments(
&self,
) -> Option<RenderPipelineColorAttachmentDescriptorArray>
pub fn color_attachments( &self, ) -> Option<RenderPipelineColorAttachmentDescriptorArray>
Get the color attachments.
C++ equivalent: RenderPipelineColorAttachmentDescriptorArray* colorAttachments() const
Sourcepub fn depth_attachment_pixel_format(&self) -> PixelFormat
pub fn depth_attachment_pixel_format(&self) -> PixelFormat
Get the depth attachment pixel format.
C++ equivalent: PixelFormat depthAttachmentPixelFormat() const
Sourcepub fn set_depth_attachment_pixel_format(&self, format: PixelFormat)
pub fn set_depth_attachment_pixel_format(&self, format: PixelFormat)
Set the depth attachment pixel format.
C++ equivalent: void setDepthAttachmentPixelFormat(PixelFormat)
Sourcepub fn stencil_attachment_pixel_format(&self) -> PixelFormat
pub fn stencil_attachment_pixel_format(&self) -> PixelFormat
Get the stencil attachment pixel format.
C++ equivalent: PixelFormat stencilAttachmentPixelFormat() const
Sourcepub fn set_stencil_attachment_pixel_format(&self, format: PixelFormat)
pub fn set_stencil_attachment_pixel_format(&self, format: PixelFormat)
Set the stencil attachment pixel format.
C++ equivalent: void setStencilAttachmentPixelFormat(PixelFormat)
Sourcepub fn raster_sample_count(&self) -> UInteger
pub fn raster_sample_count(&self) -> UInteger
Get the raster sample count.
C++ equivalent: NS::UInteger rasterSampleCount() const
Sourcepub fn set_raster_sample_count(&self, count: UInteger)
pub fn set_raster_sample_count(&self, count: UInteger)
Set the raster sample count.
C++ equivalent: void setRasterSampleCount(NS::UInteger)
Sourcepub fn is_alpha_to_coverage_enabled(&self) -> bool
pub fn is_alpha_to_coverage_enabled(&self) -> bool
Check if alpha to coverage is enabled.
C++ equivalent: bool isAlphaToCoverageEnabled() const
Sourcepub fn set_alpha_to_coverage_enabled(&self, enabled: bool)
pub fn set_alpha_to_coverage_enabled(&self, enabled: bool)
Set alpha to coverage enabled.
C++ equivalent: void setAlphaToCoverageEnabled(bool)
Sourcepub fn is_alpha_to_one_enabled(&self) -> bool
pub fn is_alpha_to_one_enabled(&self) -> bool
Check if alpha to one is enabled.
C++ equivalent: bool isAlphaToOneEnabled() const
Sourcepub fn set_alpha_to_one_enabled(&self, enabled: bool)
pub fn set_alpha_to_one_enabled(&self, enabled: bool)
Set alpha to one enabled.
C++ equivalent: void setAlphaToOneEnabled(bool)
Sourcepub fn is_rasterization_enabled(&self) -> bool
pub fn is_rasterization_enabled(&self) -> bool
Check if rasterization is enabled.
C++ equivalent: bool isRasterizationEnabled() const
Sourcepub fn set_rasterization_enabled(&self, enabled: bool)
pub fn set_rasterization_enabled(&self, enabled: bool)
Set rasterization enabled.
C++ equivalent: void setRasterizationEnabled(bool)
Sourcepub fn max_total_threadgroups_per_mesh_grid(&self) -> UInteger
pub fn max_total_threadgroups_per_mesh_grid(&self) -> UInteger
Get the max total threadgroups per mesh grid.
C++ equivalent: NS::UInteger maxTotalThreadgroupsPerMeshGrid() const
Sourcepub fn set_max_total_threadgroups_per_mesh_grid(&self, count: UInteger)
pub fn set_max_total_threadgroups_per_mesh_grid(&self, count: UInteger)
Set the max total threadgroups per mesh grid.
C++ equivalent: void setMaxTotalThreadgroupsPerMeshGrid(NS::UInteger)
Sourcepub fn max_total_threads_per_object_threadgroup(&self) -> UInteger
pub fn max_total_threads_per_object_threadgroup(&self) -> UInteger
Get the max total threads per object threadgroup.
C++ equivalent: NS::UInteger maxTotalThreadsPerObjectThreadgroup() const
Sourcepub fn set_max_total_threads_per_object_threadgroup(&self, count: UInteger)
pub fn set_max_total_threads_per_object_threadgroup(&self, count: UInteger)
Set the max total threads per object threadgroup.
C++ equivalent: void setMaxTotalThreadsPerObjectThreadgroup(NS::UInteger)
Sourcepub fn max_total_threads_per_mesh_threadgroup(&self) -> UInteger
pub fn max_total_threads_per_mesh_threadgroup(&self) -> UInteger
Get the max total threads per mesh threadgroup.
C++ equivalent: NS::UInteger maxTotalThreadsPerMeshThreadgroup() const
Sourcepub fn set_max_total_threads_per_mesh_threadgroup(&self, count: UInteger)
pub fn set_max_total_threads_per_mesh_threadgroup(&self, count: UInteger)
Set the max total threads per mesh threadgroup.
C++ equivalent: void setMaxTotalThreadsPerMeshThreadgroup(NS::UInteger)
Sourcepub fn object_threadgroup_size_is_multiple_of_thread_execution_width(
&self,
) -> bool
pub fn object_threadgroup_size_is_multiple_of_thread_execution_width( &self, ) -> bool
Get whether object threadgroup size is multiple of thread execution width.
C++ equivalent: bool objectThreadgroupSizeIsMultipleOfThreadExecutionWidth() const
Sourcepub fn set_object_threadgroup_size_is_multiple_of_thread_execution_width(
&self,
is_multiple: bool,
)
pub fn set_object_threadgroup_size_is_multiple_of_thread_execution_width( &self, is_multiple: bool, )
Set whether object threadgroup size is multiple of thread execution width.
C++ equivalent: void setObjectThreadgroupSizeIsMultipleOfThreadExecutionWidth(bool)
Sourcepub fn mesh_threadgroup_size_is_multiple_of_thread_execution_width(
&self,
) -> bool
pub fn mesh_threadgroup_size_is_multiple_of_thread_execution_width( &self, ) -> bool
Get whether mesh threadgroup size is multiple of thread execution width.
C++ equivalent: bool meshThreadgroupSizeIsMultipleOfThreadExecutionWidth() const
Sourcepub fn set_mesh_threadgroup_size_is_multiple_of_thread_execution_width(
&self,
is_multiple: bool,
)
pub fn set_mesh_threadgroup_size_is_multiple_of_thread_execution_width( &self, is_multiple: bool, )
Set whether mesh threadgroup size is multiple of thread execution width.
C++ equivalent: void setMeshThreadgroupSizeIsMultipleOfThreadExecutionWidth(bool)
Sourcepub fn required_threads_per_object_threadgroup(&self) -> Size
pub fn required_threads_per_object_threadgroup(&self) -> Size
Get the required threads per object threadgroup.
C++ equivalent: Size requiredThreadsPerObjectThreadgroup() const
Sourcepub fn set_required_threads_per_object_threadgroup(&self, size: Size)
pub fn set_required_threads_per_object_threadgroup(&self, size: Size)
Set the required threads per object threadgroup.
C++ equivalent: void setRequiredThreadsPerObjectThreadgroup(Size)
Sourcepub fn required_threads_per_mesh_threadgroup(&self) -> Size
pub fn required_threads_per_mesh_threadgroup(&self) -> Size
Get the required threads per mesh threadgroup.
C++ equivalent: Size requiredThreadsPerMeshThreadgroup() const
Sourcepub fn set_required_threads_per_mesh_threadgroup(&self, size: Size)
pub fn set_required_threads_per_mesh_threadgroup(&self, size: Size)
Set the required threads per mesh threadgroup.
C++ equivalent: void setRequiredThreadsPerMeshThreadgroup(Size)
Sourcepub fn payload_memory_length(&self) -> UInteger
pub fn payload_memory_length(&self) -> UInteger
Get the payload memory length.
C++ equivalent: NS::UInteger payloadMemoryLength() const
Sourcepub fn set_payload_memory_length(&self, length: UInteger)
pub fn set_payload_memory_length(&self, length: UInteger)
Set the payload memory length.
C++ equivalent: void setPayloadMemoryLength(NS::UInteger)
Sourcepub fn max_vertex_amplification_count(&self) -> UInteger
pub fn max_vertex_amplification_count(&self) -> UInteger
Get the max vertex amplification count.
C++ equivalent: NS::UInteger maxVertexAmplificationCount() const
Sourcepub fn set_max_vertex_amplification_count(&self, count: UInteger)
pub fn set_max_vertex_amplification_count(&self, count: UInteger)
Set the max vertex amplification count.
C++ equivalent: void setMaxVertexAmplificationCount(NS::UInteger)
Sourcepub fn support_indirect_command_buffers(&self) -> bool
pub fn support_indirect_command_buffers(&self) -> bool
Get whether indirect command buffers are supported.
C++ equivalent: bool supportIndirectCommandBuffers() const
Sourcepub fn set_support_indirect_command_buffers(&self, support: bool)
pub fn set_support_indirect_command_buffers(&self, support: bool)
Set whether indirect command buffers are supported.
C++ equivalent: void setSupportIndirectCommandBuffers(bool)
Sourcepub fn shader_validation(&self) -> ShaderValidation
pub fn shader_validation(&self) -> ShaderValidation
Get the shader validation mode.
C++ equivalent: ShaderValidation shaderValidation() const
Sourcepub fn set_shader_validation(&self, validation: ShaderValidation)
pub fn set_shader_validation(&self, validation: ShaderValidation)
Set the shader validation mode.
C++ equivalent: void setShaderValidation(ShaderValidation)
Sourcepub fn binary_archives_raw(&self) -> *mut c_void
pub fn binary_archives_raw(&self) -> *mut c_void
Get the binary archives (raw NSArray pointer).
C++ equivalent: NS::Array* binaryArchives() const
Sourcepub unsafe fn set_binary_archives_raw(&self, archives: *const c_void)
pub unsafe fn set_binary_archives_raw(&self, archives: *const c_void)
Set the binary archives.
C++ equivalent: void setBinaryArchives(const NS::Array*)
§Safety
The pointer must be a valid NSArray of BinaryArchive objects.