Skip to main content

MTLIntersectionFunctionTable

Trait MTLIntersectionFunctionTable 

Source
pub unsafe trait MTLIntersectionFunctionTable: MTLResource {
    // Provided methods
    unsafe fn setBuffer_offset_atIndex(
        &self,
        buffer: Option<&ProtocolObject<dyn MTLBuffer>>,
        offset: NSUInteger,
        index: NSUInteger,
    )
       where Self: Sized + Message { ... }
    unsafe fn setBuffers_offsets_withRange(
        &self,
        buffers: NonNull<*const ProtocolObject<dyn MTLBuffer>>,
        offsets: NonNull<NSUInteger>,
        range: NSRange,
    )
       where Self: Sized + Message { ... }
    fn gpuResourceID(&self) -> MTLResourceID
       where Self: Sized + Message { ... }
    fn setFunction_atIndex(
        &self,
        function: Option<&ProtocolObject<dyn MTLFunctionHandle>>,
        index: NSUInteger,
    )
       where Self: Sized + Message { ... }
    unsafe fn setFunctions_withRange(
        &self,
        functions: NonNull<*const ProtocolObject<dyn MTLFunctionHandle>>,
        range: NSRange,
    )
       where Self: Sized + Message { ... }
    unsafe fn setOpaqueTriangleIntersectionFunctionWithSignature_atIndex(
        &self,
        signature: MTLIntersectionFunctionSignature,
        index: NSUInteger,
    )
       where Self: Sized + Message { ... }
    unsafe fn setOpaqueTriangleIntersectionFunctionWithSignature_withRange(
        &self,
        signature: MTLIntersectionFunctionSignature,
        range: NSRange,
    )
       where Self: Sized + Message { ... }
    unsafe fn setOpaqueCurveIntersectionFunctionWithSignature_atIndex(
        &self,
        signature: MTLIntersectionFunctionSignature,
        index: NSUInteger,
    )
       where Self: Sized + Message { ... }
    unsafe fn setOpaqueCurveIntersectionFunctionWithSignature_withRange(
        &self,
        signature: MTLIntersectionFunctionSignature,
        range: NSRange,
    )
       where Self: Sized + Message { ... }
    unsafe fn setVisibleFunctionTable_atBufferIndex(
        &self,
        function_table: Option<&ProtocolObject<dyn MTLVisibleFunctionTable>>,
        buffer_index: NSUInteger,
    )
       where Self: Sized + Message { ... }
    unsafe fn setVisibleFunctionTables_withBufferRange(
        &self,
        function_tables: NonNull<*const ProtocolObject<dyn MTLVisibleFunctionTable>>,
        buffer_range: NSRange,
    )
       where Self: Sized + Message { ... }
}
Available on crate features MTLAllocation and MTLIntersectionFunctionTable and MTLResource only.
Expand description

Provided Methods§

Source

unsafe fn setBuffer_offset_atIndex( &self, buffer: Option<&ProtocolObject<dyn MTLBuffer>>, offset: NSUInteger, index: NSUInteger, )
where Self: Sized + Message,

Available on crate feature MTLBuffer only.
§Safety
  • buffer may need to be synchronized.
  • buffer may be unretained, you must ensure it is kept alive while in use.
  • buffer contents should be of the correct type.
  • offset might not be bounds-checked.
  • index might not be bounds-checked.
Source

unsafe fn setBuffers_offsets_withRange( &self, buffers: NonNull<*const ProtocolObject<dyn MTLBuffer>>, offsets: NonNull<NSUInteger>, range: NSRange, )
where Self: Sized + Message,

Available on crate feature MTLBuffer only.
§Safety
  • buffers must be a valid pointer.
  • offsets might not be bounds-checked.
  • offsets must be a valid pointer.
  • range might not be bounds-checked.
Source

fn gpuResourceID(&self) -> MTLResourceID
where Self: Sized + Message,

Available on crate feature MTLTypes only.

Handle of the GPU resource suitable for storing in an Argument Buffer

Source

fn setFunction_atIndex( &self, function: Option<&ProtocolObject<dyn MTLFunctionHandle>>, index: NSUInteger, )
where Self: Sized + Message,

Available on crate feature MTLFunctionHandle only.
Source

unsafe fn setFunctions_withRange( &self, functions: NonNull<*const ProtocolObject<dyn MTLFunctionHandle>>, range: NSRange, )
where Self: Sized + Message,

Available on crate feature MTLFunctionHandle only.
§Safety
  • functions must be a valid pointer.
  • range might not be bounds-checked.
Source

unsafe fn setOpaqueTriangleIntersectionFunctionWithSignature_atIndex( &self, signature: MTLIntersectionFunctionSignature, index: NSUInteger, )
where Self: Sized + Message,

§Safety

index might not be bounds-checked.

Source

unsafe fn setOpaqueTriangleIntersectionFunctionWithSignature_withRange( &self, signature: MTLIntersectionFunctionSignature, range: NSRange, )
where Self: Sized + Message,

§Safety

range might not be bounds-checked.

Source

unsafe fn setOpaqueCurveIntersectionFunctionWithSignature_atIndex( &self, signature: MTLIntersectionFunctionSignature, index: NSUInteger, )
where Self: Sized + Message,

§Safety

index might not be bounds-checked.

Source

unsafe fn setOpaqueCurveIntersectionFunctionWithSignature_withRange( &self, signature: MTLIntersectionFunctionSignature, range: NSRange, )
where Self: Sized + Message,

§Safety

range might not be bounds-checked.

Source

unsafe fn setVisibleFunctionTable_atBufferIndex( &self, function_table: Option<&ProtocolObject<dyn MTLVisibleFunctionTable>>, buffer_index: NSUInteger, )
where Self: Sized + Message,

Available on crate feature MTLVisibleFunctionTable only.
§Safety
  • function_table may need to be synchronized.
  • function_table may be unretained, you must ensure it is kept alive while in use.
  • bufferIndex might not be bounds-checked.
Source

unsafe fn setVisibleFunctionTables_withBufferRange( &self, function_tables: NonNull<*const ProtocolObject<dyn MTLVisibleFunctionTable>>, buffer_range: NSRange, )
where Self: Sized + Message,

Available on crate feature MTLVisibleFunctionTable only.
§Safety
  • function_tables must be a valid pointer.
  • bufferRange might not be bounds-checked.

Trait Implementations§

Source§

impl<T> ImplementedBy<T> for dyn MTLIntersectionFunctionTable

Source§

impl ProtocolType for dyn MTLIntersectionFunctionTable

Source§

const NAME: &'static str = "MTLIntersectionFunctionTable"

The name of the Objective-C protocol that this type represents. Read more
Source§

fn protocol() -> Option<&'static AnyProtocol>

Get a reference to the Objective-C protocol object that this type represents. Read more

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<T> MTLIntersectionFunctionTable for ProtocolObject<T>

Implementors§