@class NSMutableDictionary, NSDictionary, NSMutableSet, NSString, NSError, MTLToolsDeadlineProfile; @protocol MTLDeadlineProfile, MTLDevice, MTLLogContainer, MTLCommandQueue; @interface MTLToolsCommandBuffer : MTLToolsObject { struct { unsigned char hasCommit : 1; unsigned char addedCompletedHandler : 1; unsigned char addedScheduledHandler : 1; unsigned int padding : 29; } _flags; struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _retainedObjectsLock; struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _handlerLock; struct vector), std::allocator)>> { id /* block */ *__begin_; id /* block */ *__end_; struct __compressed_pair), std::allocator)>> { id /* block */ *__value_; } __end_cap_; } _scheduledHandlers; struct vector), std::allocator)>> { id /* block */ *__begin_; id /* block */ *__end_; struct __compressed_pair), std::allocator)>> { id /* block */ *__value_; } __end_cap_; } _completedHandlers; BOOL _didInvokeHandlers; id /* block */ _perfSampleHandlerBlock; BOOL _StatEnabled; MTLToolsDeadlineProfile *_deadlineProfile; } @property BOOL useRetainedObjectsLock; @property (readonly, nonatomic) NSMutableSet *retainedObjects; @property (readonly, nonatomic, getter=getListIndex) unsigned long long listIndex; @property (getter=isProfilingEnabled) BOOL profilingEnabled; @property (readonly) NSDictionary *profilingResults; @property (readonly, nonatomic) NSMutableDictionary *userDictionary; @property (readonly) unsigned long long globalTraceObjectID; @property (readonly, retain) id deadlineProfile; @property (readonly) id device; @property (readonly) id commandQueue; @property (readonly) BOOL retainedReferences; @property (readonly) unsigned long long errorOptions; @property (copy) NSString *label; @property (readonly) double kernelStartTime; @property (readonly) double kernelEndTime; @property (readonly) id logs; @property (readonly) double GPUStartTime; @property (readonly) double GPUEndTime; @property (readonly) unsigned long long status; @property (readonly) NSError *error; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; + (id)unwrapMTLComputePassDescriptorInternal:(id)a0; - (id)blitCommandEncoderWithDescriptor:(id)a0; - (void)addScheduledHandler:(id /* block */)a0; - (id)computeCommandEncoderWithDispatchType:(unsigned long long)a0; - (id)resourceStateCommandEncoderWithDescriptor:(id)a0; - (void *)debugBufferContentsWithLength:(unsigned long long *)a0; - (void)setLogs:(id)a0; - (void)commitWithDeadline:(unsigned long long)a0; - (id)computeCommandEncoderWithDescriptor:(id)a0; - (void)waitUntilCompleted; - (void)setProtectionOptions:(unsigned long long)a0; - (unsigned long long)protectionOptions; - (void)presentDrawable:(id)a0 afterMinimumDuration:(double)a1; - (void)dealloc; - (void)commit; - (void)encodeSignalEvent:(id)a0 value:(unsigned long long)a1; - (void)addCompletedHandler:(id /* block */)a0; - (void)pushDebugGroup:(id)a0; - (void)enqueue; - (BOOL)commitAndWaitUntilSubmitted; - (void)encodeSignalEventScheduled:(id)a0 value:(unsigned long long)a1; - (void)addSynchronizationNotification:(id /* block */)a0; - (id)accelerationStructureCommandEncoderWithDescriptor:(id)a0; - (void)encodeDashboardTagForResourceGroup:(id)a0; - (id).cxx_construct; - (id)accelerationStructureCommandEncoder; - (void)waitUntilScheduled; - (void)encodeDashboardFinalizeForResourceGroup:(id)a0 dashboard:(unsigned long long)a1 value:(unsigned long long)a2 forIndex:(unsigned long long)a3; - (void)executeSynchronizationNotifications:(int)a0; - (void)encodeWaitForEvent:(id)a0 value:(unsigned long long)a1 timeout:(unsigned int)a2; - (void)presentDrawable:(id)a0 atTime:(double)a1; - (BOOL)commitAndWaitUntilSubmittedWithDeadline:(unsigned long long)a0; - (void)presentDrawable:(id)a0 options:(id)a1; - (void).cxx_destruct; - (void)presentDrawable:(id)a0; - (void)commitAndHold; - (void)encodeSignalEvent:(id)a0 value:(unsigned long long)a1 agentMask:(unsigned long long)a2; - (void)addPurgedHeap:(id)a0; - (void)executeSynchronizationNotifications:(int)a0 scope:(unsigned long long)a1 resources:(const id *)a2 count:(unsigned long long)a3; - (id)computeCommandEncoder; - (void)encodeWaitForEvent:(id)a0 value:(unsigned long long)a1; - (void)encodeConditionalAbortEvent:(id)a0; - (BOOL)respondsToSelector:(SEL)a0; - (void)addPurgedResource:(id)a0; - (void)popDebugGroup; - (void)encodeDashboardFinalizeForResourceGroup:(id)a0 dashboard:(unsigned long long)a1 values:(const unsigned long long *)a2 indices:(const unsigned long long *)a3 count:(unsigned long long)a4; - (id)blitCommandEncoder; - (id)renderCommandEncoderWithDescriptor:(id)a0; - (id)initWithBaseObject:(id)a0 parent:(id)a1; - (id)parallelRenderCommandEncoderWithDescriptor:(id)a0; - (id)resourceStateCommandEncoder; - (id)sampledRenderCommandEncoderWithDescriptor:(id)a0 programInfoBuffer:(union { struct { unsigned char x0 : 8; unsigned int x1 : 24; unsigned int x2; unsigned long long x3; unsigned long long x4; } x0; struct { unsigned char x0 : 8; unsigned int x1 : 24; unsigned int x2; unsigned long long x3; unsigned long long x4; } x1; } *)a1 capacity:(unsigned long long)a2; - (void)encodeCacheHintFinalize:(unsigned long long)a0 resourceGroups:(const id *)a1 count:(unsigned long long)a2; - (void)encodeCacheHintTag:(unsigned long long)a0 resourceGroups:(const id *)a1 count:(unsigned long long)a2; - (void)dropResourceGroups:(const id *)a0 count:(unsigned long long)a1; - (void)setResourceGroups:(const id *)a0 count:(unsigned long long)a1; - (id)debugCommandEncoder; - (id)sampledComputeCommandEncoderWithDescriptor:(id)a0 programInfoBuffer:(union { struct { unsigned char x0 : 8; unsigned int x1 : 24; unsigned int x2; unsigned long long x3; unsigned long long x4; } x0; struct { unsigned char x0 : 8; unsigned int x1 : 24; unsigned int x2; unsigned long long x3; unsigned long long x4; } x1; } *)a1 capacity:(unsigned long long)a2; - (id)sampledComputeCommandEncoderWithDispatchType:(unsigned long long)a0 programInfoBuffer:(union { struct { unsigned char x0 : 8; unsigned int x1 : 24; unsigned int x2; unsigned long long x3; unsigned long long x4; } x0; struct { unsigned char x0 : 8; unsigned int x1 : 24; unsigned int x2; unsigned long long x3; unsigned long long x4; } x1; } *)a1 capacity:(unsigned long long)a2; - (id)sampledComputeCommandEncoderWithProgramInfoBuffer:(union { struct { unsigned char x0 : 8; unsigned int x1 : 24; unsigned int x2; unsigned long long x3; unsigned long long x4; } x0; struct { unsigned char x0 : 8; unsigned int x1 : 24; unsigned int x2; unsigned long long x3; unsigned long long x4; } x1; } *)a0 capacity:(unsigned long long)a1; - (id)unwrapMTLComputePassDescriptor:(id)a0; - (BOOL)addRetainedObject:(id)a0; - (void)clearRetainedObjects; - (id)initWithCommandBuffer:(id)a0 parent:(id)a1 descriptor:(id)a2; - (void)invokeCompletedHandlers; - (void)invokeScheduledHandlers; - (void)postCompletionHandlers; - (void)postScheduledHandlers; - (void)preCommit; - (void)preCompletionHandlers; - (void)preScheduledHandlers; - (void)retainObjectsFromRenderPassDescriptor:(id)a0; - (id)unwrapMTLAccelerationStructurePassDescriptor:(id)a0; - (id)unwrapMTLBlitPassDescriptor:(id)a0; - (id)unwrapMTLRenderPassDescriptor:(id)a0; - (id)unwrapMTLResourceStatePassDescriptor:(id)a0; - (void)willEncodeSignalEvent:(id)a0 value:(unsigned long long)a1 writeableResources:(id)a2; @end