IMTL4RenderCommandEncoder Interfaz
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Esta interfaz representa el protocolo 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
- Atributos
- Implementaciones
Comentarios
Una clase que implemente esta interfaz (y subclases NSObject) se exportará a Objective-C, ya que implementa el protocolo Objective-C que representa esta interfaz.
Una clase también puede implementar miembros de esta interfaz para implementar miembros del protocolo.
Propiedades
| Nombre | Description |
|---|---|
| CommandBuffer |
Esta interfaz representa el protocolo |
| Handle |
Controla (puntero) a la representación de objeto no administrada. (Heredado de INativeObject) |
| Label |
Esta interfaz representa el protocolo |
| TileHeight |
Esta interfaz representa el protocolo |
| TileWidth |
Esta interfaz representa el protocolo |
Métodos
| Nombre | Description |
|---|---|
| BarrierAfterEncoderStages(MTLStages, MTLStages, MTL4VisibilityOptions) |
Esta interfaz representa el protocolo |
| BarrierAfterQueueStages(MTLStages, MTLStages, MTL4VisibilityOptions) |
Esta interfaz representa el protocolo |
| BarrierAfterStages(MTLStages, MTLStages, MTL4VisibilityOptions) |
Esta interfaz representa el protocolo |
| DispatchThreadsPerTile(MTLSize) |
Esta interfaz representa el protocolo |
| DrawIndexedPrimitives(MTLPrimitiveType, MTLIndexType, UInt64, UIntPtr, UInt64) |
Esta interfaz representa el protocolo |
| DrawIndexedPrimitives(MTLPrimitiveType, UIntPtr, MTLIndexType, UInt64, UIntPtr, UIntPtr, IntPtr, UIntPtr) |
Esta interfaz representa el protocolo |
| DrawIndexedPrimitives(MTLPrimitiveType, UIntPtr, MTLIndexType, UInt64, UIntPtr, UIntPtr) |
Esta interfaz representa el protocolo |
| DrawIndexedPrimitives(MTLPrimitiveType, UIntPtr, MTLIndexType, UInt64, UIntPtr) |
Esta interfaz representa el protocolo |
| DrawMeshThreadgroups(MTLSize, MTLSize, MTLSize) |
Esta interfaz representa el protocolo |
| DrawMeshThreadgroups(UInt64, MTLSize, MTLSize) |
Esta interfaz representa el protocolo |
| DrawMeshThreads(MTLSize, MTLSize, MTLSize) |
Esta interfaz representa el protocolo |
| DrawPrimitives(MTLPrimitiveType, UInt64) |
Esta interfaz representa el protocolo |
| DrawPrimitives(MTLPrimitiveType, UIntPtr, UIntPtr, UIntPtr, UIntPtr) |
Esta interfaz representa el protocolo |
| DrawPrimitives(MTLPrimitiveType, UIntPtr, UIntPtr, UIntPtr) |
Esta interfaz representa el protocolo |
| DrawPrimitives(MTLPrimitiveType, UIntPtr, UIntPtr) |
Esta interfaz representa el protocolo |
| EndEncoding() |
Esta interfaz representa el protocolo |
| ExecuteCommandsInBuffer(IMTLIndirectCommandBuffer, NSRange) |
Esta interfaz representa el protocolo |
| ExecuteCommandsInBuffer(IMTLIndirectCommandBuffer, UInt64) |
Esta interfaz representa el protocolo |
| InsertDebugSignpost(String) |
Esta interfaz representa el protocolo |
| PopDebugGroup() |
Esta interfaz representa el protocolo |
| PushDebugGroup(String) |
Esta interfaz representa el protocolo |
| SetArgumentTable(IMTL4ArgumentTable, MTLRenderStages) |
Esta interfaz representa el protocolo |
| SetBlendColorRed(Single, Single, Single, Single) |
Esta interfaz representa el protocolo |
| SetColorAttachmentMap(MTLLogicalToPhysicalColorAttachmentMap) |
Esta interfaz representa el protocolo |
| SetColorStoreAction(MTLStoreAction, UIntPtr) |
Esta interfaz representa el protocolo |
| SetCullMode(MTLCullMode) |
Esta interfaz representa el protocolo |
| SetDepthBias(Single, Single, Single) |
Esta interfaz representa el protocolo |
| SetDepthClipMode(MTLDepthClipMode) |
Esta interfaz representa el protocolo |
| SetDepthStencilState(IMTLDepthStencilState) |
Esta interfaz representa el protocolo |
| SetDepthStoreAction(MTLStoreAction) |
Esta interfaz representa el protocolo |
| SetDepthTest(Single, Single) |
Esta interfaz representa el protocolo |
| SetFrontFacingWinding(MTLWinding) |
Esta interfaz representa el protocolo |
| SetObjectThreadgroupMemoryLength(UIntPtr, UIntPtr) |
Esta interfaz representa el protocolo |
| SetRenderPipelineState(IMTLRenderPipelineState) |
Esta interfaz representa el protocolo |
| SetScissorRect(MTLScissorRect) |
Esta interfaz representa el protocolo |
| SetScissorRects(IntPtr, UIntPtr) |
Esta interfaz representa el protocolo |
| SetScissorRects(MTLScissorRect[]) |
Establezca una matriz de rectángulos para una prueba de tijera de fragmento. |
| SetStencilFrontReferenceValue(UInt32, UInt32) |
Esta interfaz representa el protocolo |
| SetStencilReferenceValue(UInt32) |
Esta interfaz representa el protocolo |
| SetStencilStoreAction(MTLStoreAction) |
Esta interfaz representa el protocolo |
| SetThreadgroupMemoryLength(UIntPtr, UIntPtr, UIntPtr) |
Esta interfaz representa el protocolo |
| SetTriangleFillMode(MTLTriangleFillMode) |
Esta interfaz representa el protocolo |
| SetVertexAmplificationCount(MTLVertexAmplificationViewMapping[]) |
Establezca las asignaciones de vistas y el recuento de amplificación de vértices asociados. |
| SetVertexAmplificationCount(UIntPtr, IntPtr) |
Esta interfaz representa el protocolo |
| SetViewport(MTLViewport) |
Esta interfaz representa el protocolo |
| SetViewports(IntPtr, UIntPtr) |
Esta interfaz representa el protocolo |
| SetViewports(MTLViewport[]) |
Establezca las ventanillas. |
| SetVisibilityResultMode(MTLVisibilityResultMode, UIntPtr) |
Esta interfaz representa el protocolo |
| UpdateFence(IMTLFence, MTLStages) |
Esta interfaz representa el protocolo |
| WaitForFence(IMTLFence, MTLStages) |
Esta interfaz representa el protocolo |
| WriteTimestamp(MTL4TimestampGranularity, MTLRenderStages, IMTL4CounterHeap, UIntPtr) |
Esta interfaz representa el protocolo |
Métodos de extensión
| Nombre | Description |
|---|---|
| GetHandle(INativeObject) |
Esta interfaz representa el protocolo |
| GetNonNullHandle(INativeObject, String) |
Esta interfaz representa el protocolo |