luxlabs header browser preview


@class NSString, IOGPUMetalHeap, IOGPUMetalDevice;
@protocol MTLHeap, MTLDevice;

@interface IOGPUMetalResource : _MTLResource <MTLResourceSPI> {
    struct _IOGPUMetalResource { union { unsigned long long reserved[4]; } vendor; struct IOGPUResourceInfo { struct __IOSurface *iosurface; unsigned long resourceSize : 56; unsigned char iosurfaceField : 8; unsigned int resourceID; } info; unsigned long long sharedAllocationUniqueId; unsigned long long cachedAllocationUniqueId; unsigned long long gpuAddress; IOGPUMetalDevice<MTLDevice> *device; NSString *label; unsigned long long globalTraceObjectID; unsigned long long labelTraceID; struct __IOGPUResource *resourceRef; struct IOGPUClientSharedRO *clientSharedRO; void *virtualAddress; unsigned long long options; unsigned long long storageMode; unsigned long long cpuCacheMode; int responsibleProcess; unsigned long long purgeableState; BOOL purgeableAllowed; IOGPUMetalHeap *heap; IOGPUMetalResource *resource; unsigned long long offset; unsigned long long length; BOOL pinned; struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } labelLock; } _res;
    IOGPUMetalResource *next;
    IOGPUMetalResource *prev;
    unsigned long long uniqueId;
    IOGPUMetalResource *weakSelf;
}

@property (readonly) struct __IOGPUResource { struct __CFRuntimeBase { unsigned long long x0; _Atomic unsigned long long x1; } x0; struct __IOGPUDevice *x1; void *x2; unsigned long long x3; unsigned long long x4; unsigned int x5; unsigned int x6; unsigned long long x7; unsigned long long x8; struct IOGPUClientSharedRO *x9; unsigned long long x10; unsigned long long x11; unsigned long long x12; unsigned long long x13; unsigned long long x14[0]; } *resourceRef;
@property (readonly, nonatomic) void *virtualAddress;
@property (readonly, nonatomic) unsigned long long gpuAddress;
@property (readonly, nonatomic) unsigned int resourceID;
@property (readonly, nonatomic) unsigned long long resourceSize;
@property (readonly) unsigned long long cpuCacheMode;
@property (readonly) unsigned long long storageMode;
@property (readonly) unsigned long long hazardTrackingMode;
@property (readonly) unsigned long long resourceOptions;
@property (readonly) unsigned long long unfilteredResourceOptions;
@property (readonly) unsigned long long allocatedSize;
@property (readonly) unsigned long long protectionOptions;
@property (readonly) unsigned long long heapOffset;
@property int responsibleProcess;
@property (readonly) unsigned long long allocationID;
@property (copy) NSString *label;
@property (readonly) id<MTLDevice> device;
@property (readonly) id<MTLHeap> heap;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

- (unsigned long long)setPurgeableState:(unsigned long long)a0;
- (struct __CFArray { } *)copyAnnotations;
- (BOOL)isComplete;
- (void)dealloc;
- (id)initWithResource:(id)a0;
- (void)waitUntilComplete;
- (void)_setLabel:(id)a0;
- (int)setOwnerWithIdentity:(unsigned int)a0;
- (void).cxx_destruct;
- (void)makeAliasable;
- (BOOL)isAliasable;
- (void)annotateResource:(struct __CFDictionary { } *)a0;
- (struct __CFDictionary { } *)copyAnnotationDictionary:(unsigned long long)a0 obj_key_name:(struct __CFString { } *)a1 obj_dict:(struct __CFDictionary { } *)a2;
- (BOOL)doesAliasAllResources:(const id *)a0 count:(unsigned long long)a1;
- (BOOL)doesAliasAnyResources:(const id *)a0 count:(unsigned long long)a1;
- (BOOL)doesAliasResource:(id)a0;
- (id)initMemoryless:(id)a0 descriptor:(id)a1;
- (id)initStandinWithDevice:(id)a0;
- (id)initWithDevice:(id)a0 options:(unsigned long long)a1 args:(struct IOGPUNewResourceArgs { struct IOGPUNewResourceData { unsigned int x0; unsigned int x1; unsigned short x2; unsigned short x3; unsigned short x4; unsigned short x5; unsigned char x6; unsigned char x7; unsigned char x8; unsigned char x9; unsigned int x10; unsigned long long x11; unsigned long long x12; unsigned long long x13; unsigned int x14; union { struct { unsigned long long x0; unsigned long long x1; unsigned long long x2; union { unsigned int x0; unsigned long long x1; } x3; } x0; struct { unsigned int x0; unsigned int x1; unsigned int x2; unsigned int x3; unsigned long long x4[2]; } x1; } x15; } x0; } *)a2 argsSize:(unsigned int)a3;
- (BOOL)isPurgeable;
- (id)retainedLabel;

@end