@class _MTLCommandEncoder, MTLToolsObject, NSMutableSet; @interface MTLDebugCommandBuffer : MTLToolsCommandBuffer { _MTLCommandEncoder *_currentEncoder; struct unordered_multiset> { struct __hash_table> { struct unique_ptr *> *[], std::__bucket_list_deallocator *> *>>> { struct __compressed_pair *> **, std::__bucket_list_deallocator *> *>>> { void **__value_; struct __bucket_list_deallocator *> *>> { struct __compressed_pair *> *>> { unsigned long long __value_; } __data_; } __value_; } __ptr_; } __bucket_list_; struct __compressed_pair *>, std::allocator>> { struct __hash_node_base *> { void *__next_; } __value_; } __p1_; struct __compressed_pair { unsigned long long __value_; } __p2_; struct __compressed_pair { float __value_; } __p3_; } __table_; } _attachmentSet; struct array { struct AttachmentDescriptorSimple { void *texture; unsigned long long level; struct _NSRange { unsigned long long location; unsigned long long length; } sliceRange; struct _NSRange { unsigned long long location; unsigned long long length; } depthPlaneRange; unsigned long long storeAction; } __elems_[8]; } _prevAttachments; struct array { struct AttachmentDescriptorSimple { void *texture; unsigned long long level; struct _NSRange { unsigned long long location; unsigned long long length; } sliceRange; struct _NSRange { unsigned long long location; unsigned long long length; } depthPlaneRange; unsigned long long storeAction; } __elems_[8]; } _currAttachments; struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _purgeableObjectsLock; struct unordered_set, std::hash>, std::equal_to>, std::allocator>> { struct __hash_table, std::hash>, std::equal_to>, std::allocator>> { struct unique_ptr, void *> *> *[], std::__bucket_list_deallocator, void *> *> *>>> { struct __compressed_pair, void *> *> **, std::__bucket_list_deallocator, void *> *> *>>> { void **__value_; struct __bucket_list_deallocator, void *> *> *>> { struct __compressed_pair, void *> *> *>> { unsigned long long __value_; } __data_; } __value_; } __ptr_; } __bucket_list_; struct __compressed_pair, void *> *>, std::allocator, void *>>> { struct __hash_node_base, void *> *> { void *__next_; } __value_; } __p1_; struct __compressed_pair>> { unsigned long long __value_; } __p2_; struct __compressed_pair>> { float __value_; } __p3_; } __table_; } _referencedPurgeableObjects; struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _retainedObjectsLock; struct unordered_set, std::equal_to, std::allocator> { struct __hash_table, std::equal_to, std::allocator> { struct unique_ptr *> *[], std::__bucket_list_deallocator *> *>>> { struct __compressed_pair *> **, std::__bucket_list_deallocator *> *>>> { void **__value_; struct __bucket_list_deallocator *> *>> { struct __compressed_pair *> *>> { unsigned long long __value_; } __data_; } __value_; } __ptr_; } __bucket_list_; struct __compressed_pair *>, std::allocator>> { struct __hash_node_base *> { void *__next_; } __value_; } __p1_; struct __compressed_pair> { unsigned long long __value_; } __p2_; struct __compressed_pair> { float __value_; } __p3_; } __table_; } _externallyRetainedObjects; struct unordered_set, std::equal_to, std::allocator> { struct __hash_table, std::equal_to, std::allocator> { struct unique_ptr *> *[], std::__bucket_list_deallocator *> *>>> { struct __compressed_pair *> **, std::__bucket_list_deallocator *> *>>> { void **__value_; struct __bucket_list_deallocator *> *>> { struct __compressed_pair *> *>> { unsigned long long __value_; } __data_; } __value_; } __ptr_; } __bucket_list_; struct __compressed_pair *>, std::allocator>> { struct __hash_node_base *> { void *__next_; } __value_; } __p1_; struct __compressed_pair> { unsigned long long __value_; } __p2_; struct __compressed_pair> { float __value_; } __p3_; } __table_; } _internallyRetainedObjects; MTLToolsObject *_referencedDeadObject; struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _renderTargetAttachmentLock; BOOL _didAddRenderTargetAttachments; NSMutableSet *_renderTargetAttachments; } - (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)commitWithDeadline:(unsigned long long)a0; - (id)computeCommandEncoderWithDescriptor:(id)a0; - (void)waitUntilCompleted; - (void)dealloc; - (void)encodeSignalEvent:(id)a0 value:(unsigned long long)a1; - (void)addCompletedHandler:(id /* block */)a0; - (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).cxx_destruct; - (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)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)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; - (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; - (void)_removeUsedRenderTargetsExcept:(id)a0; - (void)addActiveRenderTargets:(id)a0; - (void)addObject:(id)a0 retained:(BOOL)a1 purgeable:(BOOL)a2; - (void)addPurgeableObject:(id)a0; - (void)addReferencedObject:(id)a0 internallyRetained:(BOOL)a1; - (id)initWithCommandBuffer:(id)a0 commandQueue:(id)a1 descriptor:(id)a2; - (void)lockPurgeableObjects; - (void)postCompletionHandlers; - (void)preCommit; - (void)preCompletionHandlers; - (void)removeAllReferencedObjects:(BOOL)a0; - (BOOL)testObjectReferenced:(id)a0 wasInternallyRetained:(BOOL *)a1; - (void)unlockPurgeableObjects; - (id)unwrapMTLRenderPassDescriptor:(id)a0; - (void)validateStoreLoadTransition:(id)a0 atIndex:(unsigned long long)a1 renderTargetArrayLength:(unsigned long long)a2; @end