luxlabs header browser preview


@class NSString, AGXA10FamilyDevice, AGXA10FamilyComputeProgram, MTLDebugInstrumentationData;
@protocol MTLDevice;

@interface AGXA10FamilyComputePipeline : _MTLComputePipelineState <MTLComputePipelineStateSPI> {
    struct ComputePipeline { struct RayPayloadSizeAlign<AGX::G9::Classes> { unsigned int max_traversal_depth; unsigned int traversal_depth; unsigned int aligned_size; unsigned int driver_size; unsigned int align; unsigned int num_cliques; BOOL has_instancing; } ray_payload_size_align; struct unique_ptr<AGX::HeapBuffer, std::default_delete<AGX::HeapBuffer>> { struct __compressed_pair<AGX::HeapBuffer *, std::default_delete<AGX::HeapBuffer>> { struct HeapBuffer *__value_; } __ptr_; } scs_per_shader_config_table; struct ComputeProgramVariant *compute_variant; BOOL supports_indirect_command_buffers; BOOL requires_binary_linking_bindings; BOOL descendent_pipeline; struct AGXA_UnfairLock { struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } lock; } visible_function_table_lock; struct AGXA_UnfairLock { struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } lock; } intersection_function_table_lock; struct ExecuteIndirectPipelineState { unsigned long long pipeline_state_gpu_address; struct Allocation { struct BufferView<unsigned char> { struct AddressView<unsigned char> { unsigned long long gpu; char *cpu; } address; unsigned long long size; } buffer_; struct _Resource *resource_; void *heap_; struct tuple<> { } element_; } allocation; struct IOGPUResourceInfo { struct __IOSurface *iosurface; unsigned long resourceSize : 56; unsigned char iosurfaceField : 8; unsigned int resourceID; } pipeline_resource_info; } ei_state; struct Allocation { } resource_indirection_heap_allocation; AGXA10FamilyDevice *device_obj; struct RuntimeState { struct shared_ptr<AGX::HeapBuffer> { struct HeapBuffer *__ptr_; struct __shared_weak_count *__cntrl_; } got; struct shared_ptr<AGX::HeapBuffer> { struct HeapBuffer *__ptr_; struct __shared_weak_count *__cntrl_; } global_constructors; struct shared_ptr<AGX::HeapBuffer> { struct HeapBuffer *__ptr_; struct __shared_weak_count *__cntrl_; } builtin_state_buffer; unsigned int max_temporary_register_count; unsigned int total_spill_buffer_bytes; BOOL has_side_effects; BOOL requires_builtin_state; unsigned int total_ipr_buffer_bytes; unsigned int max_lm_spill_size; unsigned int max_sgpr_lm_size; unsigned int max_tptg_from_dylibs; BOOL allocate_from_ei_heap; } loader_runtime_state; struct PipelineDylibResources<AGX::G9::ObjClasses, AGX::G9::Classes, AGX::ICBType::Compute> { struct vector<std::shared_ptr<AGX::G9::DynamicLibrary>, std::allocator<std::shared_ptr<AGX::G9::DynamicLibrary>>> { void *__begin_; void *__end_; struct __compressed_pair<std::shared_ptr<AGX::G9::DynamicLibrary> *, std::allocator<std::shared_ptr<AGX::G9::DynamicLibrary>>> { void *__value_; } __end_cap_; } dylibs; } dylib_resources; unsigned int max_wg_size; struct unordered_map<id<MTLFunction>, RetainedObjCPointer<AGXA10FamilyFunctionHandle *>, std::hash<id<MTLFunction>>, std::equal_to<id<MTLFunction>>, std::allocator<std::pair<const id<MTLFunction>, RetainedObjCPointer<AGXA10FamilyFunctionHandle *>>>> { struct __hash_table<std::__hash_value_type<id<MTLFunction>, RetainedObjCPointer<AGXA10FamilyFunctionHandle *>>, std::__unordered_map_hasher<id<MTLFunction>, std::__hash_value_type<id<MTLFunction>, RetainedObjCPointer<AGXA10FamilyFunctionHandle *>>, std::hash<id<MTLFunction>>, std::equal_to<id<MTLFunction>>>, std::__unordered_map_equal<id<MTLFunction>, std::__hash_value_type<id<MTLFunction>, RetainedObjCPointer<AGXA10FamilyFunctionHandle *>>, std::equal_to<id<MTLFunction>>, std::hash<id<MTLFunction>>>, std::allocator<std::__hash_value_type<id<MTLFunction>, RetainedObjCPointer<AGXA10FamilyFunctionHandle *>>>> { struct unique_ptr<std::__hash_node_base<std::__hash_node<std::__hash_value_type<id<MTLFunction>, RetainedObjCPointer<AGXA10FamilyFunctionHandle *>>, void *> *> *[], std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<id<MTLFunction>, RetainedObjCPointer<AGXA10FamilyFunctionHandle *>>, void *> *> *>>> { struct __compressed_pair<std::__hash_node_base<std::__hash_node<std::__hash_value_type<id<MTLFunction>, RetainedObjCPointer<AGXA10FamilyFunctionHandle *>>, void *> *> **, std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<id<MTLFunction>, RetainedObjCPointer<AGXA10FamilyFunctionHandle *>>, void *> *> *>>> { void **__value_; struct __bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<id<MTLFunction>, RetainedObjCPointer<AGXA10FamilyFunctionHandle *>>, void *> *> *>> { struct __compressed_pair<unsigned long, std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<id<MTLFunction>, RetainedObjCPointer<AGXA10FamilyFunctionHandle *>>, void *> *> *>> { unsigned long long __value_; } __data_; } __value_; } __ptr_; } __bucket_list_; struct __compressed_pair<std::__hash_node_base<std::__hash_node<std::__hash_value_type<id<MTLFunction>, RetainedObjCPointer<AGXA10FamilyFunctionHandle *>>, void *> *>, std::allocator<std::__hash_node<std::__hash_value_type<id<MTLFunction>, RetainedObjCPointer<AGXA10FamilyFunctionHandle *>>, void *>>> { struct __hash_node_base<std::__hash_node<std::__hash_value_type<id<MTLFunction>, RetainedObjCPointer<AGXA10FamilyFunctionHandle *>>, void *> *> { void *__next_; } __value_; } __p1_; struct __compressed_pair<unsigned long, std::__unordered_map_hasher<id<MTLFunction>, std::__hash_value_type<id<MTLFunction>, RetainedObjCPointer<AGXA10FamilyFunctionHandle *>>, std::hash<id<MTLFunction>>, std::equal_to<id<MTLFunction>>>> { unsigned long long __value_; } __p2_; struct __compressed_pair<float, std::__unordered_map_equal<id<MTLFunction>, std::__hash_value_type<id<MTLFunction>, RetainedObjCPointer<AGXA10FamilyFunctionHandle *>>, std::equal_to<id<MTLFunction>>, std::hash<id<MTLFunction>>>> { float __value_; } __p3_; } __table_; } function_handle_map; struct unordered_map<unsigned long long, AGXA10FamilyVisibleFunctionTable *, std::hash<unsigned long long>, std::equal_to<unsigned long long>, std::allocator<std::pair<const unsigned long long, AGXA10FamilyVisibleFunctionTable *>>> { struct __hash_table<std::__hash_value_type<unsigned long long, AGXA10FamilyVisibleFunctionTable *>, std::__unordered_map_hasher<unsigned long long, std::__hash_value_type<unsigned long long, AGXA10FamilyVisibleFunctionTable *>, std::hash<unsigned long long>, std::equal_to<unsigned long long>>, std::__unordered_map_equal<unsigned long long, std::__hash_value_type<unsigned long long, AGXA10FamilyVisibleFunctionTable *>, std::equal_to<unsigned long long>, std::hash<unsigned long long>>, std::allocator<std::__hash_value_type<unsigned long long, AGXA10FamilyVisibleFunctionTable *>>> { struct unique_ptr<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, AGXA10FamilyVisibleFunctionTable *>, void *> *> *[], std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, AGXA10FamilyVisibleFunctionTable *>, void *> *> *>>> { struct __compressed_pair<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, AGXA10FamilyVisibleFunctionTable *>, void *> *> **, std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, AGXA10FamilyVisibleFunctionTable *>, void *> *> *>>> { void **__value_; struct __bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, AGXA10FamilyVisibleFunctionTable *>, void *> *> *>> { struct __compressed_pair<unsigned long, std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, AGXA10FamilyVisibleFunctionTable *>, void *> *> *>> { unsigned long long __value_; } __data_; } __value_; } __ptr_; } __bucket_list_; struct __compressed_pair<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, AGXA10FamilyVisibleFunctionTable *>, void *> *>, std::allocator<std::__hash_node<std::__hash_value_type<unsigned long long, AGXA10FamilyVisibleFunctionTable *>, void *>>> { struct __hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, AGXA10FamilyVisibleFunctionTable *>, void *> *> { void *__next_; } __value_; } __p1_; struct __compressed_pair<unsigned long, std::__unordered_map_hasher<unsigned long long, std::__hash_value_type<unsigned long long, AGXA10FamilyVisibleFunctionTable *>, std::hash<unsigned long long>, std::equal_to<unsigned long long>>> { unsigned long long __value_; } __p2_; struct __compressed_pair<float, std::__unordered_map_equal<unsigned long long, std::__hash_value_type<unsigned long long, AGXA10FamilyVisibleFunctionTable *>, std::equal_to<unsigned long long>, std::hash<unsigned long long>>> { float __value_; } __p3_; } __table_; } heap_index_vft_map; struct DummyHeap *clone_visible_function_table_heap; struct unordered_map<unsigned long long, AGXA10FamilyUserIntersectionFunctionTable *, std::hash<unsigned long long>, std::equal_to<unsigned long long>, std::allocator<std::pair<const unsigned long long, AGXA10FamilyUserIntersectionFunctionTable *>>> { struct __hash_table<std::__hash_value_type<unsigned long long, AGXA10FamilyUserIntersectionFunctionTable *>, std::__unordered_map_hasher<unsigned long long, std::__hash_value_type<unsigned long long, AGXA10FamilyUserIntersectionFunctionTable *>, std::hash<unsigned long long>, std::equal_to<unsigned long long>>, std::__unordered_map_equal<unsigned long long, std::__hash_value_type<unsigned long long, AGXA10FamilyUserIntersectionFunctionTable *>, std::equal_to<unsigned long long>, std::hash<unsigned long long>>, std::allocator<std::__hash_value_type<unsigned long long, AGXA10FamilyUserIntersectionFunctionTable *>>> { struct unique_ptr<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, AGXA10FamilyUserIntersectionFunctionTable *>, void *> *> *[], std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, AGXA10FamilyUserIntersectionFunctionTable *>, void *> *> *>>> { struct __compressed_pair<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, AGXA10FamilyUserIntersectionFunctionTable *>, void *> *> **, std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, AGXA10FamilyUserIntersectionFunctionTable *>, void *> *> *>>> { void **__value_; struct __bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, AGXA10FamilyUserIntersectionFunctionTable *>, void *> *> *>> { struct __compressed_pair<unsigned long, std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, AGXA10FamilyUserIntersectionFunctionTable *>, void *> *> *>> { unsigned long long __value_; } __data_; } __value_; } __ptr_; } __bucket_list_; struct __compressed_pair<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, AGXA10FamilyUserIntersectionFunctionTable *>, void *> *>, std::allocator<std::__hash_node<std::__hash_value_type<unsigned long long, AGXA10FamilyUserIntersectionFunctionTable *>, void *>>> { struct __hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, AGXA10FamilyUserIntersectionFunctionTable *>, void *> *> { void *__next_; } __value_; } __p1_; struct __compressed_pair<unsigned long, std::__unordered_map_hasher<unsigned long long, std::__hash_value_type<unsigned long long, AGXA10FamilyUserIntersectionFunctionTable *>, std::hash<unsigned long long>, std::equal_to<unsigned long long>>> { unsigned long long __value_; } __p2_; struct __compressed_pair<float, std::__unordered_map_equal<unsigned long long, std::__hash_value_type<unsigned long long, AGXA10FamilyUserIntersectionFunctionTable *>, std::equal_to<unsigned long long>, std::hash<unsigned long long>>> { float __value_; } __p3_; } __table_; } heap_index_ift_map; struct shared_ptr<AGX::G9::IntersectionPipelineSets> { struct IntersectionPipelineSets *__ptr_; struct __shared_weak_count *__cntrl_; } intersection_pipeline_sets; } _impl;
    AGXA10FamilyComputeProgram *_cp;
    AGXA10FamilyComputePipeline *_basePipeline;
}

@property (readonly) unsigned long long maxTotalThreadsPerThreadgroup;
@property (readonly) unsigned long long threadExecutionWidth;
@property (readonly) unsigned long long staticThreadgroupMemoryLength;
@property (readonly) unsigned long long allocatedSize;
@property (readonly) long long textureWriteRoundingMode;
@property (readonly, nonatomic) unsigned long long resourceIndex;
@property (readonly, nonatomic) unsigned long long gpuAddress;
@property (readonly) unsigned long long uniqueIdentifier;
@property (readonly, retain, nonatomic) MTLDebugInstrumentationData *debugInstrumentationData;
@property (readonly) unsigned long long gpuHandle;
@property (readonly) NSString *label;
@property (readonly) id<MTLDevice> device;
@property (readonly) BOOL supportIndirectCommandBuffers;
@property (readonly) struct MTLResourceID { unsigned long long x0; } gpuResourceID;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

- (void)dealloc;
- (unsigned long long)imageblockMemoryLengthForDimensions:(struct { unsigned long long x0; unsigned long long x1; unsigned long long x2; })a0;
- (id).cxx_construct;
- (id)pipelineBinaries;
- (void).cxx_destruct;
- (id)newIntersectionFunctionTableWithDescriptor:(id)a0;
- (id)initWithParent:(id)a0;
- (id)initWithDevice:(id)a0 pipelineStateDescriptor:(id)a1;
- (id)functionHandleWithFunction:(id)a0;
- (unsigned int)getComputeKernelTelemetryID;
- (id)newComputePipelineStateWithAdditionalBinaryFunctions:(id)a0 error:(id *)a1;
- (id)newVisibleFunctionTableWithDescriptor:(id)a0;
- (unsigned long long)imageBlockMemoryLengthForDimensions:(struct { unsigned long long x0; unsigned long long x1; unsigned long long x2; })a0;

@end