luxlabs header browser preview


@class IOGPUMemoryInfo, hwResourcePoolCount, MTLResourceListPool, IOGPUMetalDeviceShmemPool, NSObject;
@protocol OS_dispatch_queue, OS_dispatch_source, MTLDeviceSPI;

@interface IOGPUMetalDevice : _MTLDevice {
    struct __IOGPUDevice { } *_deviceRef;
    struct { IOGPUMetalDeviceShmemPool *segmentListShmemPool; IOGPUMetalDeviceShmemPool *kernelCommandShmemPool; IOGPUMetalDeviceShmemPool *sidebandPool; hwResourcePoolCount **hwResourcePools; unsigned int x0; MTLResourceListPool *akResourceListPool; MTLResourceListPool *akPrivateResourceListPool; IOGPUMetalDeviceShmemPool *debugBufferShmemPool; } _storageCreateParams;
    struct IOGPUMetalCommandBufferStoragePool { struct gpuStorageQueue { struct IOGPUMetalCommandBufferStorage *x0; struct IOGPUMetalCommandBufferStorage **x1; } x0; struct os_unfair_lock_s { unsigned int x0; } x1; int x2; int x3; int x4; id x5; } *_commandBufferStoragePool;
    unsigned int _configBits;
    unsigned int _deviceBits;
    unsigned long long _textureRam;
    unsigned long long _videoRam;
    unsigned long long _sharedMemorySize;
    unsigned int _accelID;
    unsigned long long _segmentByteThreshold;
    IOGPUMetalDeviceShmemPool *_ioKernelCommandListShmemPool;
    BOOL _disableGPUIO;
    struct IOGPUMetalSuballocator { } *_buffer_suballocator;
    NSObject<OS_dispatch_queue> *_device_dispatch_queue;
    NSObject<OS_dispatch_queue> *_device_pool_cleanup_queue;
    NSObject<OS_dispatch_source> *_device_pool_cleanup_source;
    struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _device_pool_cleanup_lock;
    BOOL _device_pool_cleanup_scheduled;
    BOOL _device_pool_cleanup_requested;
    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) IOGPUMemoryInfo *memoryInfo;

+ (void)registerService:(unsigned int)a0;
+ (void)registerDevices;

- (id)newArgumentEncoderWithLayout:(id)a0;
- (id)newFence;
- (unsigned int)initialKernelCommandShmemSize;
- (id)newUncachedIOFileHandleWithURL:(id)a0 error:(id *)a1;
- (id)newUncachedIOHandleWithURL:(id)a0 error:(id *)a1;
- (unsigned int)cmdBufArgsSize;
- (struct __IOGPUDevice { } *)deviceRef;
- (id)initWithAcceleratorPort:(unsigned int)a0;
- (id)newEvent;
- (id)newEventWithOptions:(long long)a0;
- (id)newLateEvalEvent;
- (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;
- (unsigned int)initialSidebandShmemSize;
- (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;
- (void)dealloc;
- (unsigned int)initialIOKernelCommandListShmemSize;
- (id)akResourceListPool;
- (unsigned long long)maxBufferLength;
- (id)newUncachedIOHandleWithURL:(id)a0 compressionType:(long long)a1 error:(id *)a2;
- (id)_deviceWrapper;
- (id)newIOHandleWithURL:(id)a0 error:(id *)a1;
- (id)newIOFileHandleWithURL:(id)a0 compressionMethod:(long long)a1 error:(id *)a2;
- (BOOL)supportsVertexAmplificationCount:(unsigned long long)a0;
- (id)memoryInfo;
- (void)_setDeviceWrapper:(id)a0;
- (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)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 parentAddress:(unsigned long long)a6 parentLength:(unsigned long long)a7;
- (id)newAccelerationStructureWithBuffer:(id)a0 offset:(unsigned long long)a1 resourceIndex:(unsigned long long)a2;
- (unsigned int)initialDebugBufferShmemSize;
- (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)initWithAcceleratorPort:(unsigned int)a0 options:(unsigned long long)a1;
- (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;

@end