luxlabs header browser preview


@class __end_cap_, NSData, NSMutableArray, __end_;
@protocol MTLBuffer, MTLDepthStencilState, MTLArgumentEncoder, MTLComputePipelineState, MTLRenderPipelineState;

@interface MTLGPUDebugDevice : MTLToolsDevice {
    struct MetalBufferHeap { struct mutex { struct _opaque_pthread_mutex_t { long long __sig; char __opaque[56]; } __m_; } _mutex; struct vector<id<MTLBuffer>, std::allocator<id<MTLBuffer>>> { __end_ **__begin_; __end_cap_ **x0; struct __compressed_pair<id<MTLBuffer> *, std::allocator<id<MTLBuffer>>> { id *__value_; } x1; } _buffers; struct vector<unsigned int, std::allocator<unsigned int>> { unsigned int *__begin_; unsigned int *__end_; struct __compressed_pair<unsigned int *, std::allocator<unsigned int>> { unsigned int *__value_; } __end_cap_; } _freeList; int _currentFreeIndex; unsigned long long _totalMemoryAllocated; unsigned long long _totalMemoryInUse; unsigned long long _bufferLength; MTLGPUDebugDevice *_device; } bufferHeap;
    struct Options { unsigned int version; int mode; int accessTypes; int failMode; unsigned int maxTrackedResourcesMultiplier; struct { unsigned char enableReporting : 1; unsigned char packPointerAddresses : 1; unsigned char unpackPointerAddress : 1; unsigned char forceInline : 1; unsigned char enableBacktracking : 1; unsigned char optimizeConstantDeref : 1; unsigned char skipVertexFetchLoads : 1; unsigned char enableGEPOptimization : 1; unsigned char enableRuntimeStacktrace : 1; unsigned char emitBoundsChecking : 1; unsigned char runStandardOptimizations : 1; unsigned char backtrackFailuresAssumeSafe : 1; unsigned char pageDataIs32bitLength : 1; unsigned char forceUnrollLoops : 1; unsigned char mergeAccessChecks : 1; unsigned char convertToAB : 1; unsigned char arraysOfBuffersAB : 1; unsigned char noInlineTrivialFunctions : 1; unsigned char unrollMemCpyWA : 1; unsigned char checkGlobalConstants : 1; unsigned char enableTextureChecks : 1; unsigned char demoteGlobalConstantsToArg : 1; unsigned char argumentPointerIndirection : 1; unsigned char enableThreadgroupMemoryChecks : 1; unsigned char mergeThreadgroupGlobals : 1; unsigned char mergeThreadgroupArguments : 1; unsigned char tagThreadgroupPointers : 1; unsigned char enableJumpThreading : 1; unsigned char enableICBSupport : 1; unsigned char enableGlobalRelocations : 1; unsigned char enableTrapReporting : 1; unsigned char enableRaytracing : 1; unsigned char enableResourceUsageValidation : 1; unsigned char enableStackOverflow : 1; unsigned char enableDumpToStderr : 1; } ; } boundsCheckOptions;
    struct GPUDebugDeviceOptions { unsigned char retainReflection : 1; unsigned char retainPSOFunctions : 1; unsigned char abortOnFault : 1; } deviceOptions;
    struct GPUDebugBufferDescriptorHeap { struct mutex { struct _opaque_pthread_mutex_t { long long __sig; char __opaque[56]; } __m_; } s; struct vector<unsigned int, std::allocator<unsigned int>> { unsigned int *__begin_; unsigned int *__end_; struct __compressed_pair<unsigned int *, std::allocator<unsigned int>> { unsigned int *__value_; } __end_cap_; } _freeIndexList; struct vector<MTLGPUDebugBuffer *, std::allocator<MTLGPUDebugBuffer *>> { __end_ **__begin_; __end_cap_ **x0; struct __compressed_pair<MTLGPUDebugBuffer **, std::allocator<MTLGPUDebugBuffer *>> { id *__value_; } x1; } _bufferList; unsigned long long _freeIndex; id<MTLArgumentEncoder> _argumentEncoder; id<MTLBuffer> _descriptorHeap; } globalBufferHeap;
    struct GPUDebugConstantBufferCache { unsigned long long _totalUsedMemory; struct mutex { struct _opaque_pthread_mutex_t { long long __sig; char __opaque[56]; } __m_; } _accessMutex; struct unordered_map<GPUDebugConstantBufferCache::Key, GPUDebugConstantBufferCache::Value, GPUDebugConstantBufferCache::Key::Hash, std::equal_to<GPUDebugConstantBufferCache::Key>, std::allocator<std::pair<const GPUDebugConstantBufferCache::Key, GPUDebugConstantBufferCache::Value>>> { struct __hash_table<std::__hash_value_type<GPUDebugConstantBufferCache::Key, GPUDebugConstantBufferCache::Value>, std::__unordered_map_hasher<GPUDebugConstantBufferCache::Key, std::__hash_value_type<GPUDebugConstantBufferCache::Key, GPUDebugConstantBufferCache::Value>, GPUDebugConstantBufferCache::Key::Hash, std::equal_to<GPUDebugConstantBufferCache::Key>>, std::__unordered_map_equal<GPUDebugConstantBufferCache::Key, std::__hash_value_type<GPUDebugConstantBufferCache::Key, GPUDebugConstantBufferCache::Value>, std::equal_to<GPUDebugConstantBufferCache::Key>, GPUDebugConstantBufferCache::Key::Hash>, std::allocator<std::__hash_value_type<GPUDebugConstantBufferCache::Key, GPUDebugConstantBufferCache::Value>>> { struct unique_ptr<std::__hash_node_base<std::__hash_node<std::__hash_value_type<GPUDebugConstantBufferCache::Key, GPUDebugConstantBufferCache::Value>, void *> *> *[], std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<GPUDebugConstantBufferCache::Key, GPUDebugConstantBufferCache::Value>, void *> *> *>>> { struct __compressed_pair<std::__hash_node_base<std::__hash_node<std::__hash_value_type<GPUDebugConstantBufferCache::Key, GPUDebugConstantBufferCache::Value>, void *> *> **, std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<GPUDebugConstantBufferCache::Key, GPUDebugConstantBufferCache::Value>, void *> *> *>>> { void **__value_; struct __bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<GPUDebugConstantBufferCache::Key, GPUDebugConstantBufferCache::Value>, void *> *> *>> { struct __compressed_pair<unsigned long, std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<GPUDebugConstantBufferCache::Key, GPUDebugConstantBufferCache::Value>, void *> *> *>> { unsigned long long __value_; } __data_; } __value_; } __ptr_; } __bucket_list_; struct __compressed_pair<std::__hash_node_base<std::__hash_node<std::__hash_value_type<GPUDebugConstantBufferCache::Key, GPUDebugConstantBufferCache::Value>, void *> *>, std::allocator<std::__hash_node<std::__hash_value_type<GPUDebugConstantBufferCache::Key, GPUDebugConstantBufferCache::Value>, void *>>> { struct __hash_node_base<std::__hash_node<std::__hash_value_type<GPUDebugConstantBufferCache::Key, GPUDebugConstantBufferCache::Value>, void *> *> { void *__next_; } __value_; } __p1_; struct __compressed_pair<unsigned long, std::__unordered_map_hasher<GPUDebugConstantBufferCache::Key, std::__hash_value_type<GPUDebugConstantBufferCache::Key, GPUDebugConstantBufferCache::Value>, GPUDebugConstantBufferCache::Key::Hash, std::equal_to<GPUDebugConstantBufferCache::Key>>> { unsigned long long __value_; } __p2_; struct __compressed_pair<float, std::__unordered_map_equal<GPUDebugConstantBufferCache::Key, std::__hash_value_type<GPUDebugConstantBufferCache::Key, GPUDebugConstantBufferCache::Value>, std::equal_to<GPUDebugConstantBufferCache::Key>, GPUDebugConstantBufferCache::Key::Hash>> { float __value_; } __p3_; } __table_; } _cache; MTLGPUDebugDevice *_device; } constantBufferCache;
    struct GlobalResidentBufferList { unsigned int _iteration; struct mutex { struct _opaque_pthread_mutex_t { long long __sig; char __opaque[56]; } __m_; } _accessMutex; struct list<id<MTLBuffer>, std::allocator<id<MTLBuffer>>> { struct __list_node_base<id<MTLBuffer>, void *> { void *__prev_; void *__next_; } __end_; struct __compressed_pair<unsigned long, std::allocator<std::__list_node<id<MTLBuffer>, void *>>> { unsigned long long __value_; } __size_alloc_; } _bufferList; } globalICBBufferResidentList;
    id<MTLBuffer> uncheckedBuffer;
    NSData *_boundsCheckOptionsData;
    NSMutableArray *_argumentDescriptors;
    struct once_flag { unsigned long long __state_; } _deviceInitFlag;
    struct once_flag { unsigned long long __state_; } _icbPipelineInit;
    id<MTLRenderPipelineState> _icbInheritVertexPipelineState;
    id<MTLRenderPipelineState> _icbInheritNoneVertexPipelineState;
    id<MTLRenderPipelineState> _icbInheritBuffersVertexPipelineState;
    id<MTLDepthStencilState> _icbDepthStencilState;
    id<MTLComputePipelineState> _icbInheritComputePipelineState;
    id<MTLComputePipelineState> _icbInheritNoneComputePipelineState;
    id<MTLComputePipelineState> _icbInheritBuffersComputePipelineState;
    id<MTLComputePipelineState> _icbInheritBothComputePipelineState;
}

@property (readonly, nonatomic) id<MTLRenderPipelineState> ICB_Inherit_PSO_VertexPipelineState;
@property (readonly, nonatomic) id<MTLRenderPipelineState> ICB_Inherit_None_VertexPipelineState;
@property (readonly, nonatomic) id<MTLRenderPipelineState> ICB_Inherit_Buffers_VertexPipelineState;
@property (readonly, nonatomic) id<MTLDepthStencilState> ICB_DepthStencilState;
@property (readonly, nonatomic) id<MTLComputePipelineState> ICB_Inherit_PSO_ComputePipelineState;
@property (readonly, nonatomic) id<MTLComputePipelineState> ICB_Inherit_None_ComputePipelineState;
@property (readonly, nonatomic) id<MTLComputePipelineState> ICB_Inherit_Buffers_ComputePipelineState;
@property (readonly, nonatomic) id<MTLComputePipelineState> ICB_Inherit_Both_ComputePipelineState;
@property (readonly, nonatomic) id<MTLComputePipelineState> accelerationStructureComputePipelineState;
@property (readonly, nonatomic) BOOL supportsResourceUsageValidation;

- (id)newArgumentEncoderWithLayout:(id)a0;
- (id)newCommandQueue;
- (id)newAccelerationStructureWithSize:(unsigned long long)a0 withDescriptor:(id)a1;
- (id)newDynamicLibraryFromURL:(id)a0 error:(id *)a1;
- (id)newArgumentEncoderWithArguments:(id)a0 structType:(id *)a1;
- (id)newDefaultLibrary;
- (id)newLibraryWithDAG:(id)a0 functions:(id)a1 error:(id *)a2;
- (void)newComputePipelineStateWithDescriptor:(id)a0 completionHandler:(id /* block */)a1;
- (id)newBinaryArchiveWithDescriptor:(id)a0 error:(id *)a1;
- (id)newDynamicLibraryWithURL:(id)a0 error:(id *)a1;
- (id)newSharedTextureWithDescriptor:(id)a0;
- (id)newAccelerationStructureWithDescriptor:(id)a0;
- (BOOL)supportsRenderDynamicLibraries;
- (id)newLibraryWithFile:(id)a0 error:(id *)a1;
- (BOOL)supportsStackOverflowErrorCode;
- (id)newLibraryWithStitchedDescriptor:(id)a0 error:(id *)a1;
- (BOOL)supportsCMPIndirectCommandBuffers;
- (id)newLibraryWithData:(id)a0 error:(id *)a1;
- (void)newRenderPipelineStateWithMeshDescriptor:(id)a0 completionHandler:(id /* block */)a1;
- (BOOL)supportsFunctionPointersFromRender;
- (id)loadDynamicLibrariesForFunction:(id)a0 insertLibraries:(id)a1 error:(id *)a2;
- (id)newComputePipelineStateWithFunction:(id)a0 error:(id *)a1;
- (id)newLibraryWithDescriptor:(id)a0 error:(id *)a1;
- (id)newComputePipelineStateWithDescriptor:(id)a0 options:(unsigned long long)a1 reflection:(id *)a2 error:(id *)a3;
- (id)newAccelerationStructureWithSize:(unsigned long long)a0 resourceIndex:(unsigned long long)a1;
- (id)newDynamicLibrary:(id)a0 computeDescriptor:(id)a1 error:(id *)a2;
- (id)newRenderPipelineStateWithDescriptor:(id)a0 options:(unsigned long long)a1 reflection:(id *)a2 error:(id *)a3;
- (id)newAccelerationStructureWithSize:(unsigned long long)a0;
- (id)loadDynamicLibrariesForFunction:(id)a0 insertLibraries:(id)a1 options:(unsigned long long)a2 error:(id *)a3;
- (id)newLibraryWithImageFilterFunctionsSPI:(id)a0 imageFilterFunctionInfo:(const struct { BOOL x0; unsigned long long x1; struct *x2; } *)a1 error:(id *)a2;
- (id)newComputePipelineStateWithDescriptor:(id)a0 error:(id *)a1;
- (struct { unsigned long long x0; unsigned long long x1; unsigned long long x2; })accelerationStructureSizesWithDescriptor:(id)a0;
- (void)dealloc;
- (void)newRenderPipelineStateWithMeshDescriptor:(id)a0 options:(unsigned long long)a1 completionHandler:(id /* block */)a2;
- (id)newArgumentEncoderWithArguments:(id)a0;
- (id)newDagStringWithGraphs:(id)a0;
- (BOOL)supportsRaytracing;
- (id)newDynamicLibrary:(id)a0 error:(id *)a1;
- (id)newTextureWithDescriptor:(id)a0;
- (void)newRenderPipelineStateWithDescriptor:(id)a0 completionHandler:(id /* block */)a1;
- (void)newRenderPipelineStateWithTileDescriptor:(id)a0 options:(unsigned long long)a1 completionHandler:(id /* block */)a2;
- (id)newLibraryWithDescriptorSPI:(id)a0 error:(id *)a1;
- (BOOL)supportsGFXIndirectCommandBuffers;
- (void)newComputePipelineStateWithFunction:(id)a0 options:(unsigned long long)a1 completionHandler:(id /* block */)a2;
- (void)newLibraryWithStitchedDescriptor:(id)a0 completionHandler:(id /* block */)a1;
- (id)newBinaryLibraryWithOptions:(unsigned long long)a0 url:(id)a1 error:(id *)a2;
- (id)newSharedTextureWithHandle:(id)a0;
- (id)newRenderPipelineStateWithDescriptor:(id)a0 error:(id *)a1;
- (id).cxx_construct;
- (BOOL)supportsSharedFunctionTables;
- (id)newRenderPipelineStateWithMeshDescriptor:(id)a0 options:(unsigned long long)a1 reflection:(id *)a2 error:(id *)a3;
- (id)newAccelerationStructureWithBuffer:(id)a0 offset:(unsigned long long)a1;
- (void)newComputePipelineStateWithDescriptor:(id)a0 options:(unsigned long long)a1 completionHandler:(id /* block */)a2;
- (id)newLibraryWithCIFilters:(id)a0 imageFilterFunctionInfo:(const struct { BOOL x0; unsigned long long x1; struct *x2; } *)a1 error:(id *)a2;
- (id)loadDynamicLibrariesForComputeDescriptor:(id)a0 error:(id *)a1;
- (id)newIndirectCommandBufferWithDescriptor:(id)a0 maxCommandCount:(unsigned long long)a1 options:(unsigned long long)a2;
- (id)deserializePrimitiveAccelerationStructureFromBytes:(void *)a0 withDescriptor:(id)a1;
- (id)newLibraryWithStitchedDescriptorSPI:(id)a0 error:(id *)a1;
- (id)newArgumentEncoderWithBufferBinding:(id)a0;
- (id)newCommandQueueWithDescriptor:(id)a0;
- (id)newDefaultLibraryWithBundle:(id)a0 error:(id *)a1;
- (id)newLibraryWithURL:(id)a0 error:(id *)a1;
- (void)newRenderPipelineStateWithDescriptor:(id)a0 options:(unsigned long long)a1 completionHandler:(id /* block */)a2;
- (id)newTextureWithDescriptor:(id)a0 iosurface:(struct __IOSurface { } *)a1 plane:(unsigned long long)a2 slice:(unsigned long long)a3;
- (id)newCommandQueueWithMaxCommandBufferCount:(unsigned long long)a0;
- (void).cxx_destruct;
- (id)newDynamicLibraryWithURL:(id)a0 options:(unsigned long long)a1 error:(id *)a2;
- (void)newComputePipelineStateWithFunction:(id)a0 completionHandler:(id /* block */)a1;
- (id)deserializeInstanceAccelerationStructureFromBytes:(void *)a0 primitiveAccelerationStructures:(id)a1 withDescriptor:(id)a2;
- (id)newComputePipelineStateWithFunction:(id)a0 options:(unsigned long long)a1 reflection:(id *)a2 error:(id *)a3;
- (BOOL)supportsRayTracingPerPrimitiveData;
- (id)newIntersectionFunctionTableWithDescriptor:(id)a0;
- (id)newAccelerationStructureWithBuffer:(id)a0 offset:(unsigned long long)a1 resourceIndex:(unsigned long long)a2;
- (id)loadDynamicLibrariesForComputeDescriptor:(id)a0 options:(unsigned long long)a1 error:(id *)a2;
- (id)newRenderPipelineStateWithMeshDescriptor:(id)a0 error:(id *)a1;
- (BOOL)supportsRaytracingFromRender;
- (id)newLibraryWithSource:(id)a0 options:(id)a1 error:(id *)a2;
- (void)newLibraryWithSource:(id)a0 options:(id)a1 completionHandler:(id /* block */)a2;
- (void)newLibraryWithDescriptor:(id)a0 completionHandler:(id /* block */)a1;
- (BOOL)supportsArgumentBuffersTier2;
- (id)newRenderPipelineStateWithTileDescriptor:(id)a0 options:(unsigned long long)a1 reflection:(id *)a2 error:(id *)a3;
- (BOOL)supportsForkJoin;
- (id)newBufferWithBytesNoCopy:(void *)a0 length:(unsigned long long)a1 options:(unsigned long long)a2 deallocator:(id /* block */)a3;
- (id)newBufferWithIOSurface:(struct __IOSurface { } *)a0;
- (id)newBufferWithLength:(unsigned long long)a0 options:(unsigned long long)a1;
- (id)newBufferWithBytes:(const void *)a0 length:(unsigned long long)a1 options:(unsigned long long)a2;
- (id)newTextureWithDescriptor:(id)a0 iosurface:(struct __IOSurface { } *)a1 plane:(unsigned long long)a2;
- (id)newBufferWithBytesNoCopy:(void *)a0 length:(unsigned long long)a1 options:(unsigned long long)a2 gpuAddress:(unsigned long long)a3 deallocator:(id /* block */)a4;
- (id)initWithBaseObject:(id)a0 parent:(id)a1;
- (id)newBufferWithBytes:(const void *)a0 length:(unsigned long long)a1 options:(unsigned long long)a2 gpuAddress:(unsigned long long)a3;
- (id)newBufferWithDescriptor:(id)a0;
- (id)newBufferWithLength:(unsigned long long)a0 options:(unsigned long long)a1 gpuAddress:(unsigned long long)a2;
- (id)newHeapWithDescriptor:(id)a0;
- (id)newLibraryWithCIFiltersForComputePipeline:(id)a0 imageFilterFunctionInfo:(const struct { BOOL x0; unsigned long long x1; struct *x2; } *)a1 error:(id *)a2;
- (void)newRenderPipelineStateWithTileDescriptor:(id)a0 completionHandler:(id /* block */)a1;
- (id)newRenderPipelineStateWithTileDescriptor:(id)a0 error:(id *)a1;
- (id)newTextureWithBytesNoCopy:(void *)a0 length:(unsigned long long)a1 descriptor:(id)a2 deallocator:(id /* block */)a3;
- (id)newVisibleFunctionTableWithDescriptor:(id)a0;
- (id)getDynamicLibraryForBaseObject:(id)a0;
- (void)_modifyCompileOptions:(unsigned long long *)a0;
- (id)_modifyComputePipelineDescriptor:(id)a0;
- (void)_modifyMeshRenderPipelineDescriptor:(id)a0;
- (id)_modifyRenderPipelineDescriptor:(id)a0;
- (id)_modifyTilePipelineDescriptor:(id)a0;
- (void)_prepareBinaryLinkedFunctions:(id)a0;
- (void)_prepareInsertLibraries:(id)a0;
- (id)getFunctionForBaseObject:(id)a0 library:(id)a1;
- (void)modifyFunctionDescriptor:(id)a0;
- (id)newInternalBufferWithLength:(unsigned long long)a0 options:(unsigned long long)a1;
- (id)newModifyPluginData:(id)a0;
- (id)newStageArgumentBuffer;
- (id)newStageBufferArgumentEncoder;
- (void)onComputePipelineCreated:(id)a0;
- (void)onRenderPipelineCreated:(id)a0;
- (id)unwrapAndModifyComputePipelineDescriptor:(id *)a0 options:(unsigned long long *)a1;
- (id)unwrapAndModifyMeshRenderPipelineDescriptor:(id)a0 options:(unsigned long long *)a1;
- (id)unwrapAndModifyRenderPipelineDescriptor:(id *)a0 options:(unsigned long long *)a1;
- (id)unwrapAndModifyTileRenderPipelineDescriptor:(id *)a0 options:(unsigned long long *)a1;
- (id)unwrapStitchedLibraryDescriptor:(id)a0;
- (void)validateRaytracing;

@end