luxlabs header browser preview


@class NSObject, hwResourcePoolCount, MTLResourceListPool, MTLIOAccelDeviceShmemPool, MTLIOMemoryInfo, MTLIOAccelBuffer;
@protocol OS_dispatch_queue, OS_dispatch_source, MTLDeviceSPI;

@interface MTLIOAccelDevice : _MTLDevice {
    struct __IOAccelDevice { } *_deviceRef;
    struct __IOAccelShared { } *_sharedRef;
    struct { MTLIOAccelDeviceShmemPool *segmentListShmemPool; MTLIOAccelDeviceShmemPool *kernelCommandShmemPool; hwResourcePoolCount **hwResourcePools; unsigned int x0; MTLResourceListPool *akResourceListPool; MTLResourceListPool *akPrivateResourceListPool; } _storageCreateParams;
    struct MTLIOAccelCommandBufferStoragePool { struct storageQueue { struct MTLIOAccelCommandBufferStorage *x0; struct MTLIOAccelCommandBufferStorage **x1; } x0; struct os_unfair_lock_s { unsigned int x0; } x1; int x2; _Atomic int x3; id x4; } *_commandBufferStoragePool;
    unsigned int _configBits;
    unsigned int _deviceBits;
    unsigned long long _textureRam;
    unsigned long long _videoRam;
    unsigned long long _sharedMemorySize;
    unsigned int _accelID;
    _Atomic int _numCommandBuffers;
    unsigned long long _segmentByteThreshold;
    struct MTLIOAccelBufferHeap { MTLIOAccelBuffer *buffers[64]; struct MTLRangeAllocator { struct MTLRangeAllocatorElement *elements; unsigned int numElements; unsigned long long capacity; unsigned long long capacityIncrement; unsigned long long defaultAlignmentMask; } allocators[64]; unsigned int allocations[64]; unsigned int count; } _bufferHeaps[16];
    NSObject<OS_dispatch_queue> *_device_dispatch_queue;
    NSObject<OS_dispatch_queue> *_device_pool_cleanup_queue;
    NSObject<OS_dispatch_source> *_device_pool_cleanup_source;
    BOOL _device_pool_cleanup_scheduled;
    unsigned int _fenceAllocatedCount;
    unsigned int _fenceMaximumCount;
    unsigned int _fenceBitmapSearchStart;
    unsigned int _fenceBitmapCount;
    unsigned long long *_fenceAllocationBitmap;
    unsigned long long _registryID;
    id<MTLDeviceSPI> _deviceWrapper;
}

@property (readonly) id *hwResourcePools;
@property (readonly) unsigned int hwResourcePoolCount;
@property (readonly) int numCommandBuffers;
@property (readonly) unsigned int acceleratorPort;
@property (readonly) unsigned long long sharedMemorySize;
@property (readonly) unsigned long long dedicatedMemorySize;
@property (readonly) unsigned long long recommendedMaxWorkingSetSize;
@property (readonly) unsigned long long registryID;
@property (readonly) BOOL hasUnifiedMemory;
@property (readonly) BOOL supportsVertexAmplification;
@property (readonly) BOOL supportPriorityBand;
@property (readonly) unsigned long long currentAllocatedSize;
@property (readonly) MTLIOMemoryInfo *memoryInfo;
@property (readonly) BOOL supportLazyInitialization;

- (id)newArgumentEncoderWithLayout:(id)a0;
- (id)newFence;
- (unsigned int)initialKernelCommandShmemSize;
- (void)updateResourcePoolPurgeability;
- (id)newAccelerationStructureWithSize:(unsigned long long)a0 withDescriptor:(id)a1;
- (id)newUncachedIOFileHandleWithURL:(id)a0 error:(id *)a1;
- (id)newUncachedIOHandleWithURL:(id)a0 error:(id *)a1;
- (struct __IOAccelDevice { } *)deviceRef;
- (id)initWithAcceleratorPort:(unsigned int)a0;
- (id)newEvent;
- (id)newEventWithOptions:(long long)a0;
- (void)_purgeDevice;
- (id)newIOHandleWithURL:(id)a0 compressionType:(long long)a1 error:(id *)a2;
- (id)newAccelerationStructureWithSize:(unsigned long long)a0 resourceIndex:(unsigned long long)a1;
- (id)newAccelerationStructureWithSize:(unsigned long long)a0;
- (id)allocBufferSubDataWithLength:(unsigned long long)a0 options:(unsigned long long)a1 alignment:(unsigned long long)a2 heapIndex:(short *)a3 bufferIndex:(short *)a4 bufferOffset:(unsigned long long *)a5;
- (short)heapIndexWithOptions:(unsigned long long)a0;
- (void)dealloc;
- (void)kickCleanupQueue;
- (id)akResourceListPool;
- (unsigned long long)maxBufferLength;
- (id)newUncachedIOHandleWithURL:(id)a0 compressionType:(long long)a1 error:(id *)a2;
- (id)_deviceWrapper;
- (void)releaseFenceIndex:(unsigned int)a0;
- (id)newIOHandleWithURL:(id)a0 error:(id *)a1;
- (BOOL)supportLazyInitialization;
- (id)newIOFileHandleWithURL:(id)a0 compressionMethod:(long long)a1 error:(id *)a2;
- (BOOL)supportsVertexAmplificationCount:(unsigned long long)a0;
- (id)memoryInfo;
- (void)_setDeviceWrapper:(id)a0;
- (struct __IOAccelShared { } *)sharedRef;
- (id)indirectArgumentBufferDecodingData;
- (id)newAccelerationStructureWithBuffer:(id)a0 offset:(unsigned long long)a1;
- (void)setIndirectArgumentBufferDecodingData:(id)a0;
- (void)_removeResource:(id)a0;
- (void)setHwResourcePool:(id *)a0 count:(int)a1;
- (id)newIndirectCommandBufferWithDescriptor:(id)a0 maxCommandCount:(unsigned long long)a1 options:(unsigned long long)a2;
- (id)newCommandQueueWithDescriptor:(id)a0;
- (id)newIOFileHandleWithURL:(id)a0 error:(id *)a1;
- (void).cxx_destruct;
- (unsigned int)initialSegmentListShmemSize;
- (void)setComputePipelineStateCommandShmemSize:(unsigned int)a0;
- (id)newIOHandleWithURL:(id)a0 compressionMethod:(long long)a1 error:(id *)a2;
- (void)_addResource:(id)a0;
- (id)newIntersectionFunctionTableWithDescriptor:(id)a0;
- (id)newAccelerationStructureWithBuffer:(id)a0 offset:(unsigned long long)a1 resourceIndex:(unsigned long long)a2;
- (BOOL)lazyInitialize;
- (void)deallocBufferSubData:(id)a0 heapIndex:(short)a1 bufferIndex:(short)a2 bufferOffset:(unsigned long long)a3 length:(unsigned long long)a4;
- (id)newIndirectArgumentBufferLayoutWithStructType:(id)a0;
- (id)newIndirectArgumentEncoderWithLayout:(id)a0;
- (id)akPrivateResourceListPool;
- (id)newUncachedIOFileHandleWithURL:(id)a0 compressionMethod:(long long)a1 error:(id *)a2;
- (id)newIOCommandQueueWithDescriptor:(id)a0 error:(id *)a1;
- (void)setSegmentListShmemSize:(unsigned int)a0;
- (int)numCommandBuffers;

@end