@class DYMTLIndirectCommandBufferManager, DYMTLIndirectArgumentBufferManager; @protocol MTLCommandQueueSPI, MTLDevice; @interface DYMTLFunctionPlayer : DYFunctionPlayer { struct unordered_map<unsigned long long, id, std::hash<unsigned long long>, std::equal_to<unsigned long long>, std::allocator<std::pair<const unsigned long long, id>>> { struct __hash_table<std::__hash_value_type<unsigned long long, id>, std::__unordered_map_hasher<unsigned long long, std::__hash_value_type<unsigned long long, id>, 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, id>, std::equal_to<unsigned long long>, std::hash<unsigned long long>>, std::allocator<std::__hash_value_type<unsigned long long, id>>> { struct unique_ptr<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, id>, void *> *> *[], std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, id>, void *> *> *>>> { struct __compressed_pair<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, id>, void *> *> **, std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, id>, void *> *> *>>> { void **__value_; struct __bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, id>, void *> *> *>> { struct __compressed_pair<unsigned long, std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, id>, 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, id>, void *> *>, std::allocator<std::__hash_node<std::__hash_value_type<unsigned long long, id>, void *>>> { struct __hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, id>, void *> *> { void *__next_; } __value_; } __p1_; struct __compressed_pair<unsigned long, std::__unordered_map_hasher<unsigned long long, std::__hash_value_type<unsigned long long, id>, 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, id>, std::equal_to<unsigned long long>, std::hash<unsigned long long>>> { float __value_; } __p3_; } __table_; } _objectMap; id<MTLCommandQueueSPI> _commandQueue; struct unordered_map<unsigned long long, NSData *, std::hash<unsigned long long>, std::equal_to<unsigned long long>, std::allocator<std::pair<const unsigned long long, NSData *>>> { struct __hash_table<std::__hash_value_type<unsigned long long, NSData *>, std::__unordered_map_hasher<unsigned long long, std::__hash_value_type<unsigned long long, NSData *>, 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, NSData *>, std::equal_to<unsigned long long>, std::hash<unsigned long long>>, std::allocator<std::__hash_value_type<unsigned long long, NSData *>>> { struct unique_ptr<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, NSData *>, void *> *> *[], std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, NSData *>, void *> *> *>>> { struct __compressed_pair<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, NSData *>, void *> *> **, std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, NSData *>, void *> *> *>>> { void **__value_; struct __bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, NSData *>, void *> *> *>> { struct __compressed_pair<unsigned long, std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, NSData *>, 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, NSData *>, void *> *>, std::allocator<std::__hash_node<std::__hash_value_type<unsigned long long, NSData *>, void *>>> { struct __hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, NSData *>, void *> *> { void *__next_; } __value_; } __p1_; struct __compressed_pair<unsigned long, std::__unordered_map_hasher<unsigned long long, std::__hash_value_type<unsigned long long, NSData *>, 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, NSData *>, std::equal_to<unsigned long long>, std::hash<unsigned long long>>> { float __value_; } __p3_; } __table_; } _vertexBytesDataMap; struct unordered_map<unsigned long long, NSData *, std::hash<unsigned long long>, std::equal_to<unsigned long long>, std::allocator<std::pair<const unsigned long long, NSData *>>> { struct __hash_table<std::__hash_value_type<unsigned long long, NSData *>, std::__unordered_map_hasher<unsigned long long, std::__hash_value_type<unsigned long long, NSData *>, 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, NSData *>, std::equal_to<unsigned long long>, std::hash<unsigned long long>>, std::allocator<std::__hash_value_type<unsigned long long, NSData *>>> { struct unique_ptr<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, NSData *>, void *> *> *[], std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, NSData *>, void *> *> *>>> { struct __compressed_pair<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, NSData *>, void *> *> **, std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, NSData *>, void *> *> *>>> { void **__value_; struct __bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, NSData *>, void *> *> *>> { struct __compressed_pair<unsigned long, std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, NSData *>, 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, NSData *>, void *> *>, std::allocator<std::__hash_node<std::__hash_value_type<unsigned long long, NSData *>, void *>>> { struct __hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, NSData *>, void *> *> { void *__next_; } __value_; } __p1_; struct __compressed_pair<unsigned long, std::__unordered_map_hasher<unsigned long long, std::__hash_value_type<unsigned long long, NSData *>, 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, NSData *>, std::equal_to<unsigned long long>, std::hash<unsigned long long>>> { float __value_; } __p3_; } __table_; } _fragmentBytesDataMap; struct unordered_map<unsigned long long, NSData *, std::hash<unsigned long long>, std::equal_to<unsigned long long>, std::allocator<std::pair<const unsigned long long, NSData *>>> { struct __hash_table<std::__hash_value_type<unsigned long long, NSData *>, std::__unordered_map_hasher<unsigned long long, std::__hash_value_type<unsigned long long, NSData *>, 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, NSData *>, std::equal_to<unsigned long long>, std::hash<unsigned long long>>, std::allocator<std::__hash_value_type<unsigned long long, NSData *>>> { struct unique_ptr<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, NSData *>, void *> *> *[], std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, NSData *>, void *> *> *>>> { struct __compressed_pair<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, NSData *>, void *> *> **, std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, NSData *>, void *> *> *>>> { void **__value_; struct __bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, NSData *>, void *> *> *>> { struct __compressed_pair<unsigned long, std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, NSData *>, 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, NSData *>, void *> *>, std::allocator<std::__hash_node<std::__hash_value_type<unsigned long long, NSData *>, void *>>> { struct __hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, NSData *>, void *> *> { void *__next_; } __value_; } __p1_; struct __compressed_pair<unsigned long, std::__unordered_map_hasher<unsigned long long, std::__hash_value_type<unsigned long long, NSData *>, 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, NSData *>, std::equal_to<unsigned long long>, std::hash<unsigned long long>>> { float __value_; } __p3_; } __table_; } _tileBytesDataMap; struct unordered_map<unsigned long long, NSData *, std::hash<unsigned long long>, std::equal_to<unsigned long long>, std::allocator<std::pair<const unsigned long long, NSData *>>> { struct __hash_table<std::__hash_value_type<unsigned long long, NSData *>, std::__unordered_map_hasher<unsigned long long, std::__hash_value_type<unsigned long long, NSData *>, 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, NSData *>, std::equal_to<unsigned long long>, std::hash<unsigned long long>>, std::allocator<std::__hash_value_type<unsigned long long, NSData *>>> { struct unique_ptr<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, NSData *>, void *> *> *[], std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, NSData *>, void *> *> *>>> { struct __compressed_pair<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, NSData *>, void *> *> **, std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, NSData *>, void *> *> *>>> { void **__value_; struct __bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, NSData *>, void *> *> *>> { struct __compressed_pair<unsigned long, std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, NSData *>, 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, NSData *>, void *> *>, std::allocator<std::__hash_node<std::__hash_value_type<unsigned long long, NSData *>, void *>>> { struct __hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long long, NSData *>, void *> *> { void *__next_; } __value_; } __p1_; struct __compressed_pair<unsigned long, std::__unordered_map_hasher<unsigned long long, std::__hash_value_type<unsigned long long, NSData *>, 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, NSData *>, std::equal_to<unsigned long long>, std::hash<unsigned long long>>> { float __value_; } __p3_; } __table_; } _computeBytesDataMap; } @property (retain, nonatomic) id<MTLDevice> device; @property (retain, nonatomic) DYMTLIndirectArgumentBufferManager *indirectArgumentManager; @property (retain, nonatomic) DYMTLIndirectCommandBufferManager *indirectCommandManager; + (void *)computeBytesKeyAtIndex:(unsigned long long)a0; + (void *)fragmentBytesKeyAtIndex:(unsigned long long)a0; + (void *)tileBytesKeyAtIndex:(unsigned long long)a0; + (void *)vertexBytesKeyAtIndex:(unsigned long long)a0; - (id)commandQueue; - (void)dealloc; - (void)setObject:(id)a0 forKey:(unsigned long long)a1; - (id).cxx_construct; - (void)removeObjectForKey:(unsigned long long)a0; - (void).cxx_destruct; - (id)objectForKey:(unsigned long long)a0; - (void *)objectMap; - (void)executeGraphicsFunction; - (void)executePlatformFunction; - (id)initWithCaptureStore:(id)a0; - (BOOL)isFrameBoundary; - (id)_createPrivateBufferForFunctionWithDevice:(id)a0 bytes:(char *)a1 length:(unsigned long long)a2 resourceOptions:(unsigned long long)a3; - (id)_getDeviceWithName:(id)a0; - (BOOL)_isCPUAccessibleStorageMode:(unsigned long long)a0; - (BOOL)_isDepthStencilFormat:(unsigned long long)a0; - (void)_restoreTexture:(unsigned long long)a0 commandBuffer:(unsigned long long)a1 argumentOffset:(unsigned long long)a2; - (void)_saveBytes; - (const void *)computeBytesForKey:(unsigned long long)a0; - (id)deviceForID:(unsigned long long)a0 withDeviceName:(id)a1; - (const void *)fragmentBytesForKey:(unsigned long long)a0; - (unsigned long long)keyForOriginalObject:(id)a0; - (unsigned long long)keyForOriginalObject:(id)a0 inverseObjectMap:(void *)a1; - (const void *)tileBytesForKey:(unsigned long long)a0; - (const void *)vertexBytesForKey:(unsigned long long)a0; @end