IMTL4RenderCommandEncoder Interface
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Cette interface représente le protocole 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
- Attributs
- Implémente
Remarques
Une classe qui implémente cette interface (et les sous-classes NSObject) sera exportée vers Objective-C, car l’implémentation du protocole Objective-C cette interface représente.
Une classe peut également implémenter des membres de cette interface pour implémenter des membres à partir du protocole.
Propriétés
| Nom | Description |
|---|---|
| CommandBuffer |
Cette interface représente le protocole |
| Handle |
Handle (pointeur) vers la représentation d’objet non managée. (Hérité de INativeObject) |
| Label |
Cette interface représente le protocole |
| TileHeight |
Cette interface représente le protocole |
| TileWidth |
Cette interface représente le protocole |
Méthodes
| Nom | Description |
|---|---|
| BarrierAfterEncoderStages(MTLStages, MTLStages, MTL4VisibilityOptions) |
Cette interface représente le protocole |
| BarrierAfterQueueStages(MTLStages, MTLStages, MTL4VisibilityOptions) |
Cette interface représente le protocole |
| BarrierAfterStages(MTLStages, MTLStages, MTL4VisibilityOptions) |
Cette interface représente le protocole |
| DispatchThreadsPerTile(MTLSize) |
Cette interface représente le protocole |
| DrawIndexedPrimitives(MTLPrimitiveType, MTLIndexType, UInt64, UIntPtr, UInt64) |
Cette interface représente le protocole |
| DrawIndexedPrimitives(MTLPrimitiveType, UIntPtr, MTLIndexType, UInt64, UIntPtr, UIntPtr, IntPtr, UIntPtr) |
Cette interface représente le protocole |
| DrawIndexedPrimitives(MTLPrimitiveType, UIntPtr, MTLIndexType, UInt64, UIntPtr, UIntPtr) |
Cette interface représente le protocole |
| DrawIndexedPrimitives(MTLPrimitiveType, UIntPtr, MTLIndexType, UInt64, UIntPtr) |
Cette interface représente le protocole |
| DrawMeshThreadgroups(MTLSize, MTLSize, MTLSize) |
Cette interface représente le protocole |
| DrawMeshThreadgroups(UInt64, MTLSize, MTLSize) |
Cette interface représente le protocole |
| DrawMeshThreads(MTLSize, MTLSize, MTLSize) |
Cette interface représente le protocole |
| DrawPrimitives(MTLPrimitiveType, UInt64) |
Cette interface représente le protocole |
| DrawPrimitives(MTLPrimitiveType, UIntPtr, UIntPtr, UIntPtr, UIntPtr) |
Cette interface représente le protocole |
| DrawPrimitives(MTLPrimitiveType, UIntPtr, UIntPtr, UIntPtr) |
Cette interface représente le protocole |
| DrawPrimitives(MTLPrimitiveType, UIntPtr, UIntPtr) |
Cette interface représente le protocole |
| EndEncoding() |
Cette interface représente le protocole |
| ExecuteCommandsInBuffer(IMTLIndirectCommandBuffer, NSRange) |
Cette interface représente le protocole |
| ExecuteCommandsInBuffer(IMTLIndirectCommandBuffer, UInt64) |
Cette interface représente le protocole |
| InsertDebugSignpost(String) |
Cette interface représente le protocole |
| PopDebugGroup() |
Cette interface représente le protocole |
| PushDebugGroup(String) |
Cette interface représente le protocole |
| SetArgumentTable(IMTL4ArgumentTable, MTLRenderStages) |
Cette interface représente le protocole |
| SetBlendColorRed(Single, Single, Single, Single) |
Cette interface représente le protocole |
| SetColorAttachmentMap(MTLLogicalToPhysicalColorAttachmentMap) |
Cette interface représente le protocole |
| SetColorStoreAction(MTLStoreAction, UIntPtr) |
Cette interface représente le protocole |
| SetCullMode(MTLCullMode) |
Cette interface représente le protocole |
| SetDepthBias(Single, Single, Single) |
Cette interface représente le protocole |
| SetDepthClipMode(MTLDepthClipMode) |
Cette interface représente le protocole |
| SetDepthStencilState(IMTLDepthStencilState) |
Cette interface représente le protocole |
| SetDepthStoreAction(MTLStoreAction) |
Cette interface représente le protocole |
| SetDepthTest(Single, Single) |
Cette interface représente le protocole |
| SetFrontFacingWinding(MTLWinding) |
Cette interface représente le protocole |
| SetObjectThreadgroupMemoryLength(UIntPtr, UIntPtr) |
Cette interface représente le protocole |
| SetRenderPipelineState(IMTLRenderPipelineState) |
Cette interface représente le protocole |
| SetScissorRect(MTLScissorRect) |
Cette interface représente le protocole |
| SetScissorRects(IntPtr, UIntPtr) |
Cette interface représente le protocole |
| SetScissorRects(MTLScissorRect[]) |
Définissez un tableau de rectangles pour un test de ciseaux de fragment. |
| SetStencilFrontReferenceValue(UInt32, UInt32) |
Cette interface représente le protocole |
| SetStencilReferenceValue(UInt32) |
Cette interface représente le protocole |
| SetStencilStoreAction(MTLStoreAction) |
Cette interface représente le protocole |
| SetThreadgroupMemoryLength(UIntPtr, UIntPtr, UIntPtr) |
Cette interface représente le protocole |
| SetTriangleFillMode(MTLTriangleFillMode) |
Cette interface représente le protocole |
| SetVertexAmplificationCount(MTLVertexAmplificationViewMapping[]) |
Définissez les mappages d’affichage et le nombre d’amplification de vertex associés. |
| SetVertexAmplificationCount(UIntPtr, IntPtr) |
Cette interface représente le protocole |
| SetViewport(MTLViewport) |
Cette interface représente le protocole |
| SetViewports(IntPtr, UIntPtr) |
Cette interface représente le protocole |
| SetViewports(MTLViewport[]) |
Définissez les fenêtres d’affichage. |
| SetVisibilityResultMode(MTLVisibilityResultMode, UIntPtr) |
Cette interface représente le protocole |
| UpdateFence(IMTLFence, MTLStages) |
Cette interface représente le protocole |
| WaitForFence(IMTLFence, MTLStages) |
Cette interface représente le protocole |
| WriteTimestamp(MTL4TimestampGranularity, MTLRenderStages, IMTL4CounterHeap, UIntPtr) |
Cette interface représente le protocole |
Méthodes d’extension
| Nom | Description |
|---|---|
| GetHandle(INativeObject) |
Cette interface représente le protocole |
| GetNonNullHandle(INativeObject, String) |
Cette interface représente le protocole |