IMTL4RenderCommandEncoder Interface
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Deze interface vertegenwoordigt het Objective-C-protocol MTL4RenderCommandEncoder.
[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
- Kenmerken
- Implementeringen
Opmerkingen
Een klasse die deze interface (en subklassen NSObject) implementeert, wordt geƫxporteerd naar Objective-C als het implementeren van het Objective-C protocol dat deze interface vertegenwoordigt.
Een klasse kan ook leden van deze interface implementeren om leden uit het protocol te implementeren.
Eigenschappen
| Name | Description |
|---|---|
| CommandBuffer |
Deze interface vertegenwoordigt het Objective-C-protocol |
| Handle |
Handle (pointer) naar de onbeheerde objectweergave. (Overgenomen van INativeObject) |
| Label |
Deze interface vertegenwoordigt het Objective-C-protocol |
| TileHeight |
Deze interface vertegenwoordigt het Objective-C-protocol |
| TileWidth |
Deze interface vertegenwoordigt het Objective-C-protocol |
Methoden
| Name | Description |
|---|---|
| BarrierAfterEncoderStages(MTLStages, MTLStages, MTL4VisibilityOptions) |
Deze interface vertegenwoordigt het Objective-C-protocol |
| BarrierAfterQueueStages(MTLStages, MTLStages, MTL4VisibilityOptions) |
Deze interface vertegenwoordigt het Objective-C-protocol |
| BarrierAfterStages(MTLStages, MTLStages, MTL4VisibilityOptions) |
Deze interface vertegenwoordigt het Objective-C-protocol |
| DispatchThreadsPerTile(MTLSize) |
Deze interface vertegenwoordigt het Objective-C-protocol |
| DrawIndexedPrimitives(MTLPrimitiveType, MTLIndexType, UInt64, UIntPtr, UInt64) |
Deze interface vertegenwoordigt het Objective-C-protocol |
| DrawIndexedPrimitives(MTLPrimitiveType, UIntPtr, MTLIndexType, UInt64, UIntPtr, UIntPtr, IntPtr, UIntPtr) |
Deze interface vertegenwoordigt het Objective-C-protocol |
| DrawIndexedPrimitives(MTLPrimitiveType, UIntPtr, MTLIndexType, UInt64, UIntPtr, UIntPtr) |
Deze interface vertegenwoordigt het Objective-C-protocol |
| DrawIndexedPrimitives(MTLPrimitiveType, UIntPtr, MTLIndexType, UInt64, UIntPtr) |
Deze interface vertegenwoordigt het Objective-C-protocol |
| DrawMeshThreadgroups(MTLSize, MTLSize, MTLSize) |
Deze interface vertegenwoordigt het Objective-C-protocol |
| DrawMeshThreadgroups(UInt64, MTLSize, MTLSize) |
Deze interface vertegenwoordigt het Objective-C-protocol |
| DrawMeshThreads(MTLSize, MTLSize, MTLSize) |
Deze interface vertegenwoordigt het Objective-C-protocol |
| DrawPrimitives(MTLPrimitiveType, UInt64) |
Deze interface vertegenwoordigt het Objective-C-protocol |
| DrawPrimitives(MTLPrimitiveType, UIntPtr, UIntPtr, UIntPtr, UIntPtr) |
Deze interface vertegenwoordigt het Objective-C-protocol |
| DrawPrimitives(MTLPrimitiveType, UIntPtr, UIntPtr, UIntPtr) |
Deze interface vertegenwoordigt het Objective-C-protocol |
| DrawPrimitives(MTLPrimitiveType, UIntPtr, UIntPtr) |
Deze interface vertegenwoordigt het Objective-C-protocol |
| EndEncoding() |
Deze interface vertegenwoordigt het Objective-C-protocol |
| ExecuteCommandsInBuffer(IMTLIndirectCommandBuffer, NSRange) |
Deze interface vertegenwoordigt het Objective-C-protocol |
| ExecuteCommandsInBuffer(IMTLIndirectCommandBuffer, UInt64) |
Deze interface vertegenwoordigt het Objective-C-protocol |
| InsertDebugSignpost(String) |
Deze interface vertegenwoordigt het Objective-C-protocol |
| PopDebugGroup() |
Deze interface vertegenwoordigt het Objective-C-protocol |
| PushDebugGroup(String) |
Deze interface vertegenwoordigt het Objective-C-protocol |
| SetArgumentTable(IMTL4ArgumentTable, MTLRenderStages) |
Deze interface vertegenwoordigt het Objective-C-protocol |
| SetBlendColorRed(Single, Single, Single, Single) |
Deze interface vertegenwoordigt het Objective-C-protocol |
| SetColorAttachmentMap(MTLLogicalToPhysicalColorAttachmentMap) |
Deze interface vertegenwoordigt het Objective-C-protocol |
| SetColorStoreAction(MTLStoreAction, UIntPtr) |
Deze interface vertegenwoordigt het Objective-C-protocol |
| SetCullMode(MTLCullMode) |
Deze interface vertegenwoordigt het Objective-C-protocol |
| SetDepthBias(Single, Single, Single) |
Deze interface vertegenwoordigt het Objective-C-protocol |
| SetDepthClipMode(MTLDepthClipMode) |
Deze interface vertegenwoordigt het Objective-C-protocol |
| SetDepthStencilState(IMTLDepthStencilState) |
Deze interface vertegenwoordigt het Objective-C-protocol |
| SetDepthStoreAction(MTLStoreAction) |
Deze interface vertegenwoordigt het Objective-C-protocol |
| SetDepthTest(Single, Single) |
Deze interface vertegenwoordigt het Objective-C-protocol |
| SetFrontFacingWinding(MTLWinding) |
Deze interface vertegenwoordigt het Objective-C-protocol |
| SetObjectThreadgroupMemoryLength(UIntPtr, UIntPtr) |
Deze interface vertegenwoordigt het Objective-C-protocol |
| SetRenderPipelineState(IMTLRenderPipelineState) |
Deze interface vertegenwoordigt het Objective-C-protocol |
| SetScissorRect(MTLScissorRect) |
Deze interface vertegenwoordigt het Objective-C-protocol |
| SetScissorRects(IntPtr, UIntPtr) |
Deze interface vertegenwoordigt het Objective-C-protocol |
| SetScissorRects(MTLScissorRect[]) |
Stel een matrix met rechthoeken in voor een fragments scissor-test. |
| SetStencilFrontReferenceValue(UInt32, UInt32) |
Deze interface vertegenwoordigt het Objective-C-protocol |
| SetStencilReferenceValue(UInt32) |
Deze interface vertegenwoordigt het Objective-C-protocol |
| SetStencilStoreAction(MTLStoreAction) |
Deze interface vertegenwoordigt het Objective-C-protocol |
| SetThreadgroupMemoryLength(UIntPtr, UIntPtr, UIntPtr) |
Deze interface vertegenwoordigt het Objective-C-protocol |
| SetTriangleFillMode(MTLTriangleFillMode) |
Deze interface vertegenwoordigt het Objective-C-protocol |
| SetVertexAmplificationCount(MTLVertexAmplificationViewMapping[]) |
Stel de weergavetoewijzingen en het bijbehorende aantal vertex-amplificaties in. |
| SetVertexAmplificationCount(UIntPtr, IntPtr) |
Deze interface vertegenwoordigt het Objective-C-protocol |
| SetViewport(MTLViewport) |
Deze interface vertegenwoordigt het Objective-C-protocol |
| SetViewports(IntPtr, UIntPtr) |
Deze interface vertegenwoordigt het Objective-C-protocol |
| SetViewports(MTLViewport[]) |
Stel de viewports in. |
| SetVisibilityResultMode(MTLVisibilityResultMode, UIntPtr) |
Deze interface vertegenwoordigt het Objective-C-protocol |
| UpdateFence(IMTLFence, MTLStages) |
Deze interface vertegenwoordigt het Objective-C-protocol |
| WaitForFence(IMTLFence, MTLStages) |
Deze interface vertegenwoordigt het Objective-C-protocol |
| WriteTimestamp(MTL4TimestampGranularity, MTLRenderStages, IMTL4CounterHeap, UIntPtr) |
Deze interface vertegenwoordigt het Objective-C-protocol |
Extensiemethoden
| Name | Description |
|---|---|
| GetHandle(INativeObject) |
Deze interface vertegenwoordigt het Objective-C-protocol |
| GetNonNullHandle(INativeObject, String) |
Deze interface vertegenwoordigt het Objective-C-protocol |