@class DYMTLTileMemoryExtractor, NSString, NSArray, DYMTLTextureRenderer, DYMTLPixelHistoryDrawStatsSupport, NSMutableDictionary, NSDictionary, NSMutableArray, DYMTLShaderDebuggerTraceGenerator, MTLRenderPassDescriptor, DYMTLPostVertexDump, DYMTLDebugWireframeRenderer; @protocol MTLBuffer, MTLFence, MTLRenderPipelineState, MTLFunction; @interface DYMTLCommonDebugFunctionPlayer : DYMTLCommonFunctionPlayer { struct unordered_map<unsigned long long, unsigned long long, std::hash<unsigned long long>, std::equal_to<unsigned long long>, std::allocator<std::pair<const unsigned long long, unsigned long long>>> { struct __hash_table<std::__hash_value_type<unsigned long long, unsigned long long>, std::__unordered_map_hasher<unsigned long long, std::__hash_value_type<unsigned long long, unsigned long long>, 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, unsigned long long>, std::equal_to<unsigned long long>, std::hash<unsigned long long>>, std::allocator<std::__hash_value_type<unsigned long long, unsigned long long>>> { struct unique_ptr<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, unsigned long long>, void *> *> *[], std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, unsigned long long>, void *> *> *>>> { struct __compressed_pair<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, unsigned long long>, void *> *> **, std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, unsigned long long>, void *> *> *>>> { void **__value_; struct __bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, unsigned long long>, void *> *> *>> { struct __compressed_pair<unsigned long, std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, unsigned long long>, 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, unsigned long long>, void *> *>, std::allocator<std::__hash_node<std::__hash_value_type<unsigned long long, unsigned long long>, void *>>> { struct __hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, unsigned long long>, void *> *> { void *__next_; } __value_; } __p1_; struct __compressed_pair<unsigned long, std::__unordered_map_hasher<unsigned long long, std::__hash_value_type<unsigned long long, unsigned long long>, 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, unsigned long long>, std::equal_to<unsigned long long>, std::hash<unsigned long long>>> { float __value_; } __p3_; } __table_; } _drawableIdToLayerIdMap; struct unordered_map<unsigned long long, unsigned long long, std::hash<unsigned long long>, std::equal_to<unsigned long long>, std::allocator<std::pair<const unsigned long long, unsigned long long>>> { struct __hash_table<std::__hash_value_type<unsigned long long, unsigned long long>, std::__unordered_map_hasher<unsigned long long, std::__hash_value_type<unsigned long long, unsigned long long>, 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, unsigned long long>, std::equal_to<unsigned long long>, std::hash<unsigned long long>>, std::allocator<std::__hash_value_type<unsigned long long, unsigned long long>>> { struct unique_ptr<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, unsigned long long>, void *> *> *[], std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, unsigned long long>, void *> *> *>>> { struct __compressed_pair<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, unsigned long long>, void *> *> **, std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, unsigned long long>, void *> *> *>>> { void **__value_; struct __bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, unsigned long long>, void *> *> *>> { struct __compressed_pair<unsigned long, std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, unsigned long long>, 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, unsigned long long>, void *> *>, std::allocator<std::__hash_node<std::__hash_value_type<unsigned long long, unsigned long long>, void *>>> { struct __hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, unsigned long long>, void *> *> { void *__next_; } __value_; } __p1_; struct __compressed_pair<unsigned long, std::__unordered_map_hasher<unsigned long long, std::__hash_value_type<unsigned long long, unsigned long long>, 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, unsigned long long>, std::equal_to<unsigned long long>, std::hash<unsigned long long>>> { float __value_; } __p3_; } __table_; } _textureToDrawableMap; struct unordered_map<unsigned long long, GPUTools::MTL::Utils::DYMTLRenderPassDescriptor, std::hash<unsigned long long>, std::equal_to<unsigned long long>, std::allocator<std::pair<const unsigned long long, GPUTools::MTL::Utils::DYMTLRenderPassDescriptor>>> { struct __hash_table<std::__hash_value_type<unsigned long long, GPUTools::MTL::Utils::DYMTLRenderPassDescriptor>, std::__unordered_map_hasher<unsigned long long, std::__hash_value_type<unsigned long long, GPUTools::MTL::Utils::DYMTLRenderPassDescriptor>, 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, GPUTools::MTL::Utils::DYMTLRenderPassDescriptor>, std::equal_to<unsigned long long>, std::hash<unsigned long long>>, std::allocator<std::__hash_value_type<unsigned long long, GPUTools::MTL::Utils::DYMTLRenderPassDescriptor>>> { struct unique_ptr<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, GPUTools::MTL::Utils::DYMTLRenderPassDescriptor>, void *> *> *[], std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, GPUTools::MTL::Utils::DYMTLRenderPassDescriptor>, void *> *> *>>> { struct __compressed_pair<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, GPUTools::MTL::Utils::DYMTLRenderPassDescriptor>, void *> *> **, std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, GPUTools::MTL::Utils::DYMTLRenderPassDescriptor>, void *> *> *>>> { void **__value_; struct __bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, GPUTools::MTL::Utils::DYMTLRenderPassDescriptor>, void *> *> *>> { struct __compressed_pair<unsigned long, std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, GPUTools::MTL::Utils::DYMTLRenderPassDescriptor>, 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, GPUTools::MTL::Utils::DYMTLRenderPassDescriptor>, void *> *>, std::allocator<std::__hash_node<std::__hash_value_type<unsigned long long, GPUTools::MTL::Utils::DYMTLRenderPassDescriptor>, void *>>> { struct __hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, GPUTools::MTL::Utils::DYMTLRenderPassDescriptor>, void *> *> { void *__next_; } __value_; } __p1_; struct __compressed_pair<unsigned long, std::__unordered_map_hasher<unsigned long long, std::__hash_value_type<unsigned long long, GPUTools::MTL::Utils::DYMTLRenderPassDescriptor>, 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, GPUTools::MTL::Utils::DYMTLRenderPassDescriptor>, std::equal_to<unsigned long long>, std::hash<unsigned long long>>> { float __value_; } __p3_; } __table_; } _commandEncoderDescriptorMap; NSDictionary *_counterInfos; struct vector<unsigned long, std::allocator<unsigned long>> { unsigned long long *__begin_; unsigned long long *__end_; struct __compressed_pair<unsigned long *, std::allocator<unsigned long>> { unsigned long long *__value_; } __end_cap_; } _baseCounterIndexForList; struct unordered_map<unsigned long long, CommandBufferInfo, std::hash<unsigned long long>, std::equal_to<unsigned long long>, std::allocator<std::pair<const unsigned long long, CommandBufferInfo>>> { struct __hash_table<std::__hash_value_type<unsigned long long, CommandBufferInfo>, std::__unordered_map_hasher<unsigned long long, std::__hash_value_type<unsigned long long, CommandBufferInfo>, 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, CommandBufferInfo>, std::equal_to<unsigned long long>, std::hash<unsigned long long>>, std::allocator<std::__hash_value_type<unsigned long long, CommandBufferInfo>>> { struct unique_ptr<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, CommandBufferInfo>, void *> *> *[], std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, CommandBufferInfo>, void *> *> *>>> { struct __compressed_pair<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, CommandBufferInfo>, void *> *> **, std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, CommandBufferInfo>, void *> *> *>>> { void **__value_; struct __bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, CommandBufferInfo>, void *> *> *>> { struct __compressed_pair<unsigned long, std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, CommandBufferInfo>, 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, CommandBufferInfo>, void *> *>, std::allocator<std::__hash_node<std::__hash_value_type<unsigned long long, CommandBufferInfo>, void *>>> { struct __hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, CommandBufferInfo>, void *> *> { void *__next_; } __value_; } __p1_; struct __compressed_pair<unsigned long, std::__unordered_map_hasher<unsigned long long, std::__hash_value_type<unsigned long long, CommandBufferInfo>, 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, CommandBufferInfo>, std::equal_to<unsigned long long>, std::hash<unsigned long long>>> { float __value_; } __p3_; } __table_; } _commandBufferMap; struct unordered_map<unsigned long long, EncoderInfo, std::hash<unsigned long long>, std::equal_to<unsigned long long>, std::allocator<std::pair<const unsigned long long, EncoderInfo>>> { struct __hash_table<std::__hash_value_type<unsigned long long, EncoderInfo>, std::__unordered_map_hasher<unsigned long long, std::__hash_value_type<unsigned long long, EncoderInfo>, 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, EncoderInfo>, std::equal_to<unsigned long long>, std::hash<unsigned long long>>, std::allocator<std::__hash_value_type<unsigned long long, EncoderInfo>>> { struct unique_ptr<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, EncoderInfo>, void *> *> *[], std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, EncoderInfo>, void *> *> *>>> { struct __compressed_pair<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, EncoderInfo>, void *> *> **, std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, EncoderInfo>, void *> *> *>>> { void **__value_; struct __bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, EncoderInfo>, void *> *> *>> { struct __compressed_pair<unsigned long, std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, EncoderInfo>, 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, EncoderInfo>, void *> *>, std::allocator<std::__hash_node<std::__hash_value_type<unsigned long long, EncoderInfo>, void *>>> { struct __hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, EncoderInfo>, void *> *> { void *__next_; } __value_; } __p1_; struct __compressed_pair<unsigned long, std::__unordered_map_hasher<unsigned long long, std::__hash_value_type<unsigned long long, EncoderInfo>, 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, EncoderInfo>, std::equal_to<unsigned long long>, std::hash<unsigned long long>>> { float __value_; } __p3_; } __table_; } _encoderMap; struct unordered_map<unsigned long long, EncoderInfo, std::hash<unsigned long long>, std::equal_to<unsigned long long>, std::allocator<std::pair<const unsigned long long, EncoderInfo>>> { struct __hash_table<std::__hash_value_type<unsigned long long, EncoderInfo>, std::__unordered_map_hasher<unsigned long long, std::__hash_value_type<unsigned long long, EncoderInfo>, 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, EncoderInfo>, std::equal_to<unsigned long long>, std::hash<unsigned long long>>, std::allocator<std::__hash_value_type<unsigned long long, EncoderInfo>>> { struct unique_ptr<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, EncoderInfo>, void *> *> *[], std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, EncoderInfo>, void *> *> *>>> { struct __compressed_pair<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, EncoderInfo>, void *> *> **, std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, EncoderInfo>, void *> *> *>>> { void **__value_; struct __bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, EncoderInfo>, void *> *> *>> { struct __compressed_pair<unsigned long, std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, EncoderInfo>, 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, EncoderInfo>, void *> *>, std::allocator<std::__hash_node<std::__hash_value_type<unsigned long long, EncoderInfo>, void *>>> { struct __hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, EncoderInfo>, void *> *> { void *__next_; } __value_; } __p1_; struct __compressed_pair<unsigned long, std::__unordered_map_hasher<unsigned long long, std::__hash_value_type<unsigned long long, EncoderInfo>, 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, EncoderInfo>, std::equal_to<unsigned long long>, std::hash<unsigned long long>>> { float __value_; } __p3_; } __table_; } _parallelEncoderMap; struct unordered_map<unsigned long long, unsigned long long, std::hash<unsigned long long>, std::equal_to<unsigned long long>, std::allocator<std::pair<const unsigned long long, unsigned long long>>> { struct __hash_table<std::__hash_value_type<unsigned long long, unsigned long long>, std::__unordered_map_hasher<unsigned long long, std::__hash_value_type<unsigned long long, unsigned long long>, 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, unsigned long long>, std::equal_to<unsigned long long>, std::hash<unsigned long long>>, std::allocator<std::__hash_value_type<unsigned long long, unsigned long long>>> { struct unique_ptr<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, unsigned long long>, void *> *> *[], std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, unsigned long long>, void *> *> *>>> { struct __compressed_pair<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, unsigned long long>, void *> *> **, std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, unsigned long long>, void *> *> *>>> { void **__value_; struct __bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, unsigned long long>, void *> *> *>> { struct __compressed_pair<unsigned long, std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, unsigned long long>, 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, unsigned long long>, void *> *>, std::allocator<std::__hash_node<std::__hash_value_type<unsigned long long, unsigned long long>, void *>>> { struct __hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, unsigned long long>, void *> *> { void *__next_; } __value_; } __p1_; struct __compressed_pair<unsigned long, std::__unordered_map_hasher<unsigned long long, std::__hash_value_type<unsigned long long, unsigned long long>, 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, unsigned long long>, std::equal_to<unsigned long long>, std::hash<unsigned long long>>> { float __value_; } __p3_; } __table_; } _encoderToParallelEncoderMap; unsigned long long _lastEncoderID; BOOL _disableWireframe; struct unordered_set<unsigned long long, std::hash<unsigned long long>, std::equal_to<unsigned long long>, std::allocator<unsigned long long>> { struct __hash_table<unsigned long long, std::hash<unsigned long long>, std::equal_to<unsigned long long>, std::allocator<unsigned long long>> { struct unique_ptr<std::__hash_node_base<std::__hash_node<unsigned long long, void *> *> *[], std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<unsigned long long, void *> *> *>>> { struct __compressed_pair<std::__hash_node_base<std::__hash_node<unsigned long long, void *> *> **, std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<unsigned long long, void *> *> *>>> { void **__value_; struct __bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<unsigned long long, void *> *> *>> { struct __compressed_pair<unsigned long, std::allocator<std::__hash_node_base<std::__hash_node<unsigned long long, void *> *> *>> { unsigned long long __value_; } __data_; } __value_; } __ptr_; } __bucket_list_; struct __compressed_pair<std::__hash_node_base<std::__hash_node<unsigned long long, void *> *>, std::allocator<std::__hash_node<unsigned long long, void *>>> { struct __hash_node_base<std::__hash_node<unsigned long long, void *> *> { void *__next_; } __value_; } __p1_; struct __compressed_pair<unsigned long, std::hash<unsigned long long>> { unsigned long long __value_; } __p2_; struct __compressed_pair<float, std::equal_to<unsigned long long>> { float __value_; } __p3_; } __table_; } _commandQueueSet; DYMTLDebugWireframeRenderer *_wireframeRenderer; unsigned int _nRemainingCommandsForCurrentEncoder; MTLRenderPassDescriptor *_parallelRenderCommandEncoderDescriptor; struct DYMTLRenderPassDescriptor { unsigned long long visibilityResultBuffer; unsigned long long renderTargetArrayLength; struct DYMTLRenderPassAttachmentDescriptor { unsigned long long texture; unsigned long long level; unsigned long long slice; unsigned long long depthPlane; unsigned long long resolveTexture; unsigned long long resolveLevel; unsigned long long resolveSlice; unsigned long long resolveDepthPlane; unsigned long long loadAction; unsigned long long storeAction; unsigned long long storeActionOptions; struct DYMTLClearValue { union { struct { double red; double green; double blue; double alpha; } ; double colors[4]; } ; } clearValue; BOOL yInvert; unsigned long long depthResolveFilter; unsigned long long stencilResolveFilter; } colorAttachments[8]; struct DYMTLRenderPassAttachmentDescriptor { unsigned long long texture; unsigned long long level; unsigned long long slice; unsigned long long depthPlane; unsigned long long resolveTexture; unsigned long long resolveLevel; unsigned long long resolveSlice; unsigned long long resolveDepthPlane; unsigned long long loadAction; unsigned long long storeAction; unsigned long long storeActionOptions; struct DYMTLClearValue { union { struct { double red; double green; double blue; double alpha; } ; double colors[4]; } ; } clearValue; BOOL yInvert; unsigned long long depthResolveFilter; unsigned long long stencilResolveFilter; } depthAttachment; struct DYMTLRenderPassAttachmentDescriptor { unsigned long long texture; unsigned long long level; unsigned long long slice; unsigned long long depthPlane; unsigned long long resolveTexture; unsigned long long resolveLevel; unsigned long long resolveSlice; unsigned long long resolveDepthPlane; unsigned long long loadAction; unsigned long long storeAction; unsigned long long storeActionOptions; struct DYMTLClearValue { union { struct { double red; double green; double blue; double alpha; } ; double colors[4]; } ; } clearValue; BOOL yInvert; unsigned long long depthResolveFilter; unsigned long long stencilResolveFilter; } stencilAttachment; unsigned long long imageblockSampleLength; unsigned long long threadgroupMemoryLength; unsigned long long tileWidth; unsigned long long tileHeight; unsigned long long renderTargetWidth; unsigned long long renderTargetHeight; unsigned long long defaultRasterSampleCount; unsigned long long rasterizationRateMap; struct DYMTLSamplePosition { float x; float y; } customSamplePositions[8]; unsigned long long customSampleCount; BOOL openGLModeEnabled; BOOL ditherEnabled; BOOL skipEmptyTilesOnClearEnabled; } _dyParallelRenderCommandEncoderDescriptor; unsigned long long _parallelCommandBufferId; NSDictionary *_profileInfo; NSArray *_batchInfos; unsigned long long _currentBatchEncoderIndex; unsigned int _currentEncoderBatchIndex; struct unordered_map<unsigned long, std::vector<std::pair<unsigned int, unsigned int>>, std::hash<unsigned long>, std::equal_to<unsigned long>, std::allocator<std::pair<const unsigned long, std::vector<std::pair<unsigned int, unsigned int>>>>> { struct __hash_table<std::__hash_value_type<unsigned long, std::vector<std::pair<unsigned int, unsigned int>>>, std::__unordered_map_hasher<unsigned long, std::__hash_value_type<unsigned long, std::vector<std::pair<unsigned int, unsigned int>>>, std::hash<unsigned long>, std::equal_to<unsigned long>>, std::__unordered_map_equal<unsigned long, std::__hash_value_type<unsigned long, std::vector<std::pair<unsigned int, unsigned int>>>, std::equal_to<unsigned long>, std::hash<unsigned long>>, std::allocator<std::__hash_value_type<unsigned long, std::vector<std::pair<unsigned int, unsigned int>>>>> { struct unique_ptr<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long, std::vector<std::pair<unsigned int, unsigned int>>>, void *> *> *[], std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long, std::vector<std::pair<unsigned int, unsigned int>>>, void *> *> *>>> { struct __compressed_pair<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long, std::vector<std::pair<unsigned int, unsigned int>>>, void *> *> **, std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long, std::vector<std::pair<unsigned int, unsigned int>>>, void *> *> *>>> { void **__value_; struct __bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long, std::vector<std::pair<unsigned int, unsigned int>>>, void *> *> *>> { struct __compressed_pair<unsigned long, std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long, std::vector<std::pair<unsigned int, unsigned int>>>, 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, std::vector<std::pair<unsigned int, unsigned int>>>, void *> *>, std::allocator<std::__hash_node<std::__hash_value_type<unsigned long, std::vector<std::pair<unsigned int, unsigned int>>>, void *>>> { struct __hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long, std::vector<std::pair<unsigned int, unsigned int>>>, void *> *> { void *__next_; } __value_; } __p1_; struct __compressed_pair<unsigned long, std::__unordered_map_hasher<unsigned long, std::__hash_value_type<unsigned long, std::vector<std::pair<unsigned int, unsigned int>>>, std::hash<unsigned long>, std::equal_to<unsigned long>>> { unsigned long long __value_; } __p2_; struct __compressed_pair<float, std::__unordered_map_equal<unsigned long, std::__hash_value_type<unsigned long, std::vector<std::pair<unsigned int, unsigned int>>>, std::equal_to<unsigned long>, std::hash<unsigned long>>> { float __value_; } __p3_; } __table_; } _encoderIndexToBatchInfo; struct vector<std::pair<unsigned int, unsigned int>, std::allocator<std::pair<unsigned int, unsigned int>>> { void *__begin_; void *__end_; struct __compressed_pair<std::pair<unsigned int, unsigned int> *, std::allocator<std::pair<unsigned int, unsigned int>>> { void *__value_; } __end_cap_; } _currentEncoderBatchInfo; NSArray *_splitEncoderCommandCount; struct { struct { unsigned long long x; unsigned long long y; unsigned long long z; } origin; struct { unsigned long long width; unsigned long long height; unsigned long long depth; } size; } _stageInRegion; BOOL _bSetStageInRegion; unsigned long long _stageInIndirectBufferId; unsigned long long _stageInIndirectBufferOffset; BOOL _isTileRenderPassDescriptor; id<MTLRenderPipelineState> _renderPipelineState; id<MTLFunction> _nopDrawFragFunction; id<MTLFunction> _nopDrawVertexFunction; id<MTLFunction> _nopTileFunction; id<MTLRenderPipelineState> _nopRenderPipelineState; struct vector<bool, std::allocator<bool>> { unsigned long long *__begin_; unsigned long long __size_; struct __compressed_pair<unsigned long, std::allocator<unsigned long>> { unsigned long long __value_; } __cap_alloc_; } _isDeltaCounter; DYMTLTileMemoryExtractor *_tileMemoryExtractor; DYMTLTextureRenderer *_textureRenderer; unsigned int _commandBufferIndex; unsigned int _encoderIndex; unsigned int _drawIndex; unsigned int _datamasterIndex; unsigned int _sampleLocationIndex; unsigned int _gpuCyclesIndex; unsigned int _nSecIndex; BOOL _supportsTessellation; unsigned long long _targetCommandEncoderId; struct unordered_map<unsigned long long, CAMetalLayer *, std::hash<unsigned long long>, std::equal_to<unsigned long long>, std::allocator<std::pair<const unsigned long long, CAMetalLayer *>>> { struct __hash_table<std::__hash_value_type<unsigned long long, CAMetalLayer *>, std::__unordered_map_hasher<unsigned long long, std::__hash_value_type<unsigned long long, CAMetalLayer *>, 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, CAMetalLayer *>, std::equal_to<unsigned long long>, std::hash<unsigned long long>>, std::allocator<std::__hash_value_type<unsigned long long, CAMetalLayer *>>> { struct unique_ptr<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, CAMetalLayer *>, void *> *> *[], std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, CAMetalLayer *>, void *> *> *>>> { struct __compressed_pair<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, CAMetalLayer *>, void *> *> **, std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, CAMetalLayer *>, void *> *> *>>> { void **__value_; struct __bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, CAMetalLayer *>, void *> *> *>> { struct __compressed_pair<unsigned long, std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, CAMetalLayer *>, 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, CAMetalLayer *>, void *> *>, std::allocator<std::__hash_node<std::__hash_value_type<unsigned long long, CAMetalLayer *>, void *>>> { struct __hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, CAMetalLayer *>, void *> *> { void *__next_; } __value_; } __p1_; struct __compressed_pair<unsigned long, std::__unordered_map_hasher<unsigned long long, std::__hash_value_type<unsigned long long, CAMetalLayer *>, 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, CAMetalLayer *>, std::equal_to<unsigned long long>, std::hash<unsigned long long>>> { float __value_; } __p3_; } __table_; } _metalLayers; unsigned long long _lastCommandBufferId; unsigned long long _lastCommandBufferIndex; unsigned long long _lastEncoderIndex; struct tuple<unsigned long long, unsigned long long> { struct __tuple_impl<std::__tuple_indices<0, 1>, unsigned long long, unsigned long long> { unsigned long long __value_; unsigned long long __value_; } __base_; } _lastSampleCommandBufferEncoderId; struct vector<unsigned long long, std::allocator<unsigned long long>> { unsigned long long *__begin_; unsigned long long *__end_; struct __compressed_pair<unsigned long long *, std::allocator<unsigned long long>> { unsigned long long *__value_; } __end_cap_; } _last; MTLRenderPassDescriptor *_currentParallelDescriptor; unsigned long long _currentParallelId; struct unordered_map<unsigned long long, unsigned long long, std::hash<unsigned long long>, std::equal_to<unsigned long long>, std::allocator<std::pair<const unsigned long long, unsigned long long>>> { struct __hash_table<std::__hash_value_type<unsigned long long, unsigned long long>, std::__unordered_map_hasher<unsigned long long, std::__hash_value_type<unsigned long long, unsigned long long>, 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, unsigned long long>, std::equal_to<unsigned long long>, std::hash<unsigned long long>>, std::allocator<std::__hash_value_type<unsigned long long, unsigned long long>>> { struct unique_ptr<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, unsigned long long>, void *> *> *[], std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, unsigned long long>, void *> *> *>>> { struct __compressed_pair<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, unsigned long long>, void *> *> **, std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, unsigned long long>, void *> *> *>>> { void **__value_; struct __bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, unsigned long long>, void *> *> *>> { struct __compressed_pair<unsigned long, std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, unsigned long long>, 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, unsigned long long>, void *> *>, std::allocator<std::__hash_node<std::__hash_value_type<unsigned long long, unsigned long long>, void *>>> { struct __hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, unsigned long long>, void *> *> { void *__next_; } __value_; } __p1_; struct __compressed_pair<unsigned long, std::__unordered_map_hasher<unsigned long long, std::__hash_value_type<unsigned long long, unsigned long long>, 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, unsigned long long>, std::equal_to<unsigned long long>, std::hash<unsigned long long>>> { float __value_; } __p3_; } __table_; } _persistantEncoder2ParallelMap; NSMutableDictionary *_thumbnailDictionary; NSMutableDictionary *_dependencyGraphThumbnails; unsigned long long _parallelEncoderCommandBufferID; MTLRenderPassDescriptor *_dependencyGraphParallelDescriptor; struct DYMTLRenderPassDescriptor { unsigned long long visibilityResultBuffer; unsigned long long renderTargetArrayLength; struct DYMTLRenderPassAttachmentDescriptor { unsigned long long texture; unsigned long long level; unsigned long long slice; unsigned long long depthPlane; unsigned long long resolveTexture; unsigned long long resolveLevel; unsigned long long resolveSlice; unsigned long long resolveDepthPlane; unsigned long long loadAction; unsigned long long storeAction; unsigned long long storeActionOptions; struct DYMTLClearValue { union { struct { double red; double green; double blue; double alpha; } ; double colors[4]; } ; } clearValue; BOOL yInvert; unsigned long long depthResolveFilter; unsigned long long stencilResolveFilter; } colorAttachments[8]; struct DYMTLRenderPassAttachmentDescriptor { unsigned long long texture; unsigned long long level; unsigned long long slice; unsigned long long depthPlane; unsigned long long resolveTexture; unsigned long long resolveLevel; unsigned long long resolveSlice; unsigned long long resolveDepthPlane; unsigned long long loadAction; unsigned long long storeAction; unsigned long long storeActionOptions; struct DYMTLClearValue { union { struct { double red; double green; double blue; double alpha; } ; double colors[4]; } ; } clearValue; BOOL yInvert; unsigned long long depthResolveFilter; unsigned long long stencilResolveFilter; } depthAttachment; struct DYMTLRenderPassAttachmentDescriptor { unsigned long long texture; unsigned long long level; unsigned long long slice; unsigned long long depthPlane; unsigned long long resolveTexture; unsigned long long resolveLevel; unsigned long long resolveSlice; unsigned long long resolveDepthPlane; unsigned long long loadAction; unsigned long long storeAction; unsigned long long storeActionOptions; struct DYMTLClearValue { union { struct { double red; double green; double blue; double alpha; } ; double colors[4]; } ; } clearValue; BOOL yInvert; unsigned long long depthResolveFilter; unsigned long long stencilResolveFilter; } stencilAttachment; unsigned long long imageblockSampleLength; unsigned long long threadgroupMemoryLength; unsigned long long tileWidth; unsigned long long tileHeight; unsigned long long renderTargetWidth; unsigned long long renderTargetHeight; unsigned long long defaultRasterSampleCount; unsigned long long rasterizationRateMap; struct DYMTLSamplePosition { float x; float y; } customSamplePositions[8]; unsigned long long customSampleCount; BOOL openGLModeEnabled; BOOL ditherEnabled; BOOL skipEmptyTilesOnClearEnabled; } _dependencyGraphDYMTLParallelDescriptor; id<MTLFence> _sparseTextureFence; NSMutableDictionary *_pixelHistory; id<MTLBuffer> _pixelHistoryPixelPreviousStencil; id<MTLBuffer> _pixelHistoryPixelPreviousDepth; struct unordered_map<unsigned long long, unsigned long long, std::hash<unsigned long long>, std::equal_to<unsigned long long>, std::allocator<std::pair<const unsigned long long, unsigned long long>>> { struct __hash_table<std::__hash_value_type<unsigned long long, unsigned long long>, std::__unordered_map_hasher<unsigned long long, std::__hash_value_type<unsigned long long, unsigned long long>, 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, unsigned long long>, std::equal_to<unsigned long long>, std::hash<unsigned long long>>, std::allocator<std::__hash_value_type<unsigned long long, unsigned long long>>> { struct unique_ptr<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, unsigned long long>, void *> *> *[], std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, unsigned long long>, void *> *> *>>> { struct __compressed_pair<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, unsigned long long>, void *> *> **, std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, unsigned long long>, void *> *> *>>> { void **__value_; struct __bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, unsigned long long>, void *> *> *>> { struct __compressed_pair<unsigned long, std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, unsigned long long>, 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, unsigned long long>, void *> *>, std::allocator<std::__hash_node<std::__hash_value_type<unsigned long long, unsigned long long>, void *>>> { struct __hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, unsigned long long>, void *> *> { void *__next_; } __value_; } __p1_; struct __compressed_pair<unsigned long, std::__unordered_map_hasher<unsigned long long, std::__hash_value_type<unsigned long long, unsigned long long>, 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, unsigned long long>, std::equal_to<unsigned long long>, std::hash<unsigned long long>>> { float __value_; } __p3_; } __table_; } _pixelHistoryInverseObjectMap; DYMTLPixelHistoryDrawStatsSupport *_pixelHistoryDrawStatsRenderer; NSMutableDictionary *_pixelHistoryEncoderStateTrackings; BOOL _isAGXDevice; } @property (nonatomic) unsigned int currentEncoderIndex; @property (retain, nonatomic) NSMutableArray *counterListsPerPass; @property (retain, nonatomic) NSString *statVertices; @property (retain, nonatomic) NSString *statPixels; @property (retain, nonatomic) NSMutableArray *frameCounters; @property (nonatomic) BOOL shouldIgnoreCaptureFile; @property (nonatomic) long long wireframeRenderMode; @property (readonly, nonatomic) DYMTLPostVertexDump *postVertexDump; @property (readonly, nonatomic) BOOL targetFunctionNeedsSeparatedPostVertexDump; @property (readonly, nonatomic) DYMTLShaderDebuggerTraceGenerator *shaderDebuggerTraceGenerator; + (id)harvestableTexture:(id)a0; + (id)thumbnailTexture:(unsigned long long)a0; - (void)setDevice:(id)a0; - (void)setStatLocations:(unsigned long long)a0; - (id).cxx_construct; - (void).cxx_destruct; - (unsigned long long)getStatLocations; - (id)thumbnailCache; - (id)derivedCounterData; - (void)executeGraphicsFunction; - (void)executePlatformFunction; - (id)initWithCaptureStore:(id)a0; - (BOOL)shouldExecuteGraphicsFunction; - (void)executeFunctions:(struct CoreFunction { unsigned int x0; unsigned int x1; unsigned short x2; unsigned short x3; union { unsigned long long x0; unsigned long long x1; } x4; struct Argument { void *x0; unsigned int x1; unsigned int x2; unsigned int x3; unsigned short x4; unsigned short x5; } x5; struct Argument { void *x0; unsigned int x1; unsigned int x2; unsigned int x3; unsigned short x4; unsigned short x5; } x6[16]; unsigned int x7; unsigned int x8; void *x9; void *x10; } *)a0 count:(unsigned long long)a1 subCommandIndex:(unsigned int)a2; - (void)prepareForCaptureExecution; - (void)commitEncodersAndCommandBuffers; - (void)_addRenderPassDescriptorToEncoderMapFromRenderPassDescriptor:(struct DYMTLRenderPassDescriptor { unsigned long long x0; unsigned long long x1; struct DYMTLRenderPassAttachmentDescriptor { unsigned long long x0; unsigned long long x1; unsigned long long x2; unsigned long long x3; unsigned long long x4; unsigned long long x5; unsigned long long x6; unsigned long long x7; unsigned long long x8; unsigned long long x9; unsigned long long x10; struct DYMTLClearValue { union { struct { double x0; double x1; double x2; double x3; } x0; double x1[4]; } x0; } x11; BOOL x12; unsigned long long x13; unsigned long long x14; } x2[8]; struct DYMTLRenderPassAttachmentDescriptor { unsigned long long x0; unsigned long long x1; unsigned long long x2; unsigned long long x3; unsigned long long x4; unsigned long long x5; unsigned long long x6; unsigned long long x7; unsigned long long x8; unsigned long long x9; unsigned long long x10; struct DYMTLClearValue { union { struct { double x0; double x1; double x2; double x3; } x0; double x1[4]; } x0; } x11; BOOL x12; unsigned long long x13; unsigned long long x14; } x3; struct DYMTLRenderPassAttachmentDescriptor { unsigned long long x0; unsigned long long x1; unsigned long long x2; unsigned long long x3; unsigned long long x4; unsigned long long x5; unsigned long long x6; unsigned long long x7; unsigned long long x8; unsigned long long x9; unsigned long long x10; struct DYMTLClearValue { union { struct { double x0; double x1; double x2; double x3; } x0; double x1[4]; } x0; } x11; BOOL x12; unsigned long long x13; unsigned long long x14; } x4; unsigned long long x5; unsigned long long x6; unsigned long long x7; unsigned long long x8; unsigned long long x9; unsigned long long x10; unsigned long long x11; unsigned long long x12; struct DYMTLSamplePosition { float x0; float x1; } x13[8]; unsigned long long x14; BOOL x15; BOOL x16; BOOL x17; } *)a0 forEncoder:(unsigned long long)a1; - (void)presentDrawable; - (void)_addRenderPassDescriptorToEncoderMapFromArgumentPointer:(void *)a0 forEncoder:(unsigned long long)a1; - (struct AttachmentInfo { unsigned long long x0; unsigned long long x1; unsigned long long x2; unsigned long long x3; })_attachmentInfoForCommandEncoderID:(unsigned long long)a0; - (void)_createBatchIdFilterMapping:(BOOL)a0 withCommandEncoder:(id)a1; - (void)_endEncodingForAllRemainingEncoders:(void *)a0; - (void)_executeGraphicsFunction; - (unsigned long long)_executeIndirectCommandBufferUpToSubIndex:(unsigned long long)a0 outBuffer:(id *)a1 outDataPointer:(const char **)a2; - (void)_extractTileMemoryWithRenderPassDescriptor:(struct DYMTLRenderPassDescriptor { unsigned long long x0; unsigned long long x1; struct DYMTLRenderPassAttachmentDescriptor { unsigned long long x0; unsigned long long x1; unsigned long long x2; unsigned long long x3; unsigned long long x4; unsigned long long x5; unsigned long long x6; unsigned long long x7; unsigned long long x8; unsigned long long x9; unsigned long long x10; struct DYMTLClearValue { union { struct { double x0; double x1; double x2; double x3; } x0; double x1[4]; } x0; } x11; BOOL x12; unsigned long long x13; unsigned long long x14; } x2[8]; struct DYMTLRenderPassAttachmentDescriptor { unsigned long long x0; unsigned long long x1; unsigned long long x2; unsigned long long x3; unsigned long long x4; unsigned long long x5; unsigned long long x6; unsigned long long x7; unsigned long long x8; unsigned long long x9; unsigned long long x10; struct DYMTLClearValue { union { struct { double x0; double x1; double x2; double x3; } x0; double x1[4]; } x0; } x11; BOOL x12; unsigned long long x13; unsigned long long x14; } x3; struct DYMTLRenderPassAttachmentDescriptor { unsigned long long x0; unsigned long long x1; unsigned long long x2; unsigned long long x3; unsigned long long x4; unsigned long long x5; unsigned long long x6; unsigned long long x7; unsigned long long x8; unsigned long long x9; unsigned long long x10; struct DYMTLClearValue { union { struct { double x0; double x1; double x2; double x3; } x0; double x1[4]; } x0; } x11; BOOL x12; unsigned long long x13; unsigned long long x14; } x4; unsigned long long x5; unsigned long long x6; unsigned long long x7; unsigned long long x8; unsigned long long x9; unsigned long long x10; unsigned long long x11; unsigned long long x12; struct DYMTLSamplePosition { float x0; float x1; } x13[8]; unsigned long long x14; BOOL x15; BOOL x16; BOOL x17; } *)a0 renderEncoderID:(unsigned long long)a1 isDrawCall:(BOOL)a2; - (void)_forceAttachmentLoadActionToLoad:(id)a0; - (void)_forceAttachmentStoreActionToStore:(id)a0; - (id)_generateDummyPipeline:(id)a0; - (id)_generateThumbnailAndResourceInfoForRequestedTextures:(id)a0 resolution:(struct { unsigned long long x0; unsigned long long x1; unsigned long long x2; })a1 commandBuffer:(id)a2; - (BOOL)_isFunctionCommandEncoderCreation; - (BOOL)_isReceiverTypeCommandEncoderRelated; - (void)_modifyDescriptorForLayering:(id)a0 withBuffer:(id)a1; - (void)_modifyDescriptorForStore:(id)a0; - (void)_setupEncodersForBatchIdFiltering; - (void)_splitBlitEncoder; - (void)_splitCommandEncoders; - (void)_splitComputeEncoder; - (void)_splitRenderEncoders; - (void)_superExecutePlatformFunction; - (void)_swizzleAttachmentTextureForLoad:(id)a0 withBuffer:(id)a1; - (id)_texture2DFromTexture:(id)a0 level:(unsigned long long)a1 slice:(unsigned long long)a2 depthPlane:(unsigned long long)a3 commandBuffer:(id)a4; - (void)_trackObjects; - (void)_updateMemorylessTextures:(id)a0; - (void)_updateRemainingCommandsForEncoder; - (void)allowOverlap:(BOOL)a0 withPState:(unsigned int)a1; - (id)collectPixelDrawStats:(id)a0 originalEncoderId:(unsigned long long)a1 originalEncoder:(id)a2 originalPipeline:(id)a3 atX:(unsigned long long)a4 y:(unsigned long long)a5 draw:(id /* block */)a6; - (id)collectPixelDrawStatsTotal:(id)a0 originalPipeline:(id)a1 atX:(unsigned long long)a2 y:(unsigned long long)a3 draw:(id /* block */)a4; - (id)counterInfo:(id)a0; - (id)dependencyGraphThumbnailCache; - (void)enableConsistentState:(BOOL)a0; - (void)enableStatsSampling:(BOOL)a0; - (void)encodeStoreActionForParallelRenderCommandEncoder:(id)a0 withDescriptor:(id)a1; - (void)encodeStoreActionForRenderCommandEncoder:(id)a0 withDescriptor:(id)a1; - (void *)encoderMap; - (void)extractCommandBufferTranslationData; - (void)extractComputeIndirectArgumentBuffers:(void *)a0; - (void)extractIndirectArgumentBuffers; - (void)extractRenderIndirectArgumentBuffers:(void *)a0; - (id)generatePerPrimitiveHistory:(unsigned long long)a0 commandQueue:(id)a1 currentEncoderId:(unsigned long long)a2 originalEncoder:(id)a3 originalPipeline:(id)a4 atX:(unsigned long long)a5 y:(unsigned long long)a6; - (id)generatePerPrimitiveHistory_drawPrimitives_vertexStart_vertexCount:(unsigned long long)a0 vertexStart:(unsigned long long)a1 vertexCount:(unsigned long long)a2 total:(unsigned long long)a3 commandQueue:(id)a4 currentEncoderId:(unsigned long long)a5 originalEncoder:(id)a6 originalPipeline:(id)a7 atX:(unsigned long long)a8 y:(unsigned long long)a9; - (BOOL)isBlitSamplingSupported; - (BOOL)isCounterAvailable:(id)a0; - (id)pixelHistoryCache; - (id)replayerLayerForDrawableId:(unsigned long long)a0; - (void)resetFunctionPlayerData; - (void)resetPixelHistoryCache; - (void)sampleEncoderCounters; - (void)sampleSplitEncoderCounters; - (void)setConsistentStateTo:(unsigned int)a0; - (void)setupAllStatLocationsWithBlitOption:(BOOL)a0; - (void)setupBatchFilterForEncoders:(id)a0; - (id)setupCounterConfigurationAndGetFrameProfilerCounters; - (void)setupFrameTimeProfiling; - (void)setupProfileInfo:(id)a0; - (void)setupProfilingForCounterLists; - (BOOL)setupProfilingForListAtIndex:(unsigned long long)a0; - (void)stopFrameProfiling; - (void)updateReplayerLayer:(unsigned long long)a0 withOriginalLayer:(unsigned long long)a1; - (void)waitForCommmandBuffersCompletion; @end