diff --git a/renderdoc/driver/metal/metal_command_queue.h b/renderdoc/driver/metal/metal_command_queue.h index 2841dee20..ff41aade7 100644 --- a/renderdoc/driver/metal/metal_command_queue.h +++ b/renderdoc/driver/metal/metal_command_queue.h @@ -32,7 +32,6 @@ public: WrappedMTLCommandQueue(MTL::CommandQueue *realMTLCommandQueue, ResourceId objId, WrappedMTLDevice *wrappedMTLDevice); - MTL::CommandQueue *GetReal() { return (MTL::CommandQueue *)real; } enum { TypeEnum = eResCommandQueue diff --git a/renderdoc/driver/metal/metal_command_queue_bridge.mm b/renderdoc/driver/metal/metal_command_queue_bridge.mm index 11a104ac1..cff6c76f8 100644 --- a/renderdoc/driver/metal/metal_command_queue_bridge.mm +++ b/renderdoc/driver/metal/metal_command_queue_bridge.mm @@ -31,8 +31,7 @@ // ObjCBridgeMTLCommandQueue specific - (id)real { - MTL::CommandQueue *real = self.wrappedCPP->GetReal(); - return id(real); + return id(Unwrap(self.wrappedCPP)); } // Use the real MTLCommandQueue to find methods from messages diff --git a/renderdoc/driver/metal/metal_device.cpp b/renderdoc/driver/metal/metal_device.cpp index dae1b0c1a..47ac7e3fa 100644 --- a/renderdoc/driver/metal/metal_device.cpp +++ b/renderdoc/driver/metal/metal_device.cpp @@ -65,7 +65,7 @@ bool WrappedMTLDevice::Serialise_newCommandQueue(SerialiserType &ser, WrappedMTL WrappedMTLCommandQueue *WrappedMTLDevice::newCommandQueue() { MTL::CommandQueue *realMTLCommandQueue; - SERIALISE_TIME_CALL(realMTLCommandQueue = GetReal()->newCommandQueue()); + SERIALISE_TIME_CALL(realMTLCommandQueue = Unwrap(this)->newCommandQueue()); WrappedMTLCommandQueue *wrappedMTLCommandQueue; ResourceId id = GetResourceManager()->WrapResource(realMTLCommandQueue, wrappedMTLCommandQueue); if(IsCaptureMode(m_State)) @@ -113,7 +113,7 @@ WrappedMTLLibrary *WrappedMTLDevice::newDefaultLibrary() { MTL::Library *realMTLLibrary; - SERIALISE_TIME_CALL(realMTLLibrary = GetReal()->newDefaultLibrary()); + SERIALISE_TIME_CALL(realMTLLibrary = Unwrap(this)->newDefaultLibrary()); WrappedMTLLibrary *wrappedMTLLibrary; ResourceId id = GetResourceManager()->WrapResource(realMTLLibrary, wrappedMTLLibrary); if(IsCaptureMode(m_State)) @@ -160,7 +160,7 @@ WrappedMTLLibrary *WrappedMTLDevice::newLibraryWithSource(NS::String *source, NS::Error **error) { MTL::Library *realMTLLibrary; - SERIALISE_TIME_CALL(realMTLLibrary = GetReal()->newLibrary(source, options, error)); + SERIALISE_TIME_CALL(realMTLLibrary = Unwrap(this)->newLibrary(source, options, error)); WrappedMTLLibrary *wrappedMTLLibrary; ResourceId id = GetResourceManager()->WrapResource(realMTLLibrary, wrappedMTLLibrary); if(IsCaptureMode(m_State)) diff --git a/renderdoc/driver/metal/metal_device.h b/renderdoc/driver/metal/metal_device.h index 49819f4f7..bd96b0ff6 100644 --- a/renderdoc/driver/metal/metal_device.h +++ b/renderdoc/driver/metal/metal_device.h @@ -34,7 +34,6 @@ class WrappedMTLDevice : public WrappedMTLObject public: WrappedMTLDevice(MTL::Device *realMTLDevice, ResourceId objId); ~WrappedMTLDevice() {} - MTL::Device *GetReal() { return (MTL::Device *)real; } static WrappedMTLDevice *MTLCreateSystemDefaultDevice(MTL::Device *realMTLDevice); DECLARE_FUNCTION_WITH_RETURN_SERIALISED(WrappedMTLCommandQueue *, newCommandQueue); diff --git a/renderdoc/driver/metal/metal_device_bridge.mm b/renderdoc/driver/metal/metal_device_bridge.mm index 98f9a1e96..6316e6f47 100644 --- a/renderdoc/driver/metal/metal_device_bridge.mm +++ b/renderdoc/driver/metal/metal_device_bridge.mm @@ -39,8 +39,7 @@ // ObjCBridgeMTLDevice specific - (id)real { - MTL::Device *real = self.wrappedCPP->GetReal(); - return id(real); + return id(Unwrap(self.wrappedCPP)); } // Use the real MTLDevice to find methods from messages @@ -183,9 +182,7 @@ - (nullable id)newCommandQueue { - WrappedMTLCommandQueue *wrapped = self.wrappedCPP->newCommandQueue(); - MTL::CommandQueue *objc = GetObjCBridge(wrapped); - return id(objc); + return id(GetObjCBridge(self.wrappedCPP->newCommandQueue())); } - (nullable id)newCommandQueueWithMaxCommandBufferCount:(NSUInteger)maxCommandBufferCount @@ -287,9 +284,7 @@ - (nullable id)newDefaultLibrary { - WrappedMTLLibrary *wrapped = self.wrappedCPP->newDefaultLibrary(); - MTL::Library *objc = GetObjCBridge(wrapped); - return id(objc); + return id(GetObjCBridge(self.wrappedCPP->newDefaultLibrary())); } - (nullable id)newDefaultLibraryWithBundle:(NSBundle *)bundle @@ -326,10 +321,8 @@ options:(nullable MTLCompileOptions *)options error:(__autoreleasing NSError **)error { - WrappedMTLLibrary *wrapped = self.wrappedCPP->newLibraryWithSource( - (NS::String *)source, (MTL::CompileOptions *)options, (NS::Error **)error); - MTL::Library *objc = GetObjCBridge(wrapped); - return (id)(objc); + return (id)(GetObjCBridge(self.wrappedCPP->newLibraryWithSource( + (NS::String *)source, (MTL::CompileOptions *)options, (NS::Error **)error))); } - (void)newLibraryWithSource:(NSString *)source diff --git a/renderdoc/driver/metal/metal_function.h b/renderdoc/driver/metal/metal_function.h index 8f44d528c..d13ababed 100644 --- a/renderdoc/driver/metal/metal_function.h +++ b/renderdoc/driver/metal/metal_function.h @@ -32,7 +32,6 @@ public: WrappedMTLFunction(MTL::Function *realMTLFunction, ResourceId objId, WrappedMTLDevice *wrappedMTLDevice); - MTL::Function *GetReal() { return (MTL::Function *)real; } enum { TypeEnum = eResFunction diff --git a/renderdoc/driver/metal/metal_function_bridge.mm b/renderdoc/driver/metal/metal_function_bridge.mm index d77d78529..d851dfb3b 100644 --- a/renderdoc/driver/metal/metal_function_bridge.mm +++ b/renderdoc/driver/metal/metal_function_bridge.mm @@ -31,8 +31,7 @@ // ObjCBrdigeMTLFunction specific - (id)real { - MTL::Function *real = self.wrappedCPP->GetReal(); - return id(real); + return id(Unwrap(self.wrappedCPP)); } - (void)dealloc diff --git a/renderdoc/driver/metal/metal_hook_bridge.mm b/renderdoc/driver/metal/metal_hook_bridge.mm index a983eae92..1252f4fe9 100644 --- a/renderdoc/driver/metal/metal_hook_bridge.mm +++ b/renderdoc/driver/metal/metal_hook_bridge.mm @@ -54,8 +54,8 @@ id METAL_EXPORT_NAME(MTLCreateSystemDefaultDevice)(void) } id device = METAL.MTLCreateSystemDefaultDevice(); - WrappedMTLDevice *wrapped = WrappedMTLDevice::MTLCreateSystemDefaultDevice((MTL::Device *)device); - return id(GetObjCBridge(wrapped)); + return id( + GetObjCBridge(WrappedMTLDevice::MTLCreateSystemDefaultDevice((MTL::Device *)device))); } /* diff --git a/renderdoc/driver/metal/metal_library.h b/renderdoc/driver/metal/metal_library.h index 046b5f419..fb4fe37e8 100644 --- a/renderdoc/driver/metal/metal_library.h +++ b/renderdoc/driver/metal/metal_library.h @@ -32,7 +32,6 @@ public: WrappedMTLLibrary(MTL::Library *realMTLLibrary, ResourceId objId, WrappedMTLDevice *wrappedMTLDevice); - MTL::Library *GetReal() { return (MTL::Library *)real; } enum { TypeEnum = eResLibrary diff --git a/renderdoc/driver/metal/metal_library_bridge.mm b/renderdoc/driver/metal/metal_library_bridge.mm index 142008de9..dac60df77 100644 --- a/renderdoc/driver/metal/metal_library_bridge.mm +++ b/renderdoc/driver/metal/metal_library_bridge.mm @@ -31,8 +31,7 @@ // ObjCBridgeMTLLibrary specific - (id)real { - MTL::Library *real = self.wrappedCPP->GetReal(); - return id(real); + return id(Unwrap(self.wrappedCPP)); } // Use the real MTLLibrary to find methods from messages diff --git a/renderdoc/driver/metal/metal_types.h b/renderdoc/driver/metal/metal_types.h index 7c3606d70..625910e3a 100644 --- a/renderdoc/driver/metal/metal_types.h +++ b/renderdoc/driver/metal/metal_types.h @@ -47,7 +47,7 @@ METALCPP_WRAPPED_PROTOCOLS(DECLARE_WRAPPED_TYPE_SERIALISE); class WrappedMTL##CPPTYPE; \ extern WrappedMTL##CPPTYPE *GetWrapped(MTL::CPPTYPE *objCWrapped); \ extern MTL::CPPTYPE *GetReal(MTL::CPPTYPE *objCWrapped); \ - extern bool IsObjCWrapped(MTL::CPPTYPE *objCWrapped); \ + extern bool IsObjCBridge(MTL::CPPTYPE *objCWrapped); \ extern ResourceId GetResID(MTL::CPPTYPE *objCWrapped); \ extern MTL::CPPTYPE *AllocateObjCBridge(WrappedMTL##CPPTYPE *wrapped);