net9.0-ios17.2
namespace Metal
{
    [Protocol(Name = "MTLCommandBuffer", WrapperType = typeof(MTLCommandBufferWrapper))]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "Enqueue", Selector = "enqueue")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "Commit", Selector = "commit")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "WaitUntilScheduled", Selector = "waitUntilScheduled")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "WaitUntilCompleted", Selector = "waitUntilCompleted")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "PopDebugGroup", Selector = "popDebugGroup")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "CreateAccelerationStructureCommandEncoder", ReturnType = typeof(IMTLAccelerationStructureCommandEncoder), Selector = "accelerationStructureCommandEncoder")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "EncodeWait", ParameterByRef = new[] { false, false }, ParameterType = new[] { typeof(IMTLEvent), typeof(ulong) }, Selector = "encodeWaitForEvent:value:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "EncodeSignal", ParameterByRef = new[] { false, false }, ParameterType = new[] { typeof(IMTLEvent), typeof(ulong) }, Selector = "encodeSignalEvent:value:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "PresentDrawable", ParameterByRef = new[] { false }, ParameterType = new[] { typeof(IMTLDrawable) }, Selector = "presentDrawable:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "PresentDrawable", ParameterByRef = new[] { false, false }, ParameterType = new[] { typeof(IMTLDrawable), typeof(double) }, Selector = "presentDrawable:atTime:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "PresentDrawableAfter", ParameterByRef = new[] { false, false }, ParameterType = new[] { typeof(IMTLDrawable), typeof(double) }, Selector = "presentDrawable:afterMinimumDuration:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "PushDebugGroup", ParameterByRef = new[] { false }, ParameterType = new[] { typeof(string) }, Selector = "pushDebugGroup:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "AddScheduledHandler", ParameterBlockProxy = new[] { typeof(NIDActionArity1V214) }, ParameterByRef = new[] { false }, ParameterType = new[] { typeof(Action<IMTLCommandBuffer>) }, Selector = "addScheduledHandler:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "AddCompletedHandler", ParameterBlockProxy = new[] { typeof(NIDActionArity1V214) }, ParameterByRef = new[] { false }, ParameterType = new[] { typeof(Action<IMTLCommandBuffer>) }, Selector = "addCompletedHandler:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "ComputeCommandEncoderDispatch", ParameterByRef = new[] { false }, ParameterType = new[] { typeof(MTLDispatchType) }, ReturnType = typeof(IMTLComputeCommandEncoder), Selector = "computeCommandEncoderWithDispatchType:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "CreateParallelRenderCommandEncoder", ParameterByRef = new[] { false }, ParameterType = new[] { typeof(MTLRenderPassDescriptor) }, ReturnType = typeof(IMTLParallelRenderCommandEncoder), Selector = "parallelRenderCommandEncoderWithDescriptor:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "CreateRenderCommandEncoder", ParameterByRef = new[] { false }, ParameterType = new[] { typeof(MTLRenderPassDescriptor) }, ReturnType = typeof(IMTLRenderCommandEncoder), Selector = "renderCommandEncoderWithDescriptor:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "CreateComputeCommandEncoder", ParameterByRef = new[] { false }, ParameterType = new[] { typeof(MTLComputePassDescriptor) }, ReturnType = typeof(IMTLComputeCommandEncoder), Selector = "computeCommandEncoderWithDescriptor:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "CreateBlitCommandEncoder", ParameterByRef = new[] { false }, ParameterType = new[] { typeof(MTLBlitPassDescriptor) }, ReturnType = typeof(IMTLBlitCommandEncoder), Selector = "blitCommandEncoderWithDescriptor:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "CreateResourceStateCommandEncoder", ParameterByRef = new[] { false }, ParameterType = new[] { typeof(MTLResourceStatePassDescriptor) }, ReturnType = typeof(IMTLResourceStateCommandEncoder), Selector = "resourceStateCommandEncoderWithDescriptor:")]
    [ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "CreateAccelerationStructureCommandEncoder", ParameterByRef = new[] { false }, ParameterType = new[] { typeof(MTLAccelerationStructurePassDescriptor) }, ReturnType = typeof(IMTLAccelerationStructureCommandEncoder), Selector = "accelerationStructureCommandEncoderWithDescriptor:")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "device", IsProperty = true, IsRequired = true, IsStatic = false, Name = "Device", PropertyType = typeof(IMTLDevice), Selector = "device")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "commandQueue", IsProperty = true, IsRequired = true, IsStatic = false, Name = "CommandQueue", PropertyType = typeof(IMTLCommandQueue), Selector = "commandQueue")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "retainedReferences", IsProperty = true, IsRequired = true, IsStatic = false, Name = "RetainedReferences", PropertyType = typeof(bool), Selector = "retainedReferences")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "status", IsProperty = true, IsRequired = true, IsStatic = false, Name = "Status", PropertyType = typeof(MTLCommandBufferStatus), Selector = "status")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "error", IsProperty = true, IsRequired = true, IsStatic = false, Name = "Error", PropertyType = typeof(NSError), Selector = "error")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "blitCommandEncoder", IsProperty = true, IsRequired = true, IsStatic = false, Name = "BlitCommandEncoder", PropertyType = typeof(IMTLBlitCommandEncoder), Selector = "blitCommandEncoder")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "computeCommandEncoder", IsProperty = true, IsRequired = true, IsStatic = false, Name = "ComputeCommandEncoder", PropertyType = typeof(IMTLComputeCommandEncoder), Selector = "computeCommandEncoder")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "kernelStartTime", IsProperty = true, IsRequired = true, IsStatic = false, Name = "KernelStartTime", PropertyType = typeof(double), Selector = "kernelStartTime")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "kernelEndTime", IsProperty = true, IsRequired = true, IsStatic = false, Name = "KernelEndTime", PropertyType = typeof(double), Selector = "kernelEndTime")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "GPUStartTime", IsProperty = true, IsRequired = true, IsStatic = false, Name = "GpuStartTime", PropertyType = typeof(double), Selector = "GPUStartTime")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "GPUEndTime", IsProperty = true, IsRequired = true, IsStatic = false, Name = "GpuEndTime", PropertyType = typeof(double), Selector = "GPUEndTime")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "resourceStateCommandEncoder", IsProperty = true, IsRequired = true, IsStatic = false, Name = "ResourceStateCommandEncoder", PropertyType = typeof(IMTLResourceStateCommandEncoder), Selector = "resourceStateCommandEncoder")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "errorOptions", IsProperty = true, IsRequired = true, IsStatic = false, Name = "ErrorOptions", PropertyType = typeof(MTLCommandBufferErrorOption), Selector = "errorOptions")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "logs", IsProperty = true, IsRequired = true, IsStatic = false, Name = "Logs", PropertyType = typeof(IMTLLogContainer), Selector = "logs")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "label", IsProperty = true, IsRequired = true, IsStatic = false, Name = "Label", PropertyType = typeof(string), Selector = "label", SetterSelector = "setLabel:")]
    [SupportedOSPlatform("maccatalyst")]
    [SupportedOSPlatform("ios")]
    [SupportedOSPlatform("macos")]
    [SupportedOSPlatform("tvos")]
    public interface IMTLCommandBuffer : INativeObject, IDisposable
    {
        [Preserve(Conditional = true)]
        [SupportedOSPlatform("maccatalyst")]
        [SupportedOSPlatform("ios")]
        [SupportedOSPlatform("macos")]
        [SupportedOSPlatform("tvos")]
        double GpuStartTime
        {
            [Export("GPUStartTime")]
            get;
        }

    }
}
.NET 6.07.08.09.0
Information specific to net9.0
Platforms This API is only available when you target a specific platform:
iOS 10.010.110.210.311.011.111.211.311.412.012.112.212.312.413.013.113.213.313.413.513.614.014.114.214.314.414.515.015.215.416.016.116.216.417.017.2
Mac Catalyst 13.113.213.313.413.514.214.314.414.515.015.215.416.116.216.417.017.2
macOS 10.1410.1510.1611.011.111.211.312.012.112.313.013.113.314.014.2
tvOS 10.010.110.211.011.111.211.311.412.012.112.212.312.413.013.213.313.414.014.214.314.414.515.015.215.416.016.116.417.017.2
Information specific to net9.0-ios17.2
Assembly

Microsoft.iOS , Version=17.2.0.0, PublicKeyToken=84e04ff9cfb79065

Referencing

The API is automatically referenced.

Platform Restrictions

The property getter is only supported on the following platforms:

  • iOS
  • Mac Catalyst
  • macOS
  • tvOS
  • Built-in API
  • Package-provided API

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