xamarinios
namespace Metal
{
    [Introduced(PlatformName.iOS, 8, 0, PlatformArchitecture.All, null)]
    [Introduced(PlatformName.MacOSX, 10, 11, PlatformArchitecture.All, null)]
    [Protocol(Name = "MTLRenderCommandEncoder", WrapperType = typeof(MTLRenderCommandEncoderWrapper))]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "SetRenderPipelineState", ParameterByRef = new[] { false }, ParameterType = new[] { typeof(IMTLRenderPipelineState) }, Selector = "setRenderPipelineState:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "SetVertexBuffer", ParameterByRef = new[] { false, false, false }, ParameterType = new[] { typeof(IMTLBuffer), typeof(nuint), typeof(nuint) }, Selector = "setVertexBuffer:offset:atIndex:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "SetVertexTexture", ParameterByRef = new[] { false, false }, ParameterType = new[] { typeof(IMTLTexture), typeof(nuint) }, Selector = "setVertexTexture:atIndex:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "SetVertexSamplerState", ParameterByRef = new[] { false, false }, ParameterType = new[] { typeof(IMTLSamplerState), typeof(nuint) }, Selector = "setVertexSamplerState:atIndex:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "SetVertexSamplerState", ParameterByRef = new[] { false, false, false, false }, ParameterType = new[] { typeof(IMTLSamplerState), typeof(float), typeof(float), typeof(nuint) }, Selector = "setVertexSamplerState:lodMinClamp:lodMaxClamp:atIndex:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "SetViewport", ParameterByRef = new[] { false }, ParameterType = new[] { typeof(MTLViewport) }, Selector = "setViewport:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "SetFrontFacingWinding", ParameterByRef = new[] { false }, ParameterType = new[] { typeof(MTLWinding) }, Selector = "setFrontFacingWinding:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "SetCullMode", ParameterByRef = new[] { false }, ParameterType = new[] { typeof(MTLCullMode) }, Selector = "setCullMode:")]
    [ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "SetDepthClipMode", ParameterByRef = new[] { false }, ParameterType = new[] { typeof(MTLDepthClipMode) }, Selector = "setDepthClipMode:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "SetDepthBias", ParameterByRef = new[] { false, false, false }, ParameterType = new[] { typeof(float), typeof(float), typeof(float) }, Selector = "setDepthBias:slopeScale:clamp:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "SetScissorRect", ParameterByRef = new[] { false }, ParameterType = new[] { typeof(MTLScissorRect) }, Selector = "setScissorRect:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "SetTriangleFillMode", ParameterByRef = new[] { false }, ParameterType = new[] { typeof(MTLTriangleFillMode) }, Selector = "setTriangleFillMode:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "SetFragmentBuffer", ParameterByRef = new[] { false, false, false }, ParameterType = new[] { typeof(IMTLBuffer), typeof(nuint), typeof(nuint) }, Selector = "setFragmentBuffer:offset:atIndex:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "SetFragmentBufferOffset", ParameterByRef = new[] { false, false }, ParameterType = new[] { typeof(nuint), typeof(nuint) }, Selector = "setFragmentBufferOffset:atIndex:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "SetFragmentBytes", ParameterByRef = new[] { false, false, false }, ParameterType = new[] { typeof(IntPtr), typeof(nuint), typeof(nuint) }, Selector = "setFragmentBytes:length:atIndex:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "SetFragmentTexture", ParameterByRef = new[] { false, false }, ParameterType = new[] { typeof(IMTLTexture), typeof(nuint) }, Selector = "setFragmentTexture:atIndex:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "SetFragmentSamplerState", ParameterByRef = new[] { false, false }, ParameterType = new[] { typeof(IMTLSamplerState), typeof(nuint) }, Selector = "setFragmentSamplerState:atIndex:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "SetFragmentSamplerState", ParameterByRef = new[] { false, false, false, false }, ParameterType = new[] { typeof(IMTLSamplerState), typeof(float), typeof(float), typeof(nuint) }, Selector = "setFragmentSamplerState:lodMinClamp:lodMaxClamp:atIndex:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "SetBlendColor", ParameterByRef = new[] { false, false, false, false }, ParameterType = new[] { typeof(float), typeof(float), typeof(float), typeof(float) }, Selector = "setBlendColorRed:green:blue:alpha:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "SetDepthStencilState", ParameterByRef = new[] { false }, ParameterType = new[] { typeof(IMTLDepthStencilState) }, Selector = "setDepthStencilState:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "SetStencilReferenceValue", ParameterByRef = new[] { false }, ParameterType = new[] { typeof(uint) }, Selector = "setStencilReferenceValue:")]
    [ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "SetStencilFrontReferenceValue", ParameterByRef = new[] { false, false }, ParameterType = new[] { typeof(uint), typeof(uint) }, Selector = "setStencilFrontReferenceValue:backReferenceValue:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "SetVisibilityResultMode", ParameterByRef = new[] { false, false }, ParameterType = new[] { typeof(MTLVisibilityResultMode), typeof(nuint) }, Selector = "setVisibilityResultMode:offset:")]
    [ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "SetColorStoreAction", ParameterByRef = new[] { false, false }, ParameterType = new[] { typeof(MTLStoreAction), typeof(nuint) }, Selector = "setColorStoreAction:atIndex:")]
    [ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "SetDepthStoreAction", ParameterByRef = new[] { false }, ParameterType = new[] { typeof(MTLStoreAction) }, Selector = "setDepthStoreAction:")]
    [ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "SetStencilStoreAction", ParameterByRef = new[] { false }, ParameterType = new[] { typeof(MTLStoreAction) }, Selector = "setStencilStoreAction:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "DrawPrimitives", ParameterByRef = new[] { false, false, false, false }, ParameterType = new[] { typeof(MTLPrimitiveType), typeof(nuint), typeof(nuint), typeof(nuint) }, Selector = "drawPrimitives:vertexStart:vertexCount:instanceCount:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "DrawPrimitives", ParameterByRef = new[] { false, false, false }, ParameterType = new[] { typeof(MTLPrimitiveType), typeof(nuint), typeof(nuint) }, Selector = "drawPrimitives:vertexStart:vertexCount:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "DrawIndexedPrimitives", ParameterByRef = new[] { false, false, false, false, false, false }, ParameterType = new[] { typeof(MTLPrimitiveType), typeof(nuint), typeof(MTLIndexType), typeof(IMTLBuffer), typeof(nuint), typeof(nuint) }, Selector = "drawIndexedPrimitives:indexCount:indexType:indexBuffer:indexBufferOffset:instanceCount:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "DrawIndexedPrimitives", ParameterByRef = new[] { false, false, false, false, false }, ParameterType = new[] { typeof(MTLPrimitiveType), typeof(nuint), typeof(MTLIndexType), typeof(IMTLBuffer), typeof(nuint) }, Selector = "drawIndexedPrimitives:indexCount:indexType:indexBuffer:indexBufferOffset:")]
    [ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "DrawPrimitives", ParameterByRef = new[] { false, false, false, false, false }, ParameterType = new[] { typeof(MTLPrimitiveType), typeof(nuint), typeof(nuint), typeof(nuint), typeof(nuint) }, Selector = "drawPrimitives:vertexStart:vertexCount:instanceCount:baseInstance:")]
    [ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "DrawIndexedPrimitives", ParameterByRef = new[] { false, false, false, false, false, false, false, false }, ParameterType = new[] { typeof(MTLPrimitiveType), typeof(nuint), typeof(MTLIndexType), typeof(IMTLBuffer), typeof(nuint), typeof(nuint), typeof(nint), typeof(nuint) }, Selector = "drawIndexedPrimitives:indexCount:indexType:indexBuffer:indexBufferOffset:instanceCount:baseVertex:baseInstance:")]
    [ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "DrawPrimitives", ParameterByRef = new[] { false, false, false }, ParameterType = new[] { typeof(MTLPrimitiveType), typeof(IMTLBuffer), typeof(nuint) }, Selector = "drawPrimitives:indirectBuffer:indirectBufferOffset:")]
    [ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "DrawIndexedPrimitives", ParameterByRef = new[] { false, false, false, false, false, false }, ParameterType = new[] { typeof(MTLPrimitiveType), typeof(MTLIndexType), typeof(IMTLBuffer), typeof(nuint), typeof(IMTLBuffer), typeof(nuint) }, Selector = "drawIndexedPrimitives:indexType:indexBuffer:indexBufferOffset:indirectBuffer:indirectBufferOffset:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "SetFragmentBuffers", ParameterByRef = new[] { false, false, false }, ParameterType = new[] { typeof(IMTLBuffer), typeof(IntPtr), typeof(NSRange) }, Selector = "setFragmentBuffers:offsets:withRange:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "SetFragmentSamplerStates", ParameterByRef = new[] { false, false, false, false }, ParameterType = new[] { typeof(IMTLSamplerState[]), typeof(IntPtr), typeof(IntPtr), typeof(NSRange) }, Selector = "setFragmentSamplerStates:lodMinClamps:lodMaxClamps:withRange:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "SetFragmentSamplerStates", ParameterByRef = new[] { false, false }, ParameterType = new[] { typeof(IMTLSamplerState[]), typeof(NSRange) }, Selector = "setFragmentSamplerStates:withRange:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "SetFragmentTextures", ParameterByRef = new[] { false, false }, ParameterType = new[] { typeof(IMTLTexture[]), typeof(NSRange) }, Selector = "setFragmentTextures:withRange:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "SetVertexBuffers", ParameterByRef = new[] { false, false, false }, ParameterType = new[] { typeof(IMTLBuffer[]), typeof(IntPtr), typeof(NSRange) }, Selector = "setVertexBuffers:offsets:withRange:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "SetVertexBufferOffset", ParameterByRef = new[] { false, false }, ParameterType = new[] { typeof(nuint), typeof(nuint) }, Selector = "setVertexBufferOffset:atIndex:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "SetVertexBytes", ParameterByRef = new[] { false, false, false }, ParameterType = new[] { typeof(IntPtr), typeof(nuint), typeof(nuint) }, Selector = "setVertexBytes:length:atIndex:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "SetVertexSamplerStates", ParameterByRef = new[] { false, false, false, false }, ParameterType = new[] { typeof(IMTLSamplerState[]), typeof(IntPtr), typeof(IntPtr), typeof(NSRange) }, Selector = "setVertexSamplerStates:lodMinClamps:lodMaxClamps:withRange:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "SetVertexSamplerStates", ParameterByRef = new[] { false, false }, ParameterType = new[] { typeof(IMTLSamplerState[]), typeof(NSRange) }, Selector = "setVertexSamplerStates:withRange:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "SetVertexTextures", ParameterByRef = new[] { false, false }, ParameterType = new[] { typeof(IMTLTexture[]), typeof(NSRange) }, Selector = "setVertexTextures:withRange:")]
    [ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "Update", ParameterByRef = new[] { false, false }, ParameterType = new[] { typeof(IMTLFence), typeof(MTLRenderStages) }, Selector = "updateFence:afterStages:")]
    [ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "Wait", ParameterByRef = new[] { false, false }, ParameterType = new[] { typeof(IMTLFence), typeof(MTLRenderStages) }, Selector = "waitForFence:beforeStages:")]
    [ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "SetTessellationFactorBuffer", ParameterByRef = new[] { false, false, false }, ParameterType = new[] { typeof(IMTLBuffer), typeof(nuint), typeof(nuint) }, Selector = "setTessellationFactorBuffer:offset:instanceStride:")]
    [ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "SetTessellationFactorScale", ParameterByRef = new[] { false }, ParameterType = new[] { typeof(float) }, Selector = "setTessellationFactorScale:")]
    [ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "DrawPatches", ParameterByRef = new[] { false, false, false, false, false, false, false }, ParameterType = new[] { typeof(nuint), typeof(nuint), typeof(nuint), typeof(IMTLBuffer), typeof(nuint), typeof(nuint), typeof(nuint) }, Selector = "drawPatches:patchStart:patchCount:patchIndexBuffer:patchIndexBufferOffset:instanceCount:baseInstance:")]
    [ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "DrawPatches", ParameterByRef = new[] { false, false, false, false, false }, ParameterType = new[] { typeof(nuint), typeof(IMTLBuffer), typeof(nuint), typeof(IMTLBuffer), typeof(nuint) }, Selector = "drawPatches:patchIndexBuffer:patchIndexBufferOffset:indirectBuffer:indirectBufferOffset:")]
    [ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "DrawIndexedPatches", ParameterByRef = new[] { false, false, false, false, false, false, false, false, false }, ParameterType = new[] { typeof(nuint), typeof(nuint), typeof(nuint), typeof(IMTLBuffer), typeof(nuint), typeof(IMTLBuffer), typeof(nuint), typeof(nuint), typeof(nuint) }, Selector = "drawIndexedPatches:patchStart:patchCount:patchIndexBuffer:patchIndexBufferOffset:controlPointIndexBuffer:controlPointIndexBufferOffset:instanceCount:baseInstance:")]
    [ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "DrawIndexedPatches", ParameterByRef = new[] { false, false, false, false, false, false, false }, ParameterType = new[] { typeof(nuint), typeof(IMTLBuffer), typeof(nuint), typeof(IMTLBuffer), typeof(nuint), typeof(IMTLBuffer), typeof(nuint) }, Selector = "drawIndexedPatches:patchIndexBuffer:patchIndexBufferOffset:controlPointIndexBuffer:controlPointIndexBufferOffset:indirectBuffer:indirectBufferOffset:")]
    [ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "SetViewports", ParameterByRef = new[] { false, false }, ParameterType = new[] { typeof(IntPtr), typeof(nuint) }, Selector = "setViewports:count:")]
    [ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "SetScissorRects", ParameterByRef = new[] { false, false }, ParameterType = new[] { typeof(IntPtr), typeof(nuint) }, Selector = "setScissorRects:count:")]
    [ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "SetColorStoreActionOptions", ParameterByRef = new[] { false, false }, ParameterType = new[] { typeof(MTLStoreActionOptions), typeof(nuint) }, Selector = "setColorStoreActionOptions:atIndex:")]
    [ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "SetDepthStoreActionOptions", ParameterByRef = new[] { false }, ParameterType = new[] { typeof(MTLStoreActionOptions) }, Selector = "setDepthStoreActionOptions:")]
    [ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "SetStencilStoreActionOptions", ParameterByRef = new[] { false }, ParameterType = new[] { typeof(MTLStoreActionOptions) }, Selector = "setStencilStoreActionOptions:")]
    [ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "UseResource", ParameterByRef = new[] { false, false }, ParameterType = new[] { typeof(IMTLResource), typeof(MTLResourceUsage) }, Selector = "useResource:usage:")]
    [ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "UseResources", ParameterByRef = new[] { false, false, false }, ParameterType = new[] { typeof(IMTLResource[]), typeof(nuint), typeof(MTLResourceUsage) }, Selector = "useResources:count:usage:")]
    [ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "UseHeap", ParameterByRef = new[] { false }, ParameterType = new[] { typeof(IMTLHeap) }, Selector = "useHeap:")]
    [ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "UseHeaps", ParameterByRef = new[] { false, false }, ParameterType = new[] { typeof(IMTLHeap[]), typeof(nuint) }, Selector = "useHeaps:count:")]
    [ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "ExecuteCommands", ParameterByRef = new[] { false, false }, ParameterType = new[] { typeof(IMTLIndirectCommandBuffer), typeof(NSRange) }, Selector = "executeCommandsInBuffer:withRange:")]
    [ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "ExecuteCommands", ParameterByRef = new[] { false, false, false }, ParameterType = new[] { typeof(IMTLIndirectCommandBuffer), typeof(IMTLBuffer), typeof(nuint) }, Selector = "executeCommandsInBuffer:indirectBuffer:indirectBufferOffset:")]
    [ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "SetTileBytes", ParameterByRef = new[] { false, false, false }, ParameterType = new[] { typeof(IntPtr), typeof(nuint), typeof(nuint) }, Selector = "setTileBytes:length:atIndex:")]
    [ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "SetTileBuffer", ParameterByRef = new[] { false, false, false }, ParameterType = new[] { typeof(IMTLBuffer), typeof(nuint), typeof(nuint) }, Selector = "setTileBuffer:offset:atIndex:")]
    [ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "SetTileBufferOffset", ParameterByRef = new[] { false, false }, ParameterType = new[] { typeof(nuint), typeof(nuint) }, Selector = "setTileBufferOffset:atIndex:")]
    [ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "SetTileBuffers", ParameterByRef = new[] { false, false, false }, ParameterType = new[] { typeof(IMTLBuffer[]), typeof(IntPtr), typeof(NSRange) }, Selector = "setTileBuffers:offsets:withRange:")]
    [ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "SetTileTexture", ParameterByRef = new[] { false, false }, ParameterType = new[] { typeof(IMTLTexture), typeof(nuint) }, Selector = "setTileTexture:atIndex:")]
    [ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "SetTileTextures", ParameterByRef = new[] { false, false }, ParameterType = new[] { typeof(IMTLTexture[]), typeof(NSRange) }, Selector = "setTileTextures:withRange:")]
    [ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "SetTileSamplerState", ParameterByRef = new[] { false, false }, ParameterType = new[] { typeof(IMTLSamplerState), typeof(nuint) }, Selector = "setTileSamplerState:atIndex:")]
    [ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "SetTileSamplerStates", ParameterByRef = new[] { false, false }, ParameterType = new[] { typeof(IMTLSamplerState[]), typeof(NSRange) }, Selector = "setTileSamplerStates:withRange:")]
    [ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "SetTileSamplerState", ParameterByRef = new[] { false, false, false, false }, ParameterType = new[] { typeof(IMTLSamplerState), typeof(float), typeof(float), typeof(nuint) }, Selector = "setTileSamplerState:lodMinClamp:lodMaxClamp:atIndex:")]
    [ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "SetTileSamplerStates", ParameterByRef = new[] { false, false, false, false }, ParameterType = new[] { typeof(IMTLSamplerState[]), typeof(IntPtr), typeof(IntPtr), typeof(NSRange) }, Selector = "setTileSamplerStates:lodMinClamps:lodMaxClamps:withRange:")]
    [ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "DispatchThreadsPerTile", ParameterByRef = new[] { false }, ParameterType = new[] { typeof(MTLSize) }, Selector = "dispatchThreadsPerTile:")]
    [ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "SetThreadgroupMemoryLength", ParameterByRef = new[] { false, false, false }, ParameterType = new[] { typeof(nuint), typeof(nuint), typeof(nuint) }, Selector = "setThreadgroupMemoryLength:offset:atIndex:")]
    [ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "SetVertexAmplificationCount", ParameterByRef = new[] { false, false }, ParameterType = new[] { typeof(nuint), typeof(MTLVertexAmplificationViewMapping) }, Selector = "setVertexAmplificationCount:viewMappings:")]
    [ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "UseResource", ParameterByRef = new[] { false, false, false }, ParameterType = new[] { typeof(IMTLResource), typeof(MTLResourceUsage), typeof(MTLRenderStages) }, Selector = "useResource:usage:stages:")]
    [ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "UseResources", ParameterByRef = new[] { false, false, false, false }, ParameterType = new[] { typeof(IMTLResource[]), typeof(nuint), typeof(MTLResourceUsage), typeof(MTLRenderStages) }, Selector = "useResources:count:usage:stages:")]
    [ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "UseHeap", ParameterByRef = new[] { false, false }, ParameterType = new[] { typeof(IMTLHeap), typeof(MTLRenderStages) }, Selector = "useHeap:stages:")]
    [ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "UseHeaps", ParameterByRef = new[] { false, false, false }, ParameterType = new[] { typeof(IMTLHeap[]), typeof(nuint), typeof(MTLRenderStages) }, Selector = "useHeaps:count:stages:")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "tileWidth", IsProperty = true, IsRequired = false, IsStatic = false, Name = "TileWidth", PropertyType = typeof(nuint), Selector = "tileWidth")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "tileHeight", IsProperty = true, IsRequired = false, IsStatic = false, Name = "TileHeight", PropertyType = typeof(nuint), Selector = "tileHeight")]
    public interface IMTLRenderCommandEncoder : IMTLCommandEncoder, INativeObject, IDisposable
    {
        [BindingImpl(BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
        [Export("drawIndexedPrimitives:indexCount:indexType:indexBuffer:indexBufferOffset:instanceCount:")]
        [Preserve(Conditional = true)]
        void DrawIndexedPrimitives(MTLPrimitiveType primitiveType, nuint indexCount, MTLIndexType indexType, IMTLBuffer! indexBuffer, nuint indexBufferOffset, nuint instanceCount);
    }
}
Xamarin iOS 0.0
Xamarin macOS 0.0
Xamarin tvOS 0.0
Information specific to xamarinios
Assembly

Xamarin.iOS , Version=0.0.0.0, PublicKeyToken=84e04ff9cfb79065

Referencing

The API is automatically referenced.

Platform Restrictions

This framework does not have platform annotations.

  • Built-in API
  • Package-provided API

11/08/2024
An error has occurred. This application may no longer respond until reloaded. Reload 🗙