namespace Metal
{
    [Protocol(Name = "MTLIndirectComputeCommand", WrapperType = typeof(MTLIndirectComputeCommandWrapper))]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "SetBarrier", Selector = "setBarrier")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "ClearBarrier", Selector = "clearBarrier")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "Reset", Selector = "reset")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "SetComputePipelineState", ParameterByRef = new[] { false }, ParameterType = new[] { typeof(IMTLComputePipelineState) }, Selector = "setComputePipelineState:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "SetKernelBuffer", ParameterByRef = new[] { false, false, false }, ParameterType = new[] { typeof(IMTLBuffer), typeof(UIntPtr), typeof(UIntPtr) }, Selector = "setKernelBuffer:offset:atIndex:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "ConcurrentDispatchThreadgroups", ParameterByRef = new[] { false, false }, ParameterType = new[] { typeof(MTLSize), typeof(MTLSize) }, Selector = "concurrentDispatchThreadgroups:threadsPerThreadgroup:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "ConcurrentDispatchThreads", ParameterByRef = new[] { false, false }, ParameterType = new[] { typeof(MTLSize), typeof(MTLSize) }, Selector = "concurrentDispatchThreads:threadsPerThreadgroup:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "SetThreadgroupMemoryLength", ParameterByRef = new[] { false, false }, ParameterType = new[] { typeof(UIntPtr), typeof(UIntPtr) }, Selector = "setThreadgroupMemoryLength:atIndex:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "SetStageInRegion", ParameterByRef = new[] { false }, ParameterType = new[] { typeof(MTLRegion) }, Selector = "setStageInRegion:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "SetImageblock", ParameterByRef = new[] { false, false }, ParameterType = new[] { typeof(UIntPtr), typeof(UIntPtr) }, Selector = "setImageblockWidth:height:")]
    [ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "SetKernelBuffer", ParameterByRef = new[] { false, false, false, false }, ParameterType = new[] { typeof(IMTLBuffer), typeof(UIntPtr), typeof(UIntPtr), typeof(UIntPtr) }, Selector = "setKernelBuffer:offset:attributeStride:atIndex:")]
    [SupportedOSPlatform("tvos13.0")]
    [SupportedOSPlatform("ios13.0")]
    [SupportedOSPlatform("macos11.0")]
    [SupportedOSPlatform("maccatalyst")]
    public interface IMTLIndirectComputeCommand : INativeObject, IDisposable
}
Assembly Microsoft.macOS , Version=14.0.0.0, PublicKeyToken=84e04ff9cfb79065
.NET 6.0-ios6.0-maccatalyst6.0-macos6.0-tvos7.0-ios7.0-maccatalyst7.0-macos7.0-tvos8.0-ios8.0-maccatalyst8.0-macos8.0-tvos9.0-ios9.0-maccatalyst9.0-macos9.0-tvos
Xamarin iOS 0.0
Xamarin tvOS 0.0
OS Platforms

For the selected framework this API is only supported on the following OS platforms:

  • iOS >= 13
  • Mac Catalyst
  • macOS >= 11
  • tvOS >= 13
  • Built-in API
  • Package-provided API

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