@class _MTLCommandQueue, NSString, NSDictionary, NSArray, NSError, NSMutableDictionary, NSMutableArray; @protocol MTLDeadlineProfile, MTLCommandEncoder, MTLCommandQueue, MTLBuffer; @interface _MTLCommandBuffer : _MTLObjectWithLabel { id _currentCommandEncoder; struct MTLDispatch { struct MTLDispatch *x0; id /* block */ x1; } *_scheduledDispatchList; struct MTLDispatch { struct MTLDispatch *x0; id /* block */ x1; } *_scheduledDispatchListTail; struct MTLDispatch { struct MTLDispatch *x0; id /* block */ x1; } *_completedDispatchList; struct MTLDispatch { struct MTLDispatch *x0; id /* block */ x1; } *_completedDispatchListTail; struct MTLSyncDispatch { struct MTLSyncDispatch *x0; id /* block */ x1; } *_syncDispatchList; struct MTLSyncDispatch { struct MTLSyncDispatch *x0; id /* block */ x1; } *_syncDispatchListTail; struct _opaque_pthread_mutex_t { long long __sig; char __opaque[56]; } _mutex; struct _opaque_pthread_cond_t { long long __sig; char __opaque[40]; } _cond; unsigned long long _creationTime; unsigned long long _enqueueTime; unsigned long long _commitTime; unsigned long long _submitToKernelTime; unsigned long long _submitToHardwareTime; unsigned long long _completionInterruptTime; unsigned long long _completionHandlerEnqueueTime; unsigned long long _completionHandlerExecutionTime; NSError *_error; BOOL _skipRender; BOOL _profilingEnabled; BOOL _scheduledCallbacksDone; BOOL _completedCallbacksDone; BOOL _strongObjectReferences; NSDictionary *_profilingResults; NSMutableDictionary *_userDictionary; unsigned long long _kernelStartTime; unsigned long long _kernelEndTime; unsigned long long _gpuStartTime; unsigned long long _gpuEndTime; BOOL _wakeOnCommit; NSMutableArray *_retainedObjects; BOOL _needsCommandBufferSemaphoreSignal; unsigned long long _labelTraceID; id /* block */ _perfSampleHandlerBlock; BOOL _hasPresent; id _progressBuffer; unsigned int _progressOffset; BOOL _creatingProgressEncoder; BOOL _needsFrameworkAssistedErrorTracking; NSMutableArray *_encoderInfos; NSArray *_logs; unsigned long long _numPresentWaits; } @property (readonly) BOOL retainedReferences; @property (readonly) BOOL synchronousDebugMode; @property (readonly) _MTLCommandQueue *commandQueue; @property (readonly) unsigned long long status; @property (copy) NSString *label; @property (readonly) NSError *error; @property (getter=isProfilingEnabled) BOOL profilingEnabled; @property (readonly) NSDictionary *profilingResults; @property (readonly) unsigned long long globalTraceObjectID; @property (retain, nonatomic) NSArray *logs; @property (readonly, nonatomic) double kernelStartTime; @property (readonly, nonatomic) double kernelEndTime; @property (readonly, nonatomic) double GPUStartTime; @property (readonly, nonatomic) double GPUEndTime; @property (readonly, nonatomic) NSMutableDictionary *userDictionary; @property (nonatomic, getter=isStatEnabled) BOOL StatEnabled; @property (nonatomic) unsigned long long numThisCommandBuffer; @property (nonatomic) unsigned long long numEncoders; @property (readonly, nonatomic, getter=getListIndex) unsigned long long listIndex; @property (nonatomic) BOOL ownedByParallelEncoder; @property (readonly, retain) id deadlineProfile; @property (nonatomic) unsigned long long errorOptions; + (void)initialize; - (void)signalCommandBufferAvailable; - (void)initProgressTracking; - (id)blitCommandEncoderWithDescriptor:(id)a0; - (void)addScheduledHandler:(id /* block */)a0; - (id)computeCommandEncoderWithDispatchType:(unsigned long long)a0; - (id)resourceStateCommandEncoderWithDescriptor:(id)a0; - (void)getDriverEncoderInfoData:(id)a0; - (void)setCommitted:(BOOL)a0; - (void *)debugBufferContentsWithLength:(unsigned long long *)a0; - (void)commitWithDeadline:(unsigned long long)a0; - (void)setCurrentCommandEncoder:(id)a0; - (id)computeCommandEncoderWithDescriptor:(id)a0; - (void)waitUntilCompleted; - (id)formattedDescription:(unsigned long long)a0; - (void)presentDrawable:(id)a0 afterMinimumDuration:(double)a1; - (void)dealloc; - (void)_addRetainedObject:(id)a0; - (void)commit; - (id)progressTrackingComputeCommandEncoder; - (void)addCompletedHandler:(id /* block */)a0; - (void)pushDebugGroup:(id)a0; - (void)enqueue; - (BOOL)commitAndWaitUntilSubmitted; - (unsigned long long)getAndIncrementNumEncoders; - (void)addSynchronizationNotification:(id /* block */)a0; - (id)accelerationStructureCommandEncoderWithDescriptor:(id)a0; - (void)encodeDashboardTagForResourceGroup:(id)a0; - (id)accelerationStructureCommandEncoder; - (void)waitUntilScheduled; - (void)encodeDashboardFinalizeForResourceGroup:(id)a0 dashboard:(unsigned long long)a1 value:(unsigned long long)a2 forIndex:(unsigned long long)a3; - (id)description; - (void)executeSynchronizationNotifications:(int)a0; - (void)didSchedule:(unsigned long long)a0 error:(id)a1; - (BOOL)isCommitted; - (void)presentDrawable:(id)a0 atTime:(double)a1; - (id)initWithQueue:(id)a0 retainedReferences:(BOOL)a1; - (void)runPerfCounterCallbackWithBlock:(id /* block */)a0; - (BOOL)skipRender; - (BOOL)commitAndWaitUntilSubmittedWithDeadline:(unsigned long long)a0; - (id)initWithQueue:(id)a0 retainedReferences:(BOOL)a1 synchronousDebugMode:(BOOL)a2; - (void)presentDrawable:(id)a0 options:(id)a1; - (void)didCompleteWithStartTime:(unsigned long long)a0 endTime:(unsigned long long)a1 error:(id)a2; - (void)presentDrawable:(id)a0; - (void)commitAndHold; - (void)encodeSignalEvent:(id)a0 value:(unsigned long long)a1 agentMask:(unsigned long long)a2; - (void)processEncoderInfos; - (id)progressTrackingBlitCommandEncoder; - (id)progressTrackingRenderCommandEncoder; - (void)executeSynchronizationNotifications:(int)a0 scope:(unsigned long long)a1 resources:(const id *)a2 count:(unsigned long long)a3; - (void)didScheduleWithStartTime:(unsigned long long)a0 endTime:(unsigned long long)a1 error:(id)a2; - (void)kernelSubmitTime; - (void)commitAndReset; - (void)encodeConditionalAbortEvent:(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; @end