@class MTKTextureLoader, SCNMTLLibraryManager, NSMapTable, SCNMTLShaderBindingsGenerator, SCNMTLShadableKey, NSMutableArray, SCNMTLBufferAllocator; @protocol MTLDevice, MTLDepthStencilState, MTLTexture, MTLCommandQueue; @interface SCNMTLResourceManager : NSObject { id<MTLDevice> _device; id<MTLCommandQueue> _commandQueue; struct __C3DEngineStats { unsigned int x0; unsigned int x1; unsigned int x2; unsigned int x3; unsigned int x4; unsigned int x5; unsigned int x6; unsigned int x7; unsigned int x8; unsigned int x9; unsigned int x10; unsigned int x11; unsigned int x12; unsigned int x13; unsigned int x14; unsigned int x15; unsigned int x16; unsigned int x17; unsigned int x18; unsigned int x19; unsigned int x20; unsigned int x21; unsigned int x22; unsigned int x23; double x24; double x25; double x26; double x27; double x28; double x29; double x30; double x31; double x32; double x33; double x34; double x35; double x36; double x37; double x38; unsigned int x39; unsigned int x40; unsigned int x41; unsigned int x42; unsigned int x43; unsigned int x44; unsigned int x45; unsigned int x46; unsigned int x47; unsigned int x48; unsigned int x49; unsigned int x50; unsigned int x51; unsigned int x52; unsigned int x53; unsigned int x54; unsigned int x55; double x56; unsigned int x57; double x58; unsigned int x59; double x60; double x61; double x62; double x63; double x64[60]; unsigned int x65; double x66; double x67; } *__engineStats; SCNMTLLibraryManager *_libraryManager; SCNMTLShaderBindingsGenerator *_bindingsGenerator; struct __CFDictionary { } *_availablePipelineStates; struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _availablePipelineStatesLock; SCNMTLBufferAllocator *_commonProfileBuffersAllocator; struct { NSMapTable *registry; struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } lock; } _availableLightingSystemReflectionProbeTextures; struct { NSMapTable *registry; struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } lock; } _availableIrradianceTextures; struct { NSMapTable *registry; struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } lock; } _availableRadianceTextures; struct { NSMapTable *registry; struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } lock; } _availableImages; struct { NSMapTable *registry; struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } lock; } _availableImageProxy; struct { NSMapTable *registry; struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } lock; } _availableSamplers; struct { NSMapTable *registry; struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } lock; } _availableIESTextures; struct { NSMapTable *registry; struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } lock; } _availableBuffers; struct { NSMapTable *registry; struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } lock; } _availableMeshes; struct { NSMapTable *registry; struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } lock; } _availableMeshSources; struct { NSMapTable *registry; struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } lock; } _availableMeshElements; struct { NSMapTable *registry; struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } lock; } _availableRasterizerStates; struct { NSMapTable *registry; struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } lock; } _availableDeformerStacks; struct { NSMapTable *registry; struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } lock; } _availableSkinDeformerReadOnlyBuffers; struct { NSMapTable *registry; struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } lock; } _availableMorphDeformerReadOnlyBuffers; struct { NSMapTable *registry; struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } lock; } _availableComputePipelines; struct { NSMapTable *registry; struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } lock; } _availableComputePipelinesWithStageDescriptor; struct { NSMapTable *registry; struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } lock; } _availableColorMatchingComputePipelines; struct { NSMapTable *registry; struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } lock; } _availableTessellators; struct { NSMapTable *registry; struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } lock; } _availableWireframeMaterials; struct { NSMapTable *registry; struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } lock; } _availableOpenSubdivComputeEvaluators; struct { NSMapTable *registry; struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } lock; } _availableShadables; SCNMTLShadableKey *_availableShadablesSearchKey; NSMutableArray *_availableStageDescriptors; struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _stageDescriptorsLock; id<MTLTexture> _areaLightPrecomputedDataTexture; id<MTLTexture> _specularDFGDiffuseHammonTexture; struct __C3DFXMetalProgram { struct __C3DFXProgram { struct __C3DEntity { struct __CFRuntimeBase { unsigned long long x0; _Atomic unsigned long long x1; } x0; void *x1; struct __CFString *x2; struct __CFString *x3; struct __CFDictionary *x4; struct __C3DScene *x5; long long x6; } x0; int x1; unsigned char x2 : 1; unsigned char x3 : 1; struct __C3DFXProgramDelegate *x4; } x0; struct __CFString *x1[2]; struct __CFString *x2; struct __CFString *x3; struct __CFDictionary *x4; struct __CFSet *x5; void *x6; struct __CFDictionary *x7; void *x8; unsigned long long x9; unsigned int x10; } *_defaultProgram; struct __C3DFXMetalProgram { struct __C3DFXProgram { struct __C3DEntity { struct __CFRuntimeBase { unsigned long long x0; _Atomic unsigned long long x1; } x0; void *x1; struct __CFString *x2; struct __CFString *x3; struct __CFDictionary *x4; struct __C3DScene *x5; long long x6; } x0; int x1; unsigned char x2 : 1; unsigned char x3 : 1; struct __C3DFXProgramDelegate *x4; } x0; struct __CFString *x1[2]; struct __CFString *x2; struct __CFString *x3; struct __CFDictionary *x4; struct __CFSet *x5; void *x6; struct __CFDictionary *x7; void *x8; unsigned long long x9; unsigned int x10; } *_defaultProgramForTessellation; struct __C3DFXMetalProgram { struct __C3DFXProgram { struct __C3DEntity { struct __CFRuntimeBase { unsigned long long x0; _Atomic unsigned long long x1; } x0; void *x1; struct __CFString *x2; struct __CFString *x3; struct __CFDictionary *x4; struct __C3DScene *x5; long long x6; } x0; int x1; unsigned char x2 : 1; unsigned char x3 : 1; struct __C3DFXProgramDelegate *x4; } x0; struct __CFString *x1[2]; struct __CFString *x2; struct __CFString *x3; struct __CFDictionary *x4; struct __CFSet *x5; void *x6; struct __CFDictionary *x7; void *x8; unsigned long long x9; unsigned int x10; } *_isolateProgram; id<MTLDepthStencilState> _depthAndStencilStateWithReadWriteDepthDisabled; id<MTLTexture> _defaultTexture; id<MTLTexture> _defaultTexture3D; id<MTLTexture> _defaultCubeTexture; id<MTLTexture> _defaultLightingEnvironmentIrradianceTexture; id<MTLTexture> _defaultLightingEnvironmentRadianceTexture; MTKTextureLoader *_mtkTextureLoader; } + (void)_fillVertexDescriptor:(id)a0 withMeshSource:(struct __C3DMeshSource { struct __C3DGenericSource { struct __C3DEntity { struct __CFRuntimeBase { unsigned long long x0; _Atomic unsigned long long x1; } x0; void *x1; struct __CFString *x2; struct __CFString *x3; struct __CFDictionary *x4; struct __C3DScene *x5; long long x6; } x0; struct __C3DSourceAccessor *x1; union { struct __CFData *x0; void *x1; void *x2; } x2; long long x3; unsigned char x4 : 1; unsigned char x5 : 1; unsigned char x6 : 1; } x0; unsigned short x1; unsigned char x2; unsigned char x3; } *)a1 semantic:(char)a2 inputSet:(long long)a3 bufferIndex:(long long)a4; + (void)_fillVertexDescriptor:(id)a0 withSemantic:(char)a1 inputSet:(long long)a2 bufferIndex:(long long)a3 vertexFormat:(unsigned long long)a4 offset:(unsigned long long)a5 stride:(unsigned long long)a6; + (void)unregisterManagerForDevice:(id)a0; - (void)dealloc; - (id)newTextureWithDescriptor:(id)a0; - (id)initWithDevice:(id)a0; - (id)areaLightPrecomputedDataTexture; - (id)latlongTextureForCubemap:(id)a0 pixelFormat:(unsigned long long)a1 renderContext:(id)a2 needsMipmap:(BOOL)a3; - (id)newRenderPipelineStateWithDesc:(struct { struct { struct __C3DFXMetalProgram *x0; struct __C3DMaterial *x1; struct __C3DGeometry *x2; struct __C3DFXPass *x3; struct __C3DFXPass *x4; id x5; struct __C3DBlendStates *x6; struct __C3DNode *x7; unsigned char x8; unsigned char x9; unsigned char x10; unsigned char x11; unsigned char x12; unsigned char x13; id x14; struct { unsigned char x0; id /* block */ x1; } x15; unsigned long long x16; } x0; id x1; struct { unsigned long long x0[8]; unsigned long long x1; unsigned long long x2; unsigned char x3; } x2; struct __C3DBlendStates *x3; unsigned long long x4[8]; unsigned char x5; id x6; id x7; id x8; id x9; id /* block */ x10; unsigned char x11; BOOL x12; BOOL x13; BOOL x14; })a0; - (void)_bakeStochasticIrradianceTexture:(id)a0 forEnvironmentTexture:(id)a1 mipmapLevelForSampling:(unsigned long long)a2 renderContext:(id)a3; - (BOOL)_copyImage:(struct __C3DImage { } *)a0 toTexture:(id)a1 desc:(id)a2 textureOptions:(int)a3 needsMipMapGeneration:(BOOL)a4; - (id)newComputePipelineStateWithFunctionName:(id)a0 library:(id)a1 constantValues:(id)a2; - (void)__updateMutableMesh:(struct __C3DMesh { } *)a0 withMetalMesh:(id)a1; - (void)_bakeSphericalHamonicsBasedIrradianceTexture:(id)a0 forEnvironmentTexture:(id)a1 renderContext:(id)a2 applySH:(id /* block */)a3; - (id)_bufferForData:(struct __CFData { } *)a0 bytesPerIndex:(unsigned long long)a1; - (id)_bufferForMTLBuffer:(void *)a0; - (id)_computePipelineStateForKernel:(id)a0 constants:(id)a1 constantsHash:(id)a2 threadGroupSizeIsMultipleOfThreadExecutionWidth:(BOOL)a3; - (void)_configureComputePipeline:(id)a0 withDescriptor:(id)a1; - (void)_createPipelineStateWithDescriptor:(id)a0 desc:(struct { struct { struct __C3DFXMetalProgram *x0; struct __C3DMaterial *x1; struct __C3DGeometry *x2; struct __C3DFXPass *x3; struct __C3DFXPass *x4; id x5; struct __C3DBlendStates *x6; struct __C3DNode *x7; unsigned char x8; unsigned char x9; unsigned char x10; unsigned char x11; unsigned char x12; unsigned char x13; id x14; struct { unsigned char x0; id /* block */ x1; } x15; unsigned long long x16; } x0; id x1; struct { unsigned long long x0[8]; unsigned long long x1; unsigned long long x2; unsigned char x3; } x2; struct __C3DBlendStates *x3; unsigned long long x4[8]; unsigned char x5; id x6; id x7; id x8; id x9; id /* block */ x10; unsigned char x11; BOOL x12; BOOL x13; BOOL x14; })a1 pipeline:(id)a2; - (void)_deformerStackDidChange:(id)a0; - (void)_deformerStackWillDie:(id)a0; - (void)_enqueueCopyFromTexture:(id)a0 toTexture:(id)a1 blitEncoder:(struct SCNMTLBlitCommandEncoder { id x0; id x1; } *)a2 generateMipMaps:(BOOL)a3; - (void)_geometryWillDie:(id)a0; - (void)_imageProxyWillDie:(id)a0; - (void)_imageWillDie:(id)a0; - (void)_materialWillDie:(id)a0; - (void)_meshElementWillDie:(id)a0; - (void)_meshSourceWillDie:(id)a0; - (void)_meshWillDie:(id)a0; - (void)_morphWillDie:(id)a0; - (id)_newComputeDescriptorForPipelineDesc:(struct { id x0; id x1; id x2; id /* block */ x3; BOOL x4; BOOL x5; BOOL x6; })a0 library:(id)a1; - (void)_passWillDie:(id)a0; - (void)_precomputedLightingEnvironmentWillDie:(id)a0; - (void)_programHashCodeWillDie:(id)a0; - (void)_programWillDie:(id)a0; - (void)_rasterizerStateDidDie:(const void *)a0; - (void)_removeMatchingProgram:(struct __C3DFXMetalProgram { struct __C3DFXProgram { struct __C3DEntity { struct __CFRuntimeBase { unsigned long long x0; _Atomic unsigned long long x1; } x0; void *x1; struct __CFString *x2; struct __CFString *x3; struct __CFDictionary *x4; struct __C3DScene *x5; long long x6; } x0; int x1; unsigned char x2 : 1; unsigned char x3 : 1; struct __C3DFXProgramDelegate *x4; } x0; struct __CFString *x1[2]; struct __CFString *x2; struct __CFString *x3; struct __CFDictionary *x4; struct __CFSet *x5; void *x6; struct __CFDictionary *x7; void *x8; unsigned long long x9; unsigned int x10; } *)a0 pass:(struct __C3DFXPass { struct __CFRuntimeBase { unsigned long long x0; _Atomic unsigned long long x1; } x0; struct __CFString *x1; int x2; int x3; BOOL x4; struct __C3DFXTechnique *x5; struct __CFString *x6; struct __CFString *x7; struct __CFString *x8; struct __CFString *x9; BOOL x10; struct __C3DFXProgram *x11; struct __C3DMaterial *x12; struct __C3DBlendStates *x13; struct __C3DRasterizerStates *x14; struct C3DColor4 { union { float x0[4]; struct { float x0; float x1; float x2; float x3; } x1; } x0; } x15; unsigned char x16; unsigned int x17; unsigned char x18 : 1; unsigned char x19 : 1; unsigned char x20 : 1; unsigned char x21 : 1; unsigned char x22 : 1; unsigned char x23 : 1; unsigned char x24 : 1; unsigned char x25 : 1; unsigned char x26 : 1; unsigned char x27 : 1; unsigned char x28 : 1; unsigned char x29 : 1; unsigned char x30 : 1; unsigned char x31 : 1; unsigned char x32 : 1; unsigned char x33 : 1; unsigned char x34 : 1; unsigned char x35 : 1; unsigned char x36 : 1; unsigned char x37 : 1; unsigned char x38 : 1; unsigned char x39 : 1; unsigned char x40 : 1; unsigned char x41 : 1; unsigned char x42 : 1; unsigned char x43 : 1; unsigned char x44 : 1; unsigned char x45 : 1; struct __C3DRendererElement *x46; unsigned long long x47; unsigned long long x48; struct { void /* function */ *x0; void /* function */ *x1; void /* function */ *x2; void /* function */ *x3; void /* function */ *x4; void /* function */ *x5; void /* function */ *x6; void /* function */ *x7; void *x8; } x49; struct { struct { unsigned char x0; unsigned char x1; unsigned char x2; unsigned char x3 : 1; unsigned char x4 : 1; unsigned char x5 : 1; unsigned char x6 : 1; unsigned char x7 : 1; unsigned char x8 : 1; unsigned char x9[4]; } x0[8]; struct { unsigned char x0; unsigned char x1; unsigned char x2; unsigned char x3 : 1; unsigned char x4 : 1; unsigned char x5 : 1; unsigned char x6 : 1; unsigned char x7 : 1; unsigned char x8 : 1; unsigned char x9[4]; } x1; unsigned char x2 : 3; unsigned char x3 : 1; unsigned char x4 : 1; } x50; struct CGPoint { double x0; double x1; } x51; float x52[9]; struct *x53; unsigned int x54; struct __C3DNode *x55; struct __C3DNode *x56; struct __CFArray *x57; struct __C3DNode *x58; unsigned char x59; struct __CFString *x60; struct __CFString *x61; struct __CFString *x62; struct __C3DFXPassInput **x63; long long x64; long long x65; struct __CFDictionary *x66; id /* block */ x67; id /* block */ x68; struct __CFDictionary *x69; void *x70; } *)a1; - (void)_skinWillDie:(id)a0; - (id)_textureDescriptorFromImage:(struct __C3DImage { } *)a0 needsMipMap:(BOOL)a1 textureOptions:(int)a2; - (void)colorMatchBiPlanarPixelBufferWithFormatType:(unsigned int)a0 pixelBufferYCbCrMatrix:(id)a1 pixelBufferColorPrimaries:(id)a2 pixelBufferTransferFunction:(id)a3 sourceTextureY:(id)a4 sourceTextureCbCr:(id)a5 sourceColorSpace:(struct CGColorSpace { } *)a6 destinationColorSpace:(struct CGColorSpace { } *)a7 destinationTexture:(id)a8 renderContext:(id)a9; - (void)colorMatchSourceTexture:(id)a0 sourceColorSpace:(struct CGColorSpace { } *)a1 destinationColorSpace:(struct CGColorSpace { } *)a2 destinationTexture:(id)a3 renderContext:(id)a4; - (id)colorMatchingComputePipelineStateForBiPlanarPixelBufferWithFormatType:(unsigned int)a0 pixelBufferYCbCrMatrix:(id)a1 pixelBufferColorPrimaries:(id)a2 pixelBufferTransferFunction:(id)a3 sourceColorSpace:(struct CGColorSpace { } *)a4 destinationColorSpace:(struct CGColorSpace { } *)a5 renderContext:(id)a6; - (id)colorMatchingComputePipelineStateForSourceColorSpace:(struct CGColorSpace { } *)a0 destinationColorSpace:(struct CGColorSpace { } *)a1 renderContext:(id)a2; - (void)commandBufferDidCompleteWithError:(id)a0; - (id)computeEvaluatorWithContext:(struct MTLContext { id x0; id x1; id x2; id x3; } *)a0 srcDesc:(const struct BufferDescriptor { int x0; int x1; int x2; } *)a1 dstDesc:(const struct BufferDescriptor { int x0; int x1; int x2; } *)a2 duDesc:(const struct BufferDescriptor { int x0; int x1; int x2; } *)a3 dvDesc:(const struct BufferDescriptor { int x0; int x1; int x2; } *)a4; - (id)computePipelineStateForKernel:(id)a0; - (id)computePipelineStateForKernel:(id)a0 constants:(id)a1 constantsHash:(id)a2; - (id)computePipelineStateForKernel:(id)a0 threadGroupSizeIsMultipleOfThreadExecutionWidth:(BOOL)a1; - (id)computePipelineStateForKernel:(id)a0 withStageDescriptor:(id)a1 stageDescriptorUpdateBlock:(id /* block */)a2 constants:(id)a3 constantsHash:(id)a4; - (id)copyTextureByConvertingToCubeMapIfApplicable:(id)a0 engineContext:(struct __C3DEngineContext { } *)a1 needsMipmap:(BOOL)a2; - (id)defaultCubeTexture; - (id)defaultLightingEnvironmentIrradianceTexture; - (id)defaultLightingEnvironmentRadianceTexture; - (struct __C3DFXMetalProgram { } *)defaultProgramUsingTessellation:(BOOL)a0; - (id)defaultTexture; - (id)defaultTexture3D; - (id)getUniqueStageDescriptor:(id)a0; - (BOOL)hasCommonProfilePrecompiledFunctions; - (id)iesTextureForProfile:(id)a0 renderContext:(id)a1; - (id)irradianceTextureForEnvironmentTexture:(id)a0 renderContext:(id)a1 applySH:(id /* block */)a2; - (id)irradianceTextureForPrecomputedLightingEnvironment:(id)a0; - (id)newComputePipelineStateForDesc:(struct { id x0; id x1; id x2; id /* block */ x3; BOOL x4; BOOL x5; BOOL x6; })a0 library:(id)a1; - (id)newComputePipelineStateWithFunctionName:(id)a0; - (id)newComputePipelineStateWithFunctionName:(id)a0 constantValues:(id)a1; - (id)newComputePipelineStateWithFunctionName:(id)a0 library:(id)a1; - (id)newCubemapTextureForLatlongTexture:(id)a0 pixelFormat:(unsigned long long)a1 engineContext:(struct __C3DEngineContext { } *)a2 needsMipmap:(BOOL)a3; - (id)newRadianceTextureForEnvironmentTexture:(id)a0 engineContext:(struct __C3DEngineContext { } *)a1 cpuAccessible:(BOOL)a2 commandBuffer:(id)a3; - (id)newTextureUsingMTKTextureLoaderWithData:(id)a0 options:(id)a1; - (id)newTextureUsingMTKTextureLoaderWithURL:(id)a0 options:(id)a1; - (id)radianceTextureForEnvironmentTexture:(id)a0 engineContext:(struct __C3DEngineContext { } *)a1 commandBuffer:(id)a2; - (id)radianceTextureForPrecomputedLightingEnvironment:(id)a0; - (void)reloadPipelinesIfNeeded; - (id)renderResourceForDeformerStack:(struct __C3DDeformerStack { } *)a0 node:(struct __C3DNode { } *)a1 dataKind:(unsigned char)a2; - (id)renderResourceForEffectSlot:(struct __C3DEffectSlot { struct __CFRuntimeBase { unsigned long long x0; _Atomic unsigned long long x1; } x0; struct C3DColor4 { union { float x0[4]; struct { float x0; float x1; float x2; float x3; } x1; } x0; } x1; void *x2; union { struct __C3DImage *x0; void *x1; struct __C3DImageProxy *x2; struct __C3DTexture *x3; void *x4; } x3; unsigned char x4 : 8; unsigned char x5 : 1; unsigned char x6 : 1; unsigned char x7 : 1; unsigned char x8 : 4; char x9; struct __C3DTextureSampler *x10; union C3DMatrix4x4)fi^v { } *x11; float x12; int x13; void *x14; } *)a0 withEngineContext:(struct __C3DEngineContext { } *)a1 didFallbackToDefaultTexture:(BOOL *)a2; - (id)renderResourceForImage:(struct __C3DImage { } *)a0 sampler:(struct __C3DTextureSampler { struct __CFRuntimeBase { unsigned long long x0; _Atomic unsigned long long x1; } x0; int x1; int x2; int x3; int x4; int x5; int x6; struct C3DColor4 { union { float x0[4]; struct { float x0; float x1; float x2; float x3; } x1; } x0; } x7; float x8; unsigned char x9; int x10; unsigned long long x11; } *)a1 options:(int)a2 engineContext:(struct __C3DEngineContext { } *)a3 didFallbackToDefaultTexture:(BOOL *)a4; - (id)renderResourceForImageProxy:(struct __C3DImageProxy { struct __CFRuntimeBase { unsigned long long x0; _Atomic unsigned long long x1; } x0; struct { void /* function */ *x0; void /* function */ *x1; void /* function */ *x2; void /* function */ *x3; } x1; void *x2; unsigned char x3; } *)a0 sampler:(struct __C3DTextureSampler { struct __CFRuntimeBase { unsigned long long x0; _Atomic unsigned long long x1; } x0; int x1; int x2; int x3; int x4; int x5; int x6; struct C3DColor4 { union { float x0[4]; struct { float x0; float x1; float x2; float x3; } x1; } x0; } x7; float x8; unsigned char x9; int x10; unsigned long long x11; } *)a1 engineContext:(struct __C3DEngineContext { } *)a2 didFallbackToDefaultTexture:(BOOL *)a3; - (id)renderResourceForMorpher:(struct __C3DMorpher { struct __C3DEntity { struct __CFRuntimeBase { unsigned long long x0; _Atomic unsigned long long x1; } x0; void *x1; struct __CFString *x2; struct __CFString *x3; struct __CFDictionary *x4; struct __C3DScene *x5; long long x6; } x0; struct __C3DGeometry *x1; struct __C3DMorph *x2; struct __C3DMesh *x3; unsigned int x4; unsigned int x5; float *x6; unsigned int x7; unsigned int x8; } *)a0 baseMesh:(struct __C3DMesh { } *)a1 dataKind:(unsigned char)a2 provider:(id /* block */)a3; - (id)renderResourceForProgramDesc:(struct { struct __C3DFXMetalProgram *x0; struct __C3DMaterial *x1; struct __C3DGeometry *x2; struct __C3DFXPass *x3; struct __C3DFXPass *x4; id x5; struct __C3DBlendStates *x6; struct __C3DNode *x7; unsigned char x8; unsigned char x9; unsigned char x10; unsigned char x11; unsigned char x12; unsigned char x13; id x14; struct { unsigned char x0; id /* block */ x1; } x15; unsigned long long x16; })a0 renderPassDescriptor:(id)a1; - (id)renderResourceForSkinner:(struct __C3DSkinner { } *)a0 baseMesh:(struct __C3DMesh { } *)a1 dataKind:(unsigned char)a2 provider:(id /* block */)a3; - (id)shFromCPU:(id)a0 commandBuffer:(id)a1; - (id)specularDFGDiffuseHammonTextureWithRenderContext:(id)a0; - (id)sphericalHarmonicsForEnvironmentTexture:(id)a0 order:(unsigned long long)a1 commandBuffer:(id)a2; - (id)unstageTexture:(id)a0 commandBuffer:(id)a1; @end