IMTL4RenderCommandEncoder Interfaccia
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Questa interfaccia rappresenta il protocollo MTL4RenderCommandEncoderObjective-C .
[Foundation.Protocol(BackwardsCompatibleCodeGeneration=false, Name="MTL4RenderCommandEncoder", WrapperType=typeof(Metal.MTL4RenderCommandEncoderWrapper))]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetColorAttachmentMap", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLLogicalToPhysicalColorAttachmentMap) }, Selector="setColorAttachmentMap:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetRenderPipelineState", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.IMTLRenderPipelineState) }, Selector="setRenderPipelineState:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetViewport", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLViewport) }, Selector="setViewport:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetViewports", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.IntPtr), typeof(System.UIntPtr) }, Selector="setViewports:count:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetVertexAmplificationCount", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.UIntPtr), typeof(System.IntPtr) }, Selector="setVertexAmplificationCount:viewMappings:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetCullMode", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLCullMode) }, Selector="setCullMode:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetDepthClipMode", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLDepthClipMode) }, Selector="setDepthClipMode:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetDepthBias", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(System.Single), typeof(System.Single), typeof(System.Single) }, Selector="setDepthBias:slopeScale:clamp:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetDepthTest", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.Single), typeof(System.Single) }, Selector="setDepthTestMinBound:maxBound:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetScissorRect", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLScissorRect) }, Selector="setScissorRect:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetScissorRects", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.IntPtr), typeof(System.UIntPtr) }, Selector="setScissorRects:count:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetTriangleFillMode", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLTriangleFillMode) }, Selector="setTriangleFillMode:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetBlendColorRed", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(System.Single), typeof(System.Single), typeof(System.Single), typeof(System.Single) }, Selector="setBlendColorRed:green:blue:alpha:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetDepthStencilState", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.IMTLDepthStencilState) }, Selector="setDepthStencilState:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetStencilReferenceValue", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.UInt32) }, Selector="setStencilReferenceValue:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetStencilFrontReferenceValue", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.UInt32), typeof(System.UInt32) }, Selector="setStencilFrontReferenceValue:backReferenceValue:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetVisibilityResultMode", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLVisibilityResultMode), typeof(System.UIntPtr) }, Selector="setVisibilityResultMode:offset:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetColorStoreAction", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLStoreAction), typeof(System.UIntPtr) }, Selector="setColorStoreAction:atIndex:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetDepthStoreAction", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLStoreAction) }, Selector="setDepthStoreAction:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetStencilStoreAction", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLStoreAction) }, Selector="setStencilStoreAction:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawPrimitives", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPrimitiveType), typeof(System.UIntPtr), typeof(System.UIntPtr) }, Selector="drawPrimitives:vertexStart:vertexCount:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawPrimitives", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPrimitiveType), typeof(System.UIntPtr), typeof(System.UIntPtr), typeof(System.UIntPtr) }, Selector="drawPrimitives:vertexStart:vertexCount:instanceCount:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawPrimitives", ParameterByRef=new System.Boolean[] { false, false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPrimitiveType), typeof(System.UIntPtr), typeof(System.UIntPtr), typeof(System.UIntPtr), typeof(System.UIntPtr) }, Selector="drawPrimitives:vertexStart:vertexCount:instanceCount:baseInstance:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawIndexedPrimitives", ParameterByRef=new System.Boolean[] { false, false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPrimitiveType), typeof(System.UIntPtr), typeof(Metal.MTLIndexType), typeof(System.UInt64), typeof(System.UIntPtr) }, Selector="drawIndexedPrimitives:indexCount:indexType:indexBuffer:indexBufferLength:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawIndexedPrimitives", ParameterByRef=new System.Boolean[] { false, false, false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPrimitiveType), typeof(System.UIntPtr), typeof(Metal.MTLIndexType), typeof(System.UInt64), typeof(System.UIntPtr), typeof(System.UIntPtr) }, Selector="drawIndexedPrimitives:indexCount:indexType:indexBuffer:indexBufferLength:instanceCount:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawIndexedPrimitives", ParameterByRef=new System.Boolean[] { false, false, false, false, false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPrimitiveType), typeof(System.UIntPtr), typeof(Metal.MTLIndexType), typeof(System.UInt64), typeof(System.UIntPtr), typeof(System.UIntPtr), typeof(System.IntPtr), typeof(System.UIntPtr) }, Selector="drawIndexedPrimitives:indexCount:indexType:indexBuffer:indexBufferLength:instanceCount:baseVertex:baseInstance:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawPrimitives", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPrimitiveType), typeof(System.UInt64) }, Selector="drawPrimitives:indirectBuffer:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawIndexedPrimitives", ParameterByRef=new System.Boolean[] { false, false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPrimitiveType), typeof(Metal.MTLIndexType), typeof(System.UInt64), typeof(System.UIntPtr), typeof(System.UInt64) }, Selector="drawIndexedPrimitives:indexType:indexBuffer:indexBufferLength:indirectBuffer:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ExecuteCommandsInBuffer", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLIndirectCommandBuffer), typeof(Foundation.NSRange) }, Selector="executeCommandsInBuffer:withRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ExecuteCommandsInBuffer", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLIndirectCommandBuffer), typeof(System.UInt64) }, Selector="executeCommandsInBuffer:indirectBuffer:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetObjectThreadgroupMemoryLength", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.UIntPtr), typeof(System.UIntPtr) }, Selector="setObjectThreadgroupMemoryLength:atIndex:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawMeshThreadgroups", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLSize), typeof(Metal.MTLSize), typeof(Metal.MTLSize) }, Selector="drawMeshThreadgroups:threadsPerObjectThreadgroup:threadsPerMeshThreadgroup:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawMeshThreads", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLSize), typeof(Metal.MTLSize), typeof(Metal.MTLSize) }, Selector="drawMeshThreads:threadsPerObjectThreadgroup:threadsPerMeshThreadgroup:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawMeshThreadgroups", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(System.UInt64), typeof(Metal.MTLSize), typeof(Metal.MTLSize) }, Selector="drawMeshThreadgroupsWithIndirectBuffer:threadsPerObjectThreadgroup:threadsPerMeshThreadgroup:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DispatchThreadsPerTile", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLSize) }, Selector="dispatchThreadsPerTile:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetThreadgroupMemoryLength", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(System.UIntPtr), typeof(System.UIntPtr), typeof(System.UIntPtr) }, Selector="setThreadgroupMemoryLength:offset:atIndex:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetArgumentTable", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTL4ArgumentTable), typeof(Metal.MTLRenderStages) }, Selector="setArgumentTable:atStages:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetFrontFacingWinding", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLWinding) }, Selector="setFrontFacingWinding:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="WriteTimestamp", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTL4TimestampGranularity), typeof(Metal.MTLRenderStages), typeof(Metal.IMTL4CounterHeap), typeof(System.UIntPtr) }, Selector="writeTimestampWithGranularity:afterStage:intoHeap:atIndex:")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="tileWidth", IsProperty=true, IsRequired=true, IsStatic=false, Name="TileWidth", PropertyType=typeof(System.UIntPtr), Selector="tileWidth")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="tileHeight", IsProperty=true, IsRequired=true, IsStatic=false, Name="TileHeight", PropertyType=typeof(System.UIntPtr), Selector="tileHeight")]
public interface IMTL4RenderCommandEncoder : IDisposable, Metal.IMTL4CommandEncoder
[Foundation.Protocol(BackwardsCompatibleCodeGeneration=false, Name="MTL4RenderCommandEncoder", WrapperType=typeof(Metal.MTL4RenderCommandEncoderWrapper))]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetColorAttachmentMap", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLLogicalToPhysicalColorAttachmentMap) }, Selector="setColorAttachmentMap:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetRenderPipelineState", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.IMTLRenderPipelineState) }, Selector="setRenderPipelineState:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetViewport", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLViewport) }, Selector="setViewport:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetViewports", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.IntPtr), typeof(System.UIntPtr) }, Selector="setViewports:count:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetVertexAmplificationCount", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.UIntPtr), typeof(System.IntPtr) }, Selector="setVertexAmplificationCount:viewMappings:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetCullMode", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLCullMode) }, Selector="setCullMode:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetDepthClipMode", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLDepthClipMode) }, Selector="setDepthClipMode:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetDepthBias", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(System.Single), typeof(System.Single), typeof(System.Single) }, Selector="setDepthBias:slopeScale:clamp:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetDepthTest", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.Single), typeof(System.Single) }, Selector="setDepthTestMinBound:maxBound:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetScissorRect", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLScissorRect) }, Selector="setScissorRect:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetScissorRects", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.IntPtr), typeof(System.UIntPtr) }, Selector="setScissorRects:count:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetTriangleFillMode", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLTriangleFillMode) }, Selector="setTriangleFillMode:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetBlendColorRed", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(System.Single), typeof(System.Single), typeof(System.Single), typeof(System.Single) }, Selector="setBlendColorRed:green:blue:alpha:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetDepthStencilState", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.IMTLDepthStencilState) }, Selector="setDepthStencilState:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetStencilReferenceValue", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.UInt32) }, Selector="setStencilReferenceValue:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetStencilFrontReferenceValue", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.UInt32), typeof(System.UInt32) }, Selector="setStencilFrontReferenceValue:backReferenceValue:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetVisibilityResultMode", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLVisibilityResultMode), typeof(System.UIntPtr) }, Selector="setVisibilityResultMode:offset:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetColorStoreAction", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLStoreAction), typeof(System.UIntPtr) }, Selector="setColorStoreAction:atIndex:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetDepthStoreAction", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLStoreAction) }, Selector="setDepthStoreAction:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetStencilStoreAction", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLStoreAction) }, Selector="setStencilStoreAction:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawPrimitives", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPrimitiveType), typeof(System.UIntPtr), typeof(System.UIntPtr) }, Selector="drawPrimitives:vertexStart:vertexCount:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawPrimitives", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPrimitiveType), typeof(System.UIntPtr), typeof(System.UIntPtr), typeof(System.UIntPtr) }, Selector="drawPrimitives:vertexStart:vertexCount:instanceCount:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawPrimitives", ParameterByRef=new System.Boolean[] { false, false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPrimitiveType), typeof(System.UIntPtr), typeof(System.UIntPtr), typeof(System.UIntPtr), typeof(System.UIntPtr) }, Selector="drawPrimitives:vertexStart:vertexCount:instanceCount:baseInstance:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawIndexedPrimitives", ParameterByRef=new System.Boolean[] { false, false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPrimitiveType), typeof(System.UIntPtr), typeof(Metal.MTLIndexType), typeof(System.UInt64), typeof(System.UIntPtr) }, Selector="drawIndexedPrimitives:indexCount:indexType:indexBuffer:indexBufferLength:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawIndexedPrimitives", ParameterByRef=new System.Boolean[] { false, false, false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPrimitiveType), typeof(System.UIntPtr), typeof(Metal.MTLIndexType), typeof(System.UInt64), typeof(System.UIntPtr), typeof(System.UIntPtr) }, Selector="drawIndexedPrimitives:indexCount:indexType:indexBuffer:indexBufferLength:instanceCount:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawIndexedPrimitives", ParameterByRef=new System.Boolean[] { false, false, false, false, false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPrimitiveType), typeof(System.UIntPtr), typeof(Metal.MTLIndexType), typeof(System.UInt64), typeof(System.UIntPtr), typeof(System.UIntPtr), typeof(System.IntPtr), typeof(System.UIntPtr) }, Selector="drawIndexedPrimitives:indexCount:indexType:indexBuffer:indexBufferLength:instanceCount:baseVertex:baseInstance:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawPrimitives", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPrimitiveType), typeof(System.UInt64) }, Selector="drawPrimitives:indirectBuffer:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawIndexedPrimitives", ParameterByRef=new System.Boolean[] { false, false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPrimitiveType), typeof(Metal.MTLIndexType), typeof(System.UInt64), typeof(System.UIntPtr), typeof(System.UInt64) }, Selector="drawIndexedPrimitives:indexType:indexBuffer:indexBufferLength:indirectBuffer:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ExecuteCommandsInBuffer", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLIndirectCommandBuffer), typeof(Foundation.NSRange) }, Selector="executeCommandsInBuffer:withRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ExecuteCommandsInBuffer", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLIndirectCommandBuffer), typeof(System.UInt64) }, Selector="executeCommandsInBuffer:indirectBuffer:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetObjectThreadgroupMemoryLength", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.UIntPtr), typeof(System.UIntPtr) }, Selector="setObjectThreadgroupMemoryLength:atIndex:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawMeshThreadgroups", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLSize), typeof(Metal.MTLSize), typeof(Metal.MTLSize) }, Selector="drawMeshThreadgroups:threadsPerObjectThreadgroup:threadsPerMeshThreadgroup:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawMeshThreads", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLSize), typeof(Metal.MTLSize), typeof(Metal.MTLSize) }, Selector="drawMeshThreads:threadsPerObjectThreadgroup:threadsPerMeshThreadgroup:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawMeshThreadgroups", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(System.UInt64), typeof(Metal.MTLSize), typeof(Metal.MTLSize) }, Selector="drawMeshThreadgroupsWithIndirectBuffer:threadsPerObjectThreadgroup:threadsPerMeshThreadgroup:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DispatchThreadsPerTile", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLSize) }, Selector="dispatchThreadsPerTile:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetThreadgroupMemoryLength", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(System.UIntPtr), typeof(System.UIntPtr), typeof(System.UIntPtr) }, Selector="setThreadgroupMemoryLength:offset:atIndex:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetArgumentTable", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTL4ArgumentTable), typeof(Metal.MTLRenderStages) }, Selector="setArgumentTable:atStages:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetFrontFacingWinding", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLWinding) }, Selector="setFrontFacingWinding:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="WriteTimestamp", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTL4TimestampGranularity), typeof(Metal.MTLRenderStages), typeof(Metal.IMTL4CounterHeap), typeof(System.UIntPtr) }, Selector="writeTimestampWithGranularity:afterStage:intoHeap:atIndex:")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="tileWidth", IsProperty=true, IsRequired=true, IsStatic=false, Name="TileWidth", PropertyType=typeof(System.UIntPtr), Selector="tileWidth")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="tileHeight", IsProperty=true, IsRequired=true, IsStatic=false, Name="TileHeight", PropertyType=typeof(System.UIntPtr), Selector="tileHeight")]
[ObjCRuntime.UnsupportedSimulator("ios")]
public interface IMTL4RenderCommandEncoder : IDisposable, Metal.IMTL4CommandEncoder
[Foundation.Protocol(BackwardsCompatibleCodeGeneration=false, Name="MTL4RenderCommandEncoder", WrapperType=typeof(Metal.MTL4RenderCommandEncoderWrapper))]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetColorAttachmentMap", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLLogicalToPhysicalColorAttachmentMap) }, Selector="setColorAttachmentMap:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetRenderPipelineState", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.IMTLRenderPipelineState) }, Selector="setRenderPipelineState:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetViewport", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLViewport) }, Selector="setViewport:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetViewports", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.IntPtr), typeof(System.UIntPtr) }, Selector="setViewports:count:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetVertexAmplificationCount", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.UIntPtr), typeof(System.IntPtr) }, Selector="setVertexAmplificationCount:viewMappings:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetCullMode", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLCullMode) }, Selector="setCullMode:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetDepthClipMode", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLDepthClipMode) }, Selector="setDepthClipMode:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetDepthBias", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(System.Single), typeof(System.Single), typeof(System.Single) }, Selector="setDepthBias:slopeScale:clamp:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetDepthTest", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.Single), typeof(System.Single) }, Selector="setDepthTestMinBound:maxBound:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetScissorRect", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLScissorRect) }, Selector="setScissorRect:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetScissorRects", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.IntPtr), typeof(System.UIntPtr) }, Selector="setScissorRects:count:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetTriangleFillMode", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLTriangleFillMode) }, Selector="setTriangleFillMode:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetBlendColorRed", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(System.Single), typeof(System.Single), typeof(System.Single), typeof(System.Single) }, Selector="setBlendColorRed:green:blue:alpha:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetDepthStencilState", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.IMTLDepthStencilState) }, Selector="setDepthStencilState:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetStencilReferenceValue", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.UInt32) }, Selector="setStencilReferenceValue:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetStencilFrontReferenceValue", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.UInt32), typeof(System.UInt32) }, Selector="setStencilFrontReferenceValue:backReferenceValue:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetVisibilityResultMode", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLVisibilityResultMode), typeof(System.UIntPtr) }, Selector="setVisibilityResultMode:offset:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetColorStoreAction", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLStoreAction), typeof(System.UIntPtr) }, Selector="setColorStoreAction:atIndex:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetDepthStoreAction", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLStoreAction) }, Selector="setDepthStoreAction:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetStencilStoreAction", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLStoreAction) }, Selector="setStencilStoreAction:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawPrimitives", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPrimitiveType), typeof(System.UIntPtr), typeof(System.UIntPtr) }, Selector="drawPrimitives:vertexStart:vertexCount:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawPrimitives", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPrimitiveType), typeof(System.UIntPtr), typeof(System.UIntPtr), typeof(System.UIntPtr) }, Selector="drawPrimitives:vertexStart:vertexCount:instanceCount:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawPrimitives", ParameterByRef=new System.Boolean[] { false, false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPrimitiveType), typeof(System.UIntPtr), typeof(System.UIntPtr), typeof(System.UIntPtr), typeof(System.UIntPtr) }, Selector="drawPrimitives:vertexStart:vertexCount:instanceCount:baseInstance:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawIndexedPrimitives", ParameterByRef=new System.Boolean[] { false, false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPrimitiveType), typeof(System.UIntPtr), typeof(Metal.MTLIndexType), typeof(System.UInt64), typeof(System.UIntPtr) }, Selector="drawIndexedPrimitives:indexCount:indexType:indexBuffer:indexBufferLength:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawIndexedPrimitives", ParameterByRef=new System.Boolean[] { false, false, false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPrimitiveType), typeof(System.UIntPtr), typeof(Metal.MTLIndexType), typeof(System.UInt64), typeof(System.UIntPtr), typeof(System.UIntPtr) }, Selector="drawIndexedPrimitives:indexCount:indexType:indexBuffer:indexBufferLength:instanceCount:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawIndexedPrimitives", ParameterByRef=new System.Boolean[] { false, false, false, false, false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPrimitiveType), typeof(System.UIntPtr), typeof(Metal.MTLIndexType), typeof(System.UInt64), typeof(System.UIntPtr), typeof(System.UIntPtr), typeof(System.IntPtr), typeof(System.UIntPtr) }, Selector="drawIndexedPrimitives:indexCount:indexType:indexBuffer:indexBufferLength:instanceCount:baseVertex:baseInstance:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawPrimitives", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPrimitiveType), typeof(System.UInt64) }, Selector="drawPrimitives:indirectBuffer:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawIndexedPrimitives", ParameterByRef=new System.Boolean[] { false, false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPrimitiveType), typeof(Metal.MTLIndexType), typeof(System.UInt64), typeof(System.UIntPtr), typeof(System.UInt64) }, Selector="drawIndexedPrimitives:indexType:indexBuffer:indexBufferLength:indirectBuffer:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ExecuteCommandsInBuffer", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLIndirectCommandBuffer), typeof(Foundation.NSRange) }, Selector="executeCommandsInBuffer:withRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ExecuteCommandsInBuffer", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLIndirectCommandBuffer), typeof(System.UInt64) }, Selector="executeCommandsInBuffer:indirectBuffer:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetObjectThreadgroupMemoryLength", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.UIntPtr), typeof(System.UIntPtr) }, Selector="setObjectThreadgroupMemoryLength:atIndex:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawMeshThreadgroups", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLSize), typeof(Metal.MTLSize), typeof(Metal.MTLSize) }, Selector="drawMeshThreadgroups:threadsPerObjectThreadgroup:threadsPerMeshThreadgroup:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawMeshThreads", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLSize), typeof(Metal.MTLSize), typeof(Metal.MTLSize) }, Selector="drawMeshThreads:threadsPerObjectThreadgroup:threadsPerMeshThreadgroup:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawMeshThreadgroups", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(System.UInt64), typeof(Metal.MTLSize), typeof(Metal.MTLSize) }, Selector="drawMeshThreadgroupsWithIndirectBuffer:threadsPerObjectThreadgroup:threadsPerMeshThreadgroup:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DispatchThreadsPerTile", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLSize) }, Selector="dispatchThreadsPerTile:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetThreadgroupMemoryLength", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(System.UIntPtr), typeof(System.UIntPtr), typeof(System.UIntPtr) }, Selector="setThreadgroupMemoryLength:offset:atIndex:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetArgumentTable", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTL4ArgumentTable), typeof(Metal.MTLRenderStages) }, Selector="setArgumentTable:atStages:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetFrontFacingWinding", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLWinding) }, Selector="setFrontFacingWinding:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="WriteTimestamp", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTL4TimestampGranularity), typeof(Metal.MTLRenderStages), typeof(Metal.IMTL4CounterHeap), typeof(System.UIntPtr) }, Selector="writeTimestampWithGranularity:afterStage:intoHeap:atIndex:")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="tileWidth", IsProperty=true, IsRequired=true, IsStatic=false, Name="TileWidth", PropertyType=typeof(System.UIntPtr), Selector="tileWidth")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="tileHeight", IsProperty=true, IsRequired=true, IsStatic=false, Name="TileHeight", PropertyType=typeof(System.UIntPtr), Selector="tileHeight")]
[ObjCRuntime.UnsupportedSimulator("tvos")]
public interface IMTL4RenderCommandEncoder : IDisposable, Metal.IMTL4CommandEncoder
[<Foundation.Protocol(BackwardsCompatibleCodeGeneration=false, Name="MTL4RenderCommandEncoder", WrapperType=typeof(Metal.MTL4RenderCommandEncoderWrapper))>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetColorAttachmentMap", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLLogicalToPhysicalColorAttachmentMap) }, Selector="setColorAttachmentMap:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetRenderPipelineState", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.IMTLRenderPipelineState) }, Selector="setRenderPipelineState:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetViewport", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLViewport) }, Selector="setViewport:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetViewports", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.IntPtr), typeof(System.UIntPtr) }, Selector="setViewports:count:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetVertexAmplificationCount", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.UIntPtr), typeof(System.IntPtr) }, Selector="setVertexAmplificationCount:viewMappings:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetCullMode", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLCullMode) }, Selector="setCullMode:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetDepthClipMode", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLDepthClipMode) }, Selector="setDepthClipMode:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetDepthBias", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(System.Single), typeof(System.Single), typeof(System.Single) }, Selector="setDepthBias:slopeScale:clamp:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetDepthTest", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.Single), typeof(System.Single) }, Selector="setDepthTestMinBound:maxBound:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetScissorRect", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLScissorRect) }, Selector="setScissorRect:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetScissorRects", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.IntPtr), typeof(System.UIntPtr) }, Selector="setScissorRects:count:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetTriangleFillMode", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLTriangleFillMode) }, Selector="setTriangleFillMode:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetBlendColorRed", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(System.Single), typeof(System.Single), typeof(System.Single), typeof(System.Single) }, Selector="setBlendColorRed:green:blue:alpha:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetDepthStencilState", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.IMTLDepthStencilState) }, Selector="setDepthStencilState:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetStencilReferenceValue", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.UInt32) }, Selector="setStencilReferenceValue:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetStencilFrontReferenceValue", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.UInt32), typeof(System.UInt32) }, Selector="setStencilFrontReferenceValue:backReferenceValue:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetVisibilityResultMode", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLVisibilityResultMode), typeof(System.UIntPtr) }, Selector="setVisibilityResultMode:offset:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetColorStoreAction", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLStoreAction), typeof(System.UIntPtr) }, Selector="setColorStoreAction:atIndex:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetDepthStoreAction", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLStoreAction) }, Selector="setDepthStoreAction:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetStencilStoreAction", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLStoreAction) }, Selector="setStencilStoreAction:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawPrimitives", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPrimitiveType), typeof(System.UIntPtr), typeof(System.UIntPtr) }, Selector="drawPrimitives:vertexStart:vertexCount:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawPrimitives", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPrimitiveType), typeof(System.UIntPtr), typeof(System.UIntPtr), typeof(System.UIntPtr) }, Selector="drawPrimitives:vertexStart:vertexCount:instanceCount:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawPrimitives", ParameterByRef=new System.Boolean[] { false, false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPrimitiveType), typeof(System.UIntPtr), typeof(System.UIntPtr), typeof(System.UIntPtr), typeof(System.UIntPtr) }, Selector="drawPrimitives:vertexStart:vertexCount:instanceCount:baseInstance:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawIndexedPrimitives", ParameterByRef=new System.Boolean[] { false, false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPrimitiveType), typeof(System.UIntPtr), typeof(Metal.MTLIndexType), typeof(System.UInt64), typeof(System.UIntPtr) }, Selector="drawIndexedPrimitives:indexCount:indexType:indexBuffer:indexBufferLength:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawIndexedPrimitives", ParameterByRef=new System.Boolean[] { false, false, false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPrimitiveType), typeof(System.UIntPtr), typeof(Metal.MTLIndexType), typeof(System.UInt64), typeof(System.UIntPtr), typeof(System.UIntPtr) }, Selector="drawIndexedPrimitives:indexCount:indexType:indexBuffer:indexBufferLength:instanceCount:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawIndexedPrimitives", ParameterByRef=new System.Boolean[] { false, false, false, false, false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPrimitiveType), typeof(System.UIntPtr), typeof(Metal.MTLIndexType), typeof(System.UInt64), typeof(System.UIntPtr), typeof(System.UIntPtr), typeof(System.IntPtr), typeof(System.UIntPtr) }, Selector="drawIndexedPrimitives:indexCount:indexType:indexBuffer:indexBufferLength:instanceCount:baseVertex:baseInstance:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawPrimitives", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPrimitiveType), typeof(System.UInt64) }, Selector="drawPrimitives:indirectBuffer:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawIndexedPrimitives", ParameterByRef=new System.Boolean[] { false, false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPrimitiveType), typeof(Metal.MTLIndexType), typeof(System.UInt64), typeof(System.UIntPtr), typeof(System.UInt64) }, Selector="drawIndexedPrimitives:indexType:indexBuffer:indexBufferLength:indirectBuffer:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ExecuteCommandsInBuffer", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLIndirectCommandBuffer), typeof(Foundation.NSRange) }, Selector="executeCommandsInBuffer:withRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ExecuteCommandsInBuffer", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLIndirectCommandBuffer), typeof(System.UInt64) }, Selector="executeCommandsInBuffer:indirectBuffer:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetObjectThreadgroupMemoryLength", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.UIntPtr), typeof(System.UIntPtr) }, Selector="setObjectThreadgroupMemoryLength:atIndex:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawMeshThreadgroups", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLSize), typeof(Metal.MTLSize), typeof(Metal.MTLSize) }, Selector="drawMeshThreadgroups:threadsPerObjectThreadgroup:threadsPerMeshThreadgroup:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawMeshThreads", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLSize), typeof(Metal.MTLSize), typeof(Metal.MTLSize) }, Selector="drawMeshThreads:threadsPerObjectThreadgroup:threadsPerMeshThreadgroup:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawMeshThreadgroups", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(System.UInt64), typeof(Metal.MTLSize), typeof(Metal.MTLSize) }, Selector="drawMeshThreadgroupsWithIndirectBuffer:threadsPerObjectThreadgroup:threadsPerMeshThreadgroup:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DispatchThreadsPerTile", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLSize) }, Selector="dispatchThreadsPerTile:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetThreadgroupMemoryLength", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(System.UIntPtr), typeof(System.UIntPtr), typeof(System.UIntPtr) }, Selector="setThreadgroupMemoryLength:offset:atIndex:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetArgumentTable", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTL4ArgumentTable), typeof(Metal.MTLRenderStages) }, Selector="setArgumentTable:atStages:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetFrontFacingWinding", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLWinding) }, Selector="setFrontFacingWinding:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="WriteTimestamp", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTL4TimestampGranularity), typeof(Metal.MTLRenderStages), typeof(Metal.IMTL4CounterHeap), typeof(System.UIntPtr) }, Selector="writeTimestampWithGranularity:afterStage:intoHeap:atIndex:")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="tileWidth", IsProperty=true, IsRequired=true, IsStatic=false, Name="TileWidth", PropertyType=typeof(System.UIntPtr), Selector="tileWidth")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="tileHeight", IsProperty=true, IsRequired=true, IsStatic=false, Name="TileHeight", PropertyType=typeof(System.UIntPtr), Selector="tileHeight")>]
type IMTL4RenderCommandEncoder = interface
interface INativeObject
interface IDisposable
interface IMTL4CommandEncoder
[<Foundation.Protocol(BackwardsCompatibleCodeGeneration=false, Name="MTL4RenderCommandEncoder", WrapperType=typeof(Metal.MTL4RenderCommandEncoderWrapper))>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetColorAttachmentMap", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLLogicalToPhysicalColorAttachmentMap) }, Selector="setColorAttachmentMap:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetRenderPipelineState", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.IMTLRenderPipelineState) }, Selector="setRenderPipelineState:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetViewport", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLViewport) }, Selector="setViewport:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetViewports", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.IntPtr), typeof(System.UIntPtr) }, Selector="setViewports:count:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetVertexAmplificationCount", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.UIntPtr), typeof(System.IntPtr) }, Selector="setVertexAmplificationCount:viewMappings:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetCullMode", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLCullMode) }, Selector="setCullMode:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetDepthClipMode", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLDepthClipMode) }, Selector="setDepthClipMode:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetDepthBias", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(System.Single), typeof(System.Single), typeof(System.Single) }, Selector="setDepthBias:slopeScale:clamp:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetDepthTest", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.Single), typeof(System.Single) }, Selector="setDepthTestMinBound:maxBound:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetScissorRect", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLScissorRect) }, Selector="setScissorRect:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetScissorRects", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.IntPtr), typeof(System.UIntPtr) }, Selector="setScissorRects:count:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetTriangleFillMode", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLTriangleFillMode) }, Selector="setTriangleFillMode:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetBlendColorRed", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(System.Single), typeof(System.Single), typeof(System.Single), typeof(System.Single) }, Selector="setBlendColorRed:green:blue:alpha:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetDepthStencilState", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.IMTLDepthStencilState) }, Selector="setDepthStencilState:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetStencilReferenceValue", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.UInt32) }, Selector="setStencilReferenceValue:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetStencilFrontReferenceValue", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.UInt32), typeof(System.UInt32) }, Selector="setStencilFrontReferenceValue:backReferenceValue:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetVisibilityResultMode", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLVisibilityResultMode), typeof(System.UIntPtr) }, Selector="setVisibilityResultMode:offset:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetColorStoreAction", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLStoreAction), typeof(System.UIntPtr) }, Selector="setColorStoreAction:atIndex:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetDepthStoreAction", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLStoreAction) }, Selector="setDepthStoreAction:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetStencilStoreAction", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLStoreAction) }, Selector="setStencilStoreAction:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawPrimitives", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPrimitiveType), typeof(System.UIntPtr), typeof(System.UIntPtr) }, Selector="drawPrimitives:vertexStart:vertexCount:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawPrimitives", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPrimitiveType), typeof(System.UIntPtr), typeof(System.UIntPtr), typeof(System.UIntPtr) }, Selector="drawPrimitives:vertexStart:vertexCount:instanceCount:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawPrimitives", ParameterByRef=new System.Boolean[] { false, false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPrimitiveType), typeof(System.UIntPtr), typeof(System.UIntPtr), typeof(System.UIntPtr), typeof(System.UIntPtr) }, Selector="drawPrimitives:vertexStart:vertexCount:instanceCount:baseInstance:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawIndexedPrimitives", ParameterByRef=new System.Boolean[] { false, false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPrimitiveType), typeof(System.UIntPtr), typeof(Metal.MTLIndexType), typeof(System.UInt64), typeof(System.UIntPtr) }, Selector="drawIndexedPrimitives:indexCount:indexType:indexBuffer:indexBufferLength:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawIndexedPrimitives", ParameterByRef=new System.Boolean[] { false, false, false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPrimitiveType), typeof(System.UIntPtr), typeof(Metal.MTLIndexType), typeof(System.UInt64), typeof(System.UIntPtr), typeof(System.UIntPtr) }, Selector="drawIndexedPrimitives:indexCount:indexType:indexBuffer:indexBufferLength:instanceCount:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawIndexedPrimitives", ParameterByRef=new System.Boolean[] { false, false, false, false, false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPrimitiveType), typeof(System.UIntPtr), typeof(Metal.MTLIndexType), typeof(System.UInt64), typeof(System.UIntPtr), typeof(System.UIntPtr), typeof(System.IntPtr), typeof(System.UIntPtr) }, Selector="drawIndexedPrimitives:indexCount:indexType:indexBuffer:indexBufferLength:instanceCount:baseVertex:baseInstance:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawPrimitives", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPrimitiveType), typeof(System.UInt64) }, Selector="drawPrimitives:indirectBuffer:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawIndexedPrimitives", ParameterByRef=new System.Boolean[] { false, false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPrimitiveType), typeof(Metal.MTLIndexType), typeof(System.UInt64), typeof(System.UIntPtr), typeof(System.UInt64) }, Selector="drawIndexedPrimitives:indexType:indexBuffer:indexBufferLength:indirectBuffer:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ExecuteCommandsInBuffer", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLIndirectCommandBuffer), typeof(Foundation.NSRange) }, Selector="executeCommandsInBuffer:withRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ExecuteCommandsInBuffer", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLIndirectCommandBuffer), typeof(System.UInt64) }, Selector="executeCommandsInBuffer:indirectBuffer:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetObjectThreadgroupMemoryLength", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.UIntPtr), typeof(System.UIntPtr) }, Selector="setObjectThreadgroupMemoryLength:atIndex:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawMeshThreadgroups", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLSize), typeof(Metal.MTLSize), typeof(Metal.MTLSize) }, Selector="drawMeshThreadgroups:threadsPerObjectThreadgroup:threadsPerMeshThreadgroup:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawMeshThreads", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLSize), typeof(Metal.MTLSize), typeof(Metal.MTLSize) }, Selector="drawMeshThreads:threadsPerObjectThreadgroup:threadsPerMeshThreadgroup:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawMeshThreadgroups", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(System.UInt64), typeof(Metal.MTLSize), typeof(Metal.MTLSize) }, Selector="drawMeshThreadgroupsWithIndirectBuffer:threadsPerObjectThreadgroup:threadsPerMeshThreadgroup:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DispatchThreadsPerTile", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLSize) }, Selector="dispatchThreadsPerTile:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetThreadgroupMemoryLength", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(System.UIntPtr), typeof(System.UIntPtr), typeof(System.UIntPtr) }, Selector="setThreadgroupMemoryLength:offset:atIndex:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetArgumentTable", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTL4ArgumentTable), typeof(Metal.MTLRenderStages) }, Selector="setArgumentTable:atStages:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetFrontFacingWinding", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLWinding) }, Selector="setFrontFacingWinding:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="WriteTimestamp", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTL4TimestampGranularity), typeof(Metal.MTLRenderStages), typeof(Metal.IMTL4CounterHeap), typeof(System.UIntPtr) }, Selector="writeTimestampWithGranularity:afterStage:intoHeap:atIndex:")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="tileWidth", IsProperty=true, IsRequired=true, IsStatic=false, Name="TileWidth", PropertyType=typeof(System.UIntPtr), Selector="tileWidth")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="tileHeight", IsProperty=true, IsRequired=true, IsStatic=false, Name="TileHeight", PropertyType=typeof(System.UIntPtr), Selector="tileHeight")>]
[<ObjCRuntime.UnsupportedSimulator("ios")>]
type IMTL4RenderCommandEncoder = interface
interface INativeObject
interface IDisposable
interface IMTL4CommandEncoder
[<Foundation.Protocol(BackwardsCompatibleCodeGeneration=false, Name="MTL4RenderCommandEncoder", WrapperType=typeof(Metal.MTL4RenderCommandEncoderWrapper))>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetColorAttachmentMap", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLLogicalToPhysicalColorAttachmentMap) }, Selector="setColorAttachmentMap:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetRenderPipelineState", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.IMTLRenderPipelineState) }, Selector="setRenderPipelineState:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetViewport", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLViewport) }, Selector="setViewport:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetViewports", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.IntPtr), typeof(System.UIntPtr) }, Selector="setViewports:count:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetVertexAmplificationCount", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.UIntPtr), typeof(System.IntPtr) }, Selector="setVertexAmplificationCount:viewMappings:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetCullMode", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLCullMode) }, Selector="setCullMode:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetDepthClipMode", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLDepthClipMode) }, Selector="setDepthClipMode:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetDepthBias", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(System.Single), typeof(System.Single), typeof(System.Single) }, Selector="setDepthBias:slopeScale:clamp:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetDepthTest", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.Single), typeof(System.Single) }, Selector="setDepthTestMinBound:maxBound:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetScissorRect", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLScissorRect) }, Selector="setScissorRect:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetScissorRects", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.IntPtr), typeof(System.UIntPtr) }, Selector="setScissorRects:count:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetTriangleFillMode", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLTriangleFillMode) }, Selector="setTriangleFillMode:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetBlendColorRed", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(System.Single), typeof(System.Single), typeof(System.Single), typeof(System.Single) }, Selector="setBlendColorRed:green:blue:alpha:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetDepthStencilState", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.IMTLDepthStencilState) }, Selector="setDepthStencilState:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetStencilReferenceValue", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.UInt32) }, Selector="setStencilReferenceValue:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetStencilFrontReferenceValue", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.UInt32), typeof(System.UInt32) }, Selector="setStencilFrontReferenceValue:backReferenceValue:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetVisibilityResultMode", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLVisibilityResultMode), typeof(System.UIntPtr) }, Selector="setVisibilityResultMode:offset:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetColorStoreAction", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLStoreAction), typeof(System.UIntPtr) }, Selector="setColorStoreAction:atIndex:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetDepthStoreAction", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLStoreAction) }, Selector="setDepthStoreAction:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetStencilStoreAction", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLStoreAction) }, Selector="setStencilStoreAction:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawPrimitives", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPrimitiveType), typeof(System.UIntPtr), typeof(System.UIntPtr) }, Selector="drawPrimitives:vertexStart:vertexCount:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawPrimitives", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPrimitiveType), typeof(System.UIntPtr), typeof(System.UIntPtr), typeof(System.UIntPtr) }, Selector="drawPrimitives:vertexStart:vertexCount:instanceCount:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawPrimitives", ParameterByRef=new System.Boolean[] { false, false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPrimitiveType), typeof(System.UIntPtr), typeof(System.UIntPtr), typeof(System.UIntPtr), typeof(System.UIntPtr) }, Selector="drawPrimitives:vertexStart:vertexCount:instanceCount:baseInstance:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawIndexedPrimitives", ParameterByRef=new System.Boolean[] { false, false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPrimitiveType), typeof(System.UIntPtr), typeof(Metal.MTLIndexType), typeof(System.UInt64), typeof(System.UIntPtr) }, Selector="drawIndexedPrimitives:indexCount:indexType:indexBuffer:indexBufferLength:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawIndexedPrimitives", ParameterByRef=new System.Boolean[] { false, false, false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPrimitiveType), typeof(System.UIntPtr), typeof(Metal.MTLIndexType), typeof(System.UInt64), typeof(System.UIntPtr), typeof(System.UIntPtr) }, Selector="drawIndexedPrimitives:indexCount:indexType:indexBuffer:indexBufferLength:instanceCount:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawIndexedPrimitives", ParameterByRef=new System.Boolean[] { false, false, false, false, false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPrimitiveType), typeof(System.UIntPtr), typeof(Metal.MTLIndexType), typeof(System.UInt64), typeof(System.UIntPtr), typeof(System.UIntPtr), typeof(System.IntPtr), typeof(System.UIntPtr) }, Selector="drawIndexedPrimitives:indexCount:indexType:indexBuffer:indexBufferLength:instanceCount:baseVertex:baseInstance:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawPrimitives", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPrimitiveType), typeof(System.UInt64) }, Selector="drawPrimitives:indirectBuffer:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawIndexedPrimitives", ParameterByRef=new System.Boolean[] { false, false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPrimitiveType), typeof(Metal.MTLIndexType), typeof(System.UInt64), typeof(System.UIntPtr), typeof(System.UInt64) }, Selector="drawIndexedPrimitives:indexType:indexBuffer:indexBufferLength:indirectBuffer:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ExecuteCommandsInBuffer", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLIndirectCommandBuffer), typeof(Foundation.NSRange) }, Selector="executeCommandsInBuffer:withRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ExecuteCommandsInBuffer", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLIndirectCommandBuffer), typeof(System.UInt64) }, Selector="executeCommandsInBuffer:indirectBuffer:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetObjectThreadgroupMemoryLength", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.UIntPtr), typeof(System.UIntPtr) }, Selector="setObjectThreadgroupMemoryLength:atIndex:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawMeshThreadgroups", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLSize), typeof(Metal.MTLSize), typeof(Metal.MTLSize) }, Selector="drawMeshThreadgroups:threadsPerObjectThreadgroup:threadsPerMeshThreadgroup:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawMeshThreads", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLSize), typeof(Metal.MTLSize), typeof(Metal.MTLSize) }, Selector="drawMeshThreads:threadsPerObjectThreadgroup:threadsPerMeshThreadgroup:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DrawMeshThreadgroups", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(System.UInt64), typeof(Metal.MTLSize), typeof(Metal.MTLSize) }, Selector="drawMeshThreadgroupsWithIndirectBuffer:threadsPerObjectThreadgroup:threadsPerMeshThreadgroup:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DispatchThreadsPerTile", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLSize) }, Selector="dispatchThreadsPerTile:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetThreadgroupMemoryLength", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(System.UIntPtr), typeof(System.UIntPtr), typeof(System.UIntPtr) }, Selector="setThreadgroupMemoryLength:offset:atIndex:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetArgumentTable", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTL4ArgumentTable), typeof(Metal.MTLRenderStages) }, Selector="setArgumentTable:atStages:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetFrontFacingWinding", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLWinding) }, Selector="setFrontFacingWinding:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="WriteTimestamp", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTL4TimestampGranularity), typeof(Metal.MTLRenderStages), typeof(Metal.IMTL4CounterHeap), typeof(System.UIntPtr) }, Selector="writeTimestampWithGranularity:afterStage:intoHeap:atIndex:")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="tileWidth", IsProperty=true, IsRequired=true, IsStatic=false, Name="TileWidth", PropertyType=typeof(System.UIntPtr), Selector="tileWidth")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="tileHeight", IsProperty=true, IsRequired=true, IsStatic=false, Name="TileHeight", PropertyType=typeof(System.UIntPtr), Selector="tileHeight")>]
[<ObjCRuntime.UnsupportedSimulator("tvos")>]
type IMTL4RenderCommandEncoder = interface
interface INativeObject
interface IDisposable
interface IMTL4CommandEncoder
- Attributi
- Implementazioni
Commenti
Una classe che implementa questa interfaccia (e sottoclassi NSObject) verrà esportata in Objective-C come implementazione del protocollo Objective-C rappresentata da questa interfaccia.
Una classe può anche implementare membri di questa interfaccia per implementare membri dal protocollo.
Proprietà
| Nome | Descrizione |
|---|---|
| CommandBuffer |
Questa interfaccia rappresenta il protocollo |
| Handle |
Handle (puntatore) alla rappresentazione dell'oggetto non gestito. (Ereditato da INativeObject) |
| Label |
Questa interfaccia rappresenta il protocollo |
| TileHeight |
Questa interfaccia rappresenta il protocollo |
| TileWidth |
Questa interfaccia rappresenta il protocollo |
Metodi
| Nome | Descrizione |
|---|---|
| BarrierAfterEncoderStages(MTLStages, MTLStages, MTL4VisibilityOptions) |
Questa interfaccia rappresenta il protocollo |
| BarrierAfterQueueStages(MTLStages, MTLStages, MTL4VisibilityOptions) |
Questa interfaccia rappresenta il protocollo |
| BarrierAfterStages(MTLStages, MTLStages, MTL4VisibilityOptions) |
Questa interfaccia rappresenta il protocollo |
| DispatchThreadsPerTile(MTLSize) |
Questa interfaccia rappresenta il protocollo |
| DrawIndexedPrimitives(MTLPrimitiveType, MTLIndexType, UInt64, UIntPtr, UInt64) |
Questa interfaccia rappresenta il protocollo |
| DrawIndexedPrimitives(MTLPrimitiveType, UIntPtr, MTLIndexType, UInt64, UIntPtr, UIntPtr, IntPtr, UIntPtr) |
Questa interfaccia rappresenta il protocollo |
| DrawIndexedPrimitives(MTLPrimitiveType, UIntPtr, MTLIndexType, UInt64, UIntPtr, UIntPtr) |
Questa interfaccia rappresenta il protocollo |
| DrawIndexedPrimitives(MTLPrimitiveType, UIntPtr, MTLIndexType, UInt64, UIntPtr) |
Questa interfaccia rappresenta il protocollo |
| DrawMeshThreadgroups(MTLSize, MTLSize, MTLSize) |
Questa interfaccia rappresenta il protocollo |
| DrawMeshThreadgroups(UInt64, MTLSize, MTLSize) |
Questa interfaccia rappresenta il protocollo |
| DrawMeshThreads(MTLSize, MTLSize, MTLSize) |
Questa interfaccia rappresenta il protocollo |
| DrawPrimitives(MTLPrimitiveType, UInt64) |
Questa interfaccia rappresenta il protocollo |
| DrawPrimitives(MTLPrimitiveType, UIntPtr, UIntPtr, UIntPtr, UIntPtr) |
Questa interfaccia rappresenta il protocollo |
| DrawPrimitives(MTLPrimitiveType, UIntPtr, UIntPtr, UIntPtr) |
Questa interfaccia rappresenta il protocollo |
| DrawPrimitives(MTLPrimitiveType, UIntPtr, UIntPtr) |
Questa interfaccia rappresenta il protocollo |
| EndEncoding() |
Questa interfaccia rappresenta il protocollo |
| ExecuteCommandsInBuffer(IMTLIndirectCommandBuffer, NSRange) |
Questa interfaccia rappresenta il protocollo |
| ExecuteCommandsInBuffer(IMTLIndirectCommandBuffer, UInt64) |
Questa interfaccia rappresenta il protocollo |
| InsertDebugSignpost(String) |
Questa interfaccia rappresenta il protocollo |
| PopDebugGroup() |
Questa interfaccia rappresenta il protocollo |
| PushDebugGroup(String) |
Questa interfaccia rappresenta il protocollo |
| SetArgumentTable(IMTL4ArgumentTable, MTLRenderStages) |
Questa interfaccia rappresenta il protocollo |
| SetBlendColorRed(Single, Single, Single, Single) |
Questa interfaccia rappresenta il protocollo |
| SetColorAttachmentMap(MTLLogicalToPhysicalColorAttachmentMap) |
Questa interfaccia rappresenta il protocollo |
| SetColorStoreAction(MTLStoreAction, UIntPtr) |
Questa interfaccia rappresenta il protocollo |
| SetCullMode(MTLCullMode) |
Questa interfaccia rappresenta il protocollo |
| SetDepthBias(Single, Single, Single) |
Questa interfaccia rappresenta il protocollo |
| SetDepthClipMode(MTLDepthClipMode) |
Questa interfaccia rappresenta il protocollo |
| SetDepthStencilState(IMTLDepthStencilState) |
Questa interfaccia rappresenta il protocollo |
| SetDepthStoreAction(MTLStoreAction) |
Questa interfaccia rappresenta il protocollo |
| SetDepthTest(Single, Single) |
Questa interfaccia rappresenta il protocollo |
| SetFrontFacingWinding(MTLWinding) |
Questa interfaccia rappresenta il protocollo |
| SetObjectThreadgroupMemoryLength(UIntPtr, UIntPtr) |
Questa interfaccia rappresenta il protocollo |
| SetRenderPipelineState(IMTLRenderPipelineState) |
Questa interfaccia rappresenta il protocollo |
| SetScissorRect(MTLScissorRect) |
Questa interfaccia rappresenta il protocollo |
| SetScissorRects(IntPtr, UIntPtr) |
Questa interfaccia rappresenta il protocollo |
| SetScissorRects(MTLScissorRect[]) |
Impostare una matrice di rettangoli per un test di scissor frammento. |
| SetStencilFrontReferenceValue(UInt32, UInt32) |
Questa interfaccia rappresenta il protocollo |
| SetStencilReferenceValue(UInt32) |
Questa interfaccia rappresenta il protocollo |
| SetStencilStoreAction(MTLStoreAction) |
Questa interfaccia rappresenta il protocollo |
| SetThreadgroupMemoryLength(UIntPtr, UIntPtr, UIntPtr) |
Questa interfaccia rappresenta il protocollo |
| SetTriangleFillMode(MTLTriangleFillMode) |
Questa interfaccia rappresenta il protocollo |
| SetVertexAmplificationCount(MTLVertexAmplificationViewMapping[]) |
Impostare i mapping di visualizzazione e il conteggio dell'amplificazione dei vertici associato. |
| SetVertexAmplificationCount(UIntPtr, IntPtr) |
Questa interfaccia rappresenta il protocollo |
| SetViewport(MTLViewport) |
Questa interfaccia rappresenta il protocollo |
| SetViewports(IntPtr, UIntPtr) |
Questa interfaccia rappresenta il protocollo |
| SetViewports(MTLViewport[]) |
Impostare i viewport. |
| SetVisibilityResultMode(MTLVisibilityResultMode, UIntPtr) |
Questa interfaccia rappresenta il protocollo |
| UpdateFence(IMTLFence, MTLStages) |
Questa interfaccia rappresenta il protocollo |
| WaitForFence(IMTLFence, MTLStages) |
Questa interfaccia rappresenta il protocollo |
| WriteTimestamp(MTL4TimestampGranularity, MTLRenderStages, IMTL4CounterHeap, UIntPtr) |
Questa interfaccia rappresenta il protocollo |
Metodi di estensione
| Nome | Descrizione |
|---|---|
| GetHandle(INativeObject) |
Questa interfaccia rappresenta il protocollo |
| GetNonNullHandle(INativeObject, String) |
Questa interfaccia rappresenta il protocollo |