@class NSString, _MTLDevice, NSObject; @protocol OS_dispatch_queue; @interface MTLCompiler : NSObject { _MTLDevice *_device; struct shared_ptr { struct MTLCompilerCache *__ptr_; struct __shared_weak_count *__cntrl_; } _shaderCache; BOOL _useOfflinePath; } @property (readonly, copy) NSString *pluginPath; @property (readonly) NSObject *compilerQueue; @property (readonly) struct MTLCompilerConnectionManager { void /* function */ **x0; BOOL x1; int x2; } *compilerConnectionManager; @property (readonly) unsigned int compilerId; @property (readonly) unsigned long long compilerFlags; - (void *)getShaderCacheKeys; - (BOOL)copyShaderCacheToPath:(id)a0; - (struct { unsigned int x0; unsigned int x1; })libraryCacheStats; - (struct { unsigned int x0; unsigned int x1; })pipelineCacheStats; - (struct MTLFunctionId { struct { unsigned char x0[32]; } x0; struct { unsigned char x0[32]; } x1[4]; unsigned int x2; })getFunctionId:(id)a0; - (void)compileFunctionRequest:(id)a0 completionHandler:(id /* block */)a1; - (void)dealloc; - (void)compileFunctionRequestInternal:(id)a0 frameworkLinking:(BOOL)a1 linkDataSize:(unsigned long long)a2 reflectionOnly:(BOOL)a3 completionHandler:(id /* block */)a4; - (void)unloadShaderCaches; - (void)reflectionWithFunction:(id)a0 options:(unsigned long long)a1 sync:(BOOL)a2 pipelineLibrary:(id)a3 binaryArchives:(id)a4 completionHandler:(id /* block */)a5; - (void)compileLibraryRequest:(struct MTLCompileLibraryRequestData { BOOL x0; id x1; unsigned int x2; id x3; id x4; })a0 completionHandler:(id /* block */)a1; - (void)releaseCompilerOutputBlocks:(void *)a0; - (void)compileFunction:(id)a0 frameworkData:(id)a1 driverKeyData:(id)a2 options:(unsigned long long)a3 pipelineCache:(id)a4 completionHandler:(id /* block */)a5; - (id)pipelineStateWithVariant:(struct VariantEntry { char *x0; unsigned long long x1; unsigned long long x2; unsigned long long x3; id x4; id x5; unsigned long long x6; id x7; id x8; } *)a0 descriptor:(id)a1 options:(unsigned long long)a2 computeProgram:(void *)a3 kernelDriverCompileTimeData:(id)a4 serializedComputeDataDescriptor:(id)a5 compileTimeStatistics:(id)a6 reflection:(id *)a7 error:(id *)a8 completionHandler:(id /* block */)a9; - (void)reflectionWithFunction:(id)a0 options:(unsigned long long)a1 completionHandler:(id /* block */)a2; - (void)addFunctionKeys:(struct RequiredFunctionKeys { id x0[8]; id x1[8]; } *)a0 function:(id)a1 driverData:(id)a2 frameworkData:(id)a3 compilerOptions:(int)a4; - (id)newRenderPipelineStateWithTileDescriptor:(id)a0 options:(unsigned long long)a1 reflection:(id *)a2 error:(id *)a3 completionHandler:(id /* block */)a4; - (void)initializeFunctionRequestScriptAndFunctionId:(id)a0 script:(const void *)a1 driverCompilerOptions:(id)a2 compiledNextStageVariant:(id)a3; - (void)reflectionWithFunction:(id)a0 options:(unsigned long long)a1 sync:(BOOL)a2 completionHandler:(id /* block */)a3; - (void)addLegacyCompiledOutput:(id)a0 cachedCompiledOutput:(id)a1 importedSymbols:(id)a2 importedLibraries:(id)a3 hashKey:(id)a4 type:(char)a5 functionCache:(struct shared_ptr { struct MultiLevelPipelineCache *x0; struct __shared_weak_count *x1; })a6; - (void)compileFunction:(id)a0 visibleFunctions:(id)a1 visibleFunctionGroups:(id)a2 frameworkData:(id)a3 driverKeyData:(id)a4 options:(unsigned long long)a5 pipelineCache:(id)a6 sync:(BOOL)a7 completionHandler:(id /* block */)a8; - (void)generateMachOWithID:(const char *)a0 binaryEntries:(struct machOEntry { unsigned long long x0; struct MTLFunctionId *x1; id x2; id x3; id x4; id x5; } *)a1 numEntries:(unsigned long long)a2 machOSpecializedData:(const void *)a3 machOType:(int)a4 Path:(id)a5 platform:(unsigned long long)a6 completionHandler:(id /* block */)a7; - (id)newRenderPipelineStateWithDescriptor:(id)a0 options:(unsigned long long)a1 reflection:(id *)a2 error:(id *)a3 completionHandler:(id /* block */)a4; - (void *)getFunctionKeyWithComputePipelineState:(id)a0 options:(unsigned long long)a1 unfilteredOptions:(unsigned long long)a2 airScript:(const void *)a3 keySize:(unsigned long long *)a4; - (id)compileDynamicLibraryWithDescriptor:(id)a0 computePipelineDescriptor:(id)a1 error:(id *)a2; - (id)newRenderPipelineStateWithDescriptorInternal:(id)a0 options:(unsigned long long)a1 reflection:(id *)a2 destinationBinaryArchive:(id)a3 error:(id *)a4 completionHandler:(id /* block */)a5; - (id)createVertexStageAndLinkPipelineWithFragment:(void *)a0 fragmentVariant:(id)a1 vertexFunction:(id)a2 serializedVertexDescriptor:(id)a3 descriptor:(id)a4 airDescriptor:(id)a5 destinationArchive:(id)a6 options:(unsigned long long)a7 reflection:(id *)a8 compileStatistics:(id)a9 fragmentCompileTimeData:(id)a10 pipelineArchiverId:(id)a11 error:(id *)a12 completionHandler:(id /* block */)a13; - (void)compileRequest:(id)a0 pipelineCache:(id)a1 completionHandler:(id /* block */)a2; - (void)compileStatelessFunctionRequest:(id)a0 reflectionOnly:(BOOL)a1 completionHandler:(id /* block */)a2; - (id).cxx_construct; - (id)initWithTargetData:(id)a0 cacheUUID:(struct { unsigned char x0[32]; } *)a1 pluginPath:(id)a2 device:(id)a3 compilerFlags:(unsigned long long)a4; - (void)addLegacyCompiledOutput:(id)a0 importedSymbols:(id)a1 importedLibraries:(id)a2 hashKey:(id)a3 type:(char)a4 functionCache:(struct shared_ptr { struct MultiLevelPipelineCache *x0; struct __shared_weak_count *x1; })a5; - (struct { unsigned char x0[32]; })hashKeyForStatelessCompilationRequest:(id)a0; - (void)reflectionWithFunction:(id)a0 options:(unsigned long long)a1 sync:(BOOL)a2 binaryArchives:(id)a3 completionHandler:(id /* block */)a4; - (void *)getFunctionKeyWithRenderPipelineDescriptor:(id)a0 options:(unsigned long long)a1 unfilteredOptions:(unsigned long long)a2 airScript:(const void *)a3 function:(id)a4 functionType:(unsigned long long)a5 compiledNextStageVariant:(id)a6 keySize:(unsigned long long *)a7; - (BOOL)addMeshRenderPipelineStateWithDescriptor:(id)a0 destinationBinaryArchive:(id)a1 options:(unsigned long long)a2 error:(id *)a3; - (struct RequiredFunctionKeys { id x0[8]; id x1[8]; })requiredKeysForFunction:(id)a0 variantKey:(const struct VariantKey { void *x0; void *x1; unsigned long long x2; unsigned long long x3; id x4; void *x5; unsigned long long x6; } *)a1 frameworkData:(id)a2 compilerOptions:(int)a3 driverCompilerOptions:(id)a4 airScript:(const void *)a5 archives:(id)a6 compiledNextStageVariant:(id)a7; - (id)newComputePipelineStateWithDescriptorInternal:(id)a0 options:(unsigned long long)a1 pipelineCache:(id)a2 destinationBinaryArchive:(id)a3 reflection:(id *)a4 error:(id *)a5 completionHandler:(id /* block */)a6; - (void *)getFunctionKeyWithRenderPipelineDescriptor:(id)a0 options:(unsigned long long)a1 unfilteredOptions:(unsigned long long)a2 airScript:(const void *)a3 function:(id)a4 functionType:(unsigned long long)a5 compiledNextStageVariant:(id)a6 keySize:(unsigned long long *)a7 functionDriverData:(void **)a8 functionDriverSize:(unsigned long long *)a9; - (void *)getProgramObject:(id)a0 destinationArchive:(id)a1 sourceBinaryArchives:(id)a2 variantKey:(const struct VariantKey { void *x0; void *x1; unsigned long long x2; unsigned long long x3; id x4; void *x5; unsigned long long x6; } *)a3 requiredKeys:(const struct RequiredFunctionKeys { id x0[8]; id x1[8]; } *)a4 failOnMiss:(BOOL)a5; - (void *)getHashForScript:(const void *)a0 device:(id)a1 function:(id)a2 functionType:(unsigned long long)a3 compilerOptions:(char **)a4 compilerOptionsSize:(unsigned long long)a5 compiledNextStageVariant:(id)a6; - (void *)getProgramObjectForFunction:(id)a0 variantKey:(const struct VariantKey { void *x0; void *x1; unsigned long long x2; unsigned long long x3; id x4; void *x5; unsigned long long x6; } *)a1 requiredKeys:(const struct RequiredFunctionKeys { id x0[8]; id x1[8]; } *)a2 sourceBinaryArchives:(id)a3; - (void)compileFunction:(id)a0 serializedPipelineData:(id)a1 stateData:(id)a2 linkDataSize:(unsigned long long)a3 frameworkLinking:(BOOL)a4 options:(unsigned int)a5 sync:(BOOL)a6 completionHandler:(id /* block */)a7; - (void)compileRequest:(id)a0 pipelineCache:(id)a1 sync:(BOOL)a2 completionHandler:(id /* block */)a3; - (struct { unsigned char x0[32]; })getGPUCompilerHashForScript:(const void *)a0 type:(unsigned long long)a1; - (BOOL)addRenderPipelineStateWithDescriptor:(id)a0 destinationBinaryArchive:(id)a1 options:(unsigned long long)a2 error:(id *)a3; - (void)compileDynamicLibraryWithDescriptor:(id)a0 computePipelineDescriptor:(id)a1 completionHandler:(id /* block */)a2; - (void)createBinaryArchiveWithCompletionHanlder:(id /* block */)a0; - (void)releaseHashMaps:(void *)a0; - (void)compileFunction:(id)a0 serializedPipelineData:(id)a1 stateData:(id)a2 linkDataSize:(unsigned long long)a3 frameworkLinking:(BOOL)a4 options:(unsigned int)a5 pipelineCache:(id)a6 sync:(BOOL)a7 completionHandler:(id /* block */)a8; - (void *)getFunctionKeyWithTileRenderPipelineDescriptor:(id)a0 options:(unsigned long long)a1 unfilteredOptions:(unsigned long long)a2 function:(id)a3 functionType:(unsigned long long)a4 airScript:(const void *)a5 keySize:(unsigned long long *)a6; - (struct VariantEntry { char *x0; unsigned long long x1; unsigned long long x2; unsigned long long x3; id x4; id x5; unsigned long long x6; id x7; id x8; } *)tileVariantEntryWithDescriptor:(id)a0 airDescriptor:(id)a1 options:(unsigned long long)a2 serializedTileDataDescriptor:(id)a3 asyncCompile:(BOOL)a4 destinationBinaryArchive:(id)a5 tileProgram:(struct MTLProgramObject **)a6 kernelDriverCompileTimeData:(id *)a7 compileTimeStatistics:(id)a8; - (void).cxx_destruct; - (BOOL)validateLanguageAndAIRVersionForFunction:(id)a0 completionHandler:(id /* block */)a1; - (void *)getDataForScript:(const void *)a0 device:(id)a1 function:(id)a2 functionType:(unsigned long long)a3 compilerOptions:(char **)a4 compilerOptionsSize:(unsigned long long)a5 compiledNextStageVariant:(id)a6 dataSize:(unsigned long long *)a7; - (BOOL)addTileRenderPipelineStateWithDescriptor:(id)a0 destinationBinaryArchive:(id)a1 options:(unsigned long long)a2 error:(id *)a3; - (void)compileRequest:(id)a0 binaryArchives:(id)a1 sync:(BOOL)a2 completionHandler:(id /* block */)a3; - (void)statelessBackendCompileRequestInternal:(struct MTLCompilerFunctionRequest { void /* function */ **x0; int x1; id x2; unsigned int x3; id x4; id x5; unsigned int x6; unsigned int x7; unsigned int x8; id x9; id x10; unsigned long long x11; id x12; id x13; id x14; id x15; int x16; BOOL x17; unsigned int x18; BOOL x19; char *x20; void *x21; id x22; unsigned long long x23; id x24; id x25; } *)a0 sync:(BOOL)a1 compilerHash:(const struct { unsigned char x0[32]; } *)a2 reflectionOnly:(BOOL)a3 completionHandler:(id /* block */)a4; - (id)newComputePipelineStateWithDescriptor:(id)a0 options:(unsigned long long)a1 reflection:(id *)a2 error:(id *)a3 completionHandler:(id /* block */)a4; - (void)allowLibrariesFromOtherPlatforms; - (BOOL)initializeVendorPluginFunctionId:(id)a0 airScript:(const void *)a1 driverCompilerOptions:(id)a2 compiledNextStageVariant:(id)a3 vendorPlugin:(struct { unsigned char x0[32]; } *)a4; - (void)compileRequest:(id)a0 completionHandler:(id /* block */)a1; - (id)createMeshStageAndLinkPipelineWithFragment:(void *)a0 fragmentVariant:(id)a1 objectFunction:(id)a2 serializedObjectDescriptor:(id)a3 meshFunction:(id)a4 serializedMeshDescriptor:(id)a5 descriptor:(id)a6 airDescriptor:(id)a7 destinationArchive:(id)a8 options:(unsigned long long)a9 reflection:(id *)a10 compileStatistics:(id)a11 fragmentCompileTimeData:(id)a12 pipelineArchiverId:(id)a13 error:(id *)a14 completionHandler:(id /* block */)a15; - (id)newRenderPipelineStateWithTileDescriptorInternal:(id)a0 options:(unsigned long long)a1 reflection:(id *)a2 destinationBinaryArchive:(id)a3 error:(id *)a4 completionHandler:(id /* block */)a5; - (id)renderPipelineStateWithTileVariant:(struct VariantEntry { char *x0; unsigned long long x1; unsigned long long x2; unsigned long long x3; id x4; id x5; unsigned long long x6; id x7; id x8; } *)a0 descriptor:(id)a1 options:(unsigned long long)a2 tileProgram:(void *)a3 kernelDriverCompileTimeData:(id)a4 serializedTileDataDescriptor:(id)a5 compileTimeStatistics:(id)a6 reflection:(id *)a7 error:(id *)a8 completionHandler:(id /* block */)a9; - (void)compileFunction:(id)a0 serializedData:(id)a1 stateData:(id)a2 options:(unsigned long long)a3 completionHandler:(id /* block */)a4; - (void)releaseCompilerOutputBlocks:(void *)a0 hashMap:(void *)a1; - (struct { unsigned char x0[32]; })hashKeyForLibraryRequest:(struct MTLCompileLibraryRequestData { BOOL x0; id x1; unsigned int x2; id x3; id x4; } *)a0; - (void)reflectionWithFunction:(id)a0 options:(unsigned long long)a1 sync:(BOOL)a2 pipelineLibrary:(id)a3 completionHandler:(id /* block */)a4; - (void)compileRequestInternal:(id)a0 binaryArchives:(id)a1 pipelineCache:(id)a2 sync:(BOOL)a3 completionHandler:(id /* block */)a4; - (void)cacheLegacyCompilerData:(void *)a0 cachedData:(void *)a1 hashMap:(void *)a2 libraryData:(struct MTLLibraryData { void /* function */ **x0; struct { unsigned char x0[32]; } x1; _Atomic int x2; id x3; id x4; } *)a3 functionCache:(struct shared_ptr { struct MultiLevelPipelineCache *x0; struct __shared_weak_count *x1; })a4; - (BOOL)addComputePipelineStateWithDescriptor:(id)a0 destinationBinaryArchive:(id)a1 options:(unsigned long long)a2 error:(id *)a3; - (struct MTLFunctionId { struct { unsigned char x0[32]; } x0; struct { unsigned char x0[32]; } x1[4]; unsigned int x2; })getFunctionId:(id)a0 airScript:(const void *)a1 vendorPluginFunctionId:(struct { unsigned char x0[32]; } *)a2; - (void)compileFunction:(id)a0 visibleFunctions:(id)a1 privateVisibleFunctions:(id)a2 visibleFunctionGroups:(id)a3 frameworkData:(id)a4 driverKeyData:(id)a5 options:(unsigned long long)a6 pipelineCache:(id)a7 sync:(BOOL)a8 completionHandler:(id /* block */)a9; - (struct VariantEntry { char *x0; unsigned long long x1; unsigned long long x2; unsigned long long x3; id x4; id x5; unsigned long long x6; id x7; id x8; } *)computeVariantEntryWithDescriptor:(id)a0 airDescriptor:(id)a1 options:(unsigned long long)a2 serializedComputeDataDescriptor:(id)a3 asyncCompile:(BOOL)a4 pipelineCache:(id)a5 destinationBinaryArchive:(id)a6 computeProgram:(struct MTLProgramObject **)a7 kernelDriverCompileTimeData:(id *)a8 compileTimeStatistics:(id)a9; - (void)compileFunction:(id)a0 frameworkData:(id)a1 driverKeyData:(id)a2 options:(unsigned long long)a3 pipelineCache:(id)a4 sync:(BOOL)a5 completionHandler:(id /* block */)a6; @end