luxlabs header browser preview


@class _MTLCommandEncoder, MTLToolsObject, NSMutableSet;

@interface MTLDebugCommandBuffer : MTLToolsCommandBuffer {
    _MTLCommandEncoder *_currentEncoder;
    struct unordered_multiset<AttachmentDescriptorSimple, AttachmentDescriptorSimple::hash_t, AttachmentDescriptorSimple::equal_t, std::allocator<AttachmentDescriptorSimple>> { struct __hash_table<AttachmentDescriptorSimple, AttachmentDescriptorSimple::hash_t, AttachmentDescriptorSimple::equal_t, std::allocator<AttachmentDescriptorSimple>> { struct unique_ptr<std::__hash_node_base<std::__hash_node<AttachmentDescriptorSimple, void *> *> *[], std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<AttachmentDescriptorSimple, void *> *> *>>> { struct __compressed_pair<std::__hash_node_base<std::__hash_node<AttachmentDescriptorSimple, void *> *> **, std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<AttachmentDescriptorSimple, void *> *> *>>> { void **__value_; struct __bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<AttachmentDescriptorSimple, void *> *> *>> { struct __compressed_pair<unsigned long, std::allocator<std::__hash_node_base<std::__hash_node<AttachmentDescriptorSimple, void *> *> *>> { unsigned long long __value_; } __data_; } __value_; } __ptr_; } __bucket_list_; struct __compressed_pair<std::__hash_node_base<std::__hash_node<AttachmentDescriptorSimple, void *> *>, std::allocator<std::__hash_node<AttachmentDescriptorSimple, void *>>> { struct __hash_node_base<std::__hash_node<AttachmentDescriptorSimple, void *> *> { void *__next_; } __value_; } __p1_; struct __compressed_pair<unsigned long, AttachmentDescriptorSimple::hash_t> { unsigned long long __value_; } __p2_; struct __compressed_pair<float, AttachmentDescriptorSimple::equal_t> { float __value_; } __p3_; } __table_; } _attachmentSet;
    struct array<AttachmentDescriptorSimple, 8UL> { 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<AttachmentDescriptorSimple, 8UL> { 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<id<MTLDebugResourcePurgeable>, std::hash<id<MTLDebugResourcePurgeable>>, std::equal_to<id<MTLDebugResourcePurgeable>>, std::allocator<id<MTLDebugResourcePurgeable>>> { struct __hash_table<id<MTLDebugResourcePurgeable>, std::hash<id<MTLDebugResourcePurgeable>>, std::equal_to<id<MTLDebugResourcePurgeable>>, std::allocator<id<MTLDebugResourcePurgeable>>> { struct unique_ptr<std::__hash_node_base<std::__hash_node<id<MTLDebugResourcePurgeable>, void *> *> *[], std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<id<MTLDebugResourcePurgeable>, void *> *> *>>> { struct __compressed_pair<std::__hash_node_base<std::__hash_node<id<MTLDebugResourcePurgeable>, void *> *> **, std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<id<MTLDebugResourcePurgeable>, void *> *> *>>> { void **__value_; struct __bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<id<MTLDebugResourcePurgeable>, void *> *> *>> { struct __compressed_pair<unsigned long, std::allocator<std::__hash_node_base<std::__hash_node<id<MTLDebugResourcePurgeable>, void *> *> *>> { unsigned long long __value_; } __data_; } __value_; } __ptr_; } __bucket_list_; struct __compressed_pair<std::__hash_node_base<std::__hash_node<id<MTLDebugResourcePurgeable>, void *> *>, std::allocator<std::__hash_node<id<MTLDebugResourcePurgeable>, void *>>> { struct __hash_node_base<std::__hash_node<id<MTLDebugResourcePurgeable>, void *> *> { void *__next_; } __value_; } __p1_; struct __compressed_pair<unsigned long, std::hash<id<MTLDebugResourcePurgeable>>> { unsigned long long __value_; } __p2_; struct __compressed_pair<float, std::equal_to<id<MTLDebugResourcePurgeable>>> { float __value_; } __p3_; } __table_; } _referencedPurgeableObjects;
    struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _retainedObjectsLock;
    struct unordered_set<MTLToolsObject *, std::hash<MTLToolsObject *>, std::equal_to<MTLToolsObject *>, std::allocator<MTLToolsObject *>> { struct __hash_table<MTLToolsObject *, std::hash<MTLToolsObject *>, std::equal_to<MTLToolsObject *>, std::allocator<MTLToolsObject *>> { struct unique_ptr<std::__hash_node_base<std::__hash_node<MTLToolsObject *, void *> *> *[], std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<MTLToolsObject *, void *> *> *>>> { struct __compressed_pair<std::__hash_node_base<std::__hash_node<MTLToolsObject *, void *> *> **, std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<MTLToolsObject *, void *> *> *>>> { void **__value_; struct __bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<MTLToolsObject *, void *> *> *>> { struct __compressed_pair<unsigned long, std::allocator<std::__hash_node_base<std::__hash_node<MTLToolsObject *, void *> *> *>> { unsigned long long __value_; } __data_; } __value_; } __ptr_; } __bucket_list_; struct __compressed_pair<std::__hash_node_base<std::__hash_node<MTLToolsObject *, void *> *>, std::allocator<std::__hash_node<MTLToolsObject *, void *>>> { struct __hash_node_base<std::__hash_node<MTLToolsObject *, void *> *> { void *__next_; } __value_; } __p1_; struct __compressed_pair<unsigned long, std::hash<MTLToolsObject *>> { unsigned long long __value_; } __p2_; struct __compressed_pair<float, std::equal_to<MTLToolsObject *>> { float __value_; } __p3_; } __table_; } _externallyRetainedObjects;
    struct unordered_set<MTLToolsObject *, std::hash<MTLToolsObject *>, std::equal_to<MTLToolsObject *>, std::allocator<MTLToolsObject *>> { struct __hash_table<MTLToolsObject *, std::hash<MTLToolsObject *>, std::equal_to<MTLToolsObject *>, std::allocator<MTLToolsObject *>> { struct unique_ptr<std::__hash_node_base<std::__hash_node<MTLToolsObject *, void *> *> *[], std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<MTLToolsObject *, void *> *> *>>> { struct __compressed_pair<std::__hash_node_base<std::__hash_node<MTLToolsObject *, void *> *> **, std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<MTLToolsObject *, void *> *> *>>> { void **__value_; struct __bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<MTLToolsObject *, void *> *> *>> { struct __compressed_pair<unsigned long, std::allocator<std::__hash_node_base<std::__hash_node<MTLToolsObject *, void *> *> *>> { unsigned long long __value_; } __data_; } __value_; } __ptr_; } __bucket_list_; struct __compressed_pair<std::__hash_node_base<std::__hash_node<MTLToolsObject *, void *> *>, std::allocator<std::__hash_node<MTLToolsObject *, void *>>> { struct __hash_node_base<std::__hash_node<MTLToolsObject *, void *> *> { void *__next_; } __value_; } __p1_; struct __compressed_pair<unsigned long, std::hash<MTLToolsObject *>> { unsigned long long __value_; } __p2_; struct __compressed_pair<float, std::equal_to<MTLToolsObject *>> { 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