diff --git a/renderdoc/driver/metal/metal_device.cpp b/renderdoc/driver/metal/metal_device.cpp index e40e951ab..41a44cb46 100644 --- a/renderdoc/driver/metal/metal_device.cpp +++ b/renderdoc/driver/metal/metal_device.cpp @@ -30,7 +30,7 @@ WrappedMTLDevice::WrappedMTLDevice(MTL::Device *realMTLDevice, ResourceId objId) : WrappedMTLObject(realMTLDevice, objId, this, GetStateRef()) { - objc = AllocateObjCWrapper(this); + objcBridge = AllocateObjCBridge(this); m_WrappedMTLDevice = this; threadSerialiserTLSSlot = Threading::AllocateTLSSlot(); @@ -44,7 +44,6 @@ WrappedMTLDevice *WrappedMTLDevice::MTLCreateSystemDefaultDevice(MTL::Device *re ResourceId objId = ResourceIDGen::GetNewUniqueID(); WrappedMTLDevice *wrappedMTLDevice = new WrappedMTLDevice(realMTLDevice, objId); - // return GetObjC(wrappedMTLDevice); return wrappedMTLDevice; } @@ -80,7 +79,7 @@ WrappedMTLLibrary *WrappedMTLDevice::newDefaultLibrary() { MTL::Library *realMTLLibrary; - SERIALISE_TIME_CALL(realMTLLibrary = Unwrap(this)->newDefaultLibrary()); + SERIALISE_TIME_CALL(realMTLLibrary = GetReal()->newDefaultLibrary()); WrappedMTLLibrary *wrappedMTLLibrary; ResourceId id = GetResourceManager()->WrapResource(realMTLLibrary, wrappedMTLLibrary); if(IsCaptureMode(m_State)) @@ -127,7 +126,7 @@ WrappedMTLLibrary *WrappedMTLDevice::newLibraryWithSource(NS::String *source, NS::Error **error) { MTL::Library *realMTLLibrary; - SERIALISE_TIME_CALL(realMTLLibrary = Unwrap(this)->newLibrary(source, options, error)); + SERIALISE_TIME_CALL(realMTLLibrary = GetReal()->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 13e651502..450747298 100644 --- a/renderdoc/driver/metal/metal_device.h +++ b/renderdoc/driver/metal/metal_device.h @@ -34,6 +34,7 @@ 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); WrappedMTLLibrary *newDefaultLibrary(); diff --git a/renderdoc/driver/metal/metal_device_bridge.mm b/renderdoc/driver/metal/metal_device_bridge.mm index 9983dc601..0445b0988 100644 --- a/renderdoc/driver/metal/metal_device_bridge.mm +++ b/renderdoc/driver/metal/metal_device_bridge.mm @@ -32,13 +32,13 @@ #define __MAC_12_0 120000 #endif -// Wrapper for MTLDevice -@implementation ObjCWrappedMTLDevice +// Bridge for MTLDevice +@implementation ObjCBridgeMTLDevice -// ObjCWrappedMTLDevice specific +// ObjCBridgeMTLDevice specific - (id)real { - MTL::Device *real = Unwrap(self.wrappedCPP); + MTL::Device *real = self.wrappedCPP->GetReal(); return id(real); } @@ -286,7 +286,7 @@ - (nullable id)newDefaultLibrary { WrappedMTLLibrary *wrapped = self.wrappedCPP->newDefaultLibrary(); - MTL::Library *objc = GetObjC(wrapped); + MTL::Library *objc = GetObjCBridge(wrapped); return id(objc); } @@ -326,7 +326,7 @@ { WrappedMTLLibrary *wrapped = self.wrappedCPP->newLibraryWithSource( (NS::String *)source, (MTL::CompileOptions *)options, (NS::Error **)error); - MTL::Library *objc = GetObjC(wrapped); + MTL::Library *objc = GetObjCBridge(wrapped); return (id)(objc); } diff --git a/renderdoc/driver/metal/metal_function.cpp b/renderdoc/driver/metal/metal_function.cpp index aa99ac59f..6bcbc56a8 100644 --- a/renderdoc/driver/metal/metal_function.cpp +++ b/renderdoc/driver/metal/metal_function.cpp @@ -29,5 +29,5 @@ WrappedMTLFunction::WrappedMTLFunction(MTL::Function *realMTLFunction, ResourceI WrappedMTLDevice *wrappedMTLDevice) : WrappedMTLObject(realMTLFunction, objId, wrappedMTLDevice, wrappedMTLDevice->GetStateRef()) { - objc = AllocateObjCWrapper(this); + objcBridge = AllocateObjCBridge(this); } diff --git a/renderdoc/driver/metal/metal_function.h b/renderdoc/driver/metal/metal_function.h index d13ababed..8f44d528c 100644 --- a/renderdoc/driver/metal/metal_function.h +++ b/renderdoc/driver/metal/metal_function.h @@ -32,6 +32,7 @@ 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 6e788c64f..d77d78529 100644 --- a/renderdoc/driver/metal/metal_function_bridge.mm +++ b/renderdoc/driver/metal/metal_function_bridge.mm @@ -25,13 +25,13 @@ #include "metal_function.h" #include "metal_types_bridge.h" -// Wrapper for MTLFunction -@implementation ObjCWrappedMTLFunction +// Bridge for MTLFunction +@implementation ObjCBridgeMTLFunction -// ObjCWrappedMTLFunction specific +// ObjCBrdigeMTLFunction specific - (id)real { - MTL::Function *real = Unwrap(self.wrappedCPP); + MTL::Function *real = self.wrappedCPP->GetReal(); return id(real); } @@ -56,7 +56,7 @@ - (id)device { - return id(self.wrappedCPP->GetObjCWrappedMTLDevice()); + return id(self.wrappedCPP->GetObjCBridgeMTLDevice()); } - (MTLFunctionType)functionType diff --git a/renderdoc/driver/metal/metal_hook_bridge.mm b/renderdoc/driver/metal/metal_hook_bridge.mm index ba98e3bf2..a983eae92 100644 --- a/renderdoc/driver/metal/metal_hook_bridge.mm +++ b/renderdoc/driver/metal/metal_hook_bridge.mm @@ -55,7 +55,7 @@ id METAL_EXPORT_NAME(MTLCreateSystemDefaultDevice)(void) id device = METAL.MTLCreateSystemDefaultDevice(); WrappedMTLDevice *wrapped = WrappedMTLDevice::MTLCreateSystemDefaultDevice((MTL::Device *)device); - return id(GetObjC(wrapped)); + return id(GetObjCBridge(wrapped)); } /* diff --git a/renderdoc/driver/metal/metal_library.cpp b/renderdoc/driver/metal/metal_library.cpp index ffc7726fe..db5736efc 100644 --- a/renderdoc/driver/metal/metal_library.cpp +++ b/renderdoc/driver/metal/metal_library.cpp @@ -30,5 +30,5 @@ WrappedMTLLibrary::WrappedMTLLibrary(MTL::Library *realMTLLibrary, ResourceId ob WrappedMTLDevice *wrappedMTLDevice) : WrappedMTLObject(realMTLLibrary, objId, wrappedMTLDevice, wrappedMTLDevice->GetStateRef()) { - objc = AllocateObjCWrapper(this); + objcBridge = AllocateObjCBridge(this); } diff --git a/renderdoc/driver/metal/metal_library.h b/renderdoc/driver/metal/metal_library.h index fb4fe37e8..046b5f419 100644 --- a/renderdoc/driver/metal/metal_library.h +++ b/renderdoc/driver/metal/metal_library.h @@ -32,6 +32,7 @@ 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 51c6fef84..142008de9 100644 --- a/renderdoc/driver/metal/metal_library_bridge.mm +++ b/renderdoc/driver/metal/metal_library_bridge.mm @@ -25,13 +25,13 @@ #include "metal_library.h" #include "metal_types_bridge.h" -// Wrapper for MTLLibrary -@implementation ObjCWrappedMTLLibrary +// Bridge for MTLLibrary +@implementation ObjCBridgeMTLLibrary -// ObjCWrappedMTLLibrary specific +// ObjCBridgeMTLLibrary specific - (id)real { - MTL::Library *real = Unwrap(self.wrappedCPP); + MTL::Library *real = self.wrappedCPP->GetReal(); return id(real); } @@ -68,7 +68,7 @@ - (id)device { - return id(self.wrappedCPP->GetObjCWrappedMTLDevice()); + return id(self.wrappedCPP->GetObjCBridgeMTLDevice()); } - (nullable id)newFunctionWithName:(NSString *)functionName diff --git a/renderdoc/driver/metal/metal_resources.cpp b/renderdoc/driver/metal/metal_resources.cpp index 0df85916e..9fceff759 100644 --- a/renderdoc/driver/metal/metal_resources.cpp +++ b/renderdoc/driver/metal/metal_resources.cpp @@ -43,9 +43,9 @@ MetalResourceManager *WrappedMTLObject::GetResourceManager() return m_WrappedMTLDevice->GetResourceManager(); } -MTL::Device *WrappedMTLObject::GetObjCWrappedMTLDevice() +MTL::Device *WrappedMTLObject::GetObjCBridgeMTLDevice() { - return GetObjC(m_WrappedMTLDevice); + return GetObjCBridge(m_WrappedMTLDevice); } MetalResourceRecord::~MetalResourceRecord() diff --git a/renderdoc/driver/metal/metal_resources.h b/renderdoc/driver/metal/metal_resources.h index 68462e892..3c2c4deb7 100644 --- a/renderdoc/driver/metal/metal_resources.h +++ b/renderdoc/driver/metal/metal_resources.h @@ -46,7 +46,7 @@ struct WrappedMTLObject { WrappedMTLObject() = delete; WrappedMTLObject(WrappedMTLDevice *wrappedMTLDevice, CaptureState &captureState) - : objc(NULL), + : objcBridge(NULL), real(NULL), record(NULL), m_WrappedMTLDevice(wrappedMTLDevice), @@ -55,7 +55,7 @@ struct WrappedMTLObject } WrappedMTLObject(void *mtlObject, ResourceId objId, WrappedMTLDevice *wrappedMTLDevice, CaptureState &captureState) - : objc(NULL), + : objcBridge(NULL), real(mtlObject), id(objId), record(NULL), @@ -67,11 +67,11 @@ struct WrappedMTLObject void Dealloc(); - MTL::Device *GetObjCWrappedMTLDevice(); + MTL::Device *GetObjCBridgeMTLDevice(); MetalResourceManager *GetResourceManager(); - void *objc; + void *objcBridge; void *real; ResourceId id; MetalResourceRecord *record; @@ -100,12 +100,12 @@ RealType Unwrap(WrappedMTLObject *obj) } template -RealType GetObjC(WrappedMTLObject *obj) +RealType GetObjCBridge(WrappedMTLObject *obj) { if(obj == NULL) return RealType(); - return (RealType)obj->objc; + return (RealType)obj->objcBridge; } // template magic voodoo to unwrap types diff --git a/renderdoc/driver/metal/metal_types.h b/renderdoc/driver/metal/metal_types.h index 3a8907816..9324ecbab 100644 --- a/renderdoc/driver/metal/metal_types.h +++ b/renderdoc/driver/metal/metal_types.h @@ -35,7 +35,7 @@ #define DECLARE_OBJC_HELPERS(CPPTYPE) \ class WrappedMTL##CPPTYPE; \ - extern MTL::CPPTYPE *AllocateObjCWrapper(WrappedMTL##CPPTYPE *wrapped); + extern MTL::CPPTYPE *AllocateObjCBridge(WrappedMTL##CPPTYPE *wrapped); METALCPP_WRAPPED_PROTOCOLS(DECLARE_OBJC_HELPERS) #undef DECLARE_OBJC_HELPERS diff --git a/renderdoc/driver/metal/metal_types_bridge.h b/renderdoc/driver/metal/metal_types_bridge.h index 8a081fbc7..3b1c5be8d 100644 --- a/renderdoc/driver/metal/metal_types_bridge.h +++ b/renderdoc/driver/metal/metal_types_bridge.h @@ -31,7 +31,7 @@ // clang-format off #define DECLARE_OBJC_WRAPPED_INTERFACES(CPPTYPE) \ - @interface ObjCWrappedMTL##CPPTYPE : NSObject \ + @interface ObjCBridgeMTL##CPPTYPE : NSObject \ @property(assign) WrappedMTL##CPPTYPE *wrappedCPP; \ @property(readonly) id real; \ @end diff --git a/renderdoc/driver/metal/metal_types_bridge.mm b/renderdoc/driver/metal/metal_types_bridge.mm index 8cfca1688..099b7e726 100644 --- a/renderdoc/driver/metal/metal_types_bridge.mm +++ b/renderdoc/driver/metal/metal_types_bridge.mm @@ -28,34 +28,34 @@ #include "metal_library.h" #define DEFINE_OBJC_HELPERS(CPPTYPE) \ - static ObjCWrappedMTL##CPPTYPE *GetObjC(MTL::CPPTYPE *cppType) \ + static ObjCBridgeMTL##CPPTYPE *GetObjCBridge(MTL::CPPTYPE *cppType) \ { \ if(cppType == NULL) \ { \ return NULL; \ } \ - ObjCWrappedMTL##CPPTYPE *objC = (ObjCWrappedMTL##CPPTYPE *)cppType; \ - RDCASSERT([objC isKindOfClass:[ObjCWrappedMTL##CPPTYPE class]]); \ + ObjCBridgeMTL##CPPTYPE *objC = (ObjCBridgeMTL##CPPTYPE *)cppType; \ + RDCASSERT([objC isKindOfClass:[ObjCBridgeMTL##CPPTYPE class]]); \ return objC; \ } \ \ WrappedMTL##CPPTYPE *GetWrapped(MTL::CPPTYPE *cppType) \ { \ - ObjCWrappedMTL##CPPTYPE *objC = GetObjC(cppType); \ + ObjCBridgeMTL##CPPTYPE *objC = GetObjCBridge(cppType); \ return objC.wrappedCPP; \ } \ \ MTL::CPPTYPE *GetReal(MTL::CPPTYPE *cppType) \ { \ - ObjCWrappedMTL##CPPTYPE *objC = GetObjC(cppType); \ + ObjCBridgeMTL##CPPTYPE *objC = GetObjCBridge(cppType); \ MTL::CPPTYPE *real = (MTL::CPPTYPE *)objC.real; \ return real; \ } \ \ - bool IsObjCWrapped(MTL::CPPTYPE *cppType) \ + bool IsObjCBridge(MTL::CPPTYPE *cppType) \ { \ - ObjCWrappedMTL##CPPTYPE *objC = (ObjCWrappedMTL##CPPTYPE *)cppType; \ - return [objC isKindOfClass:[ObjCWrappedMTL##CPPTYPE class]]; \ + ObjCBridgeMTL##CPPTYPE *objC = (ObjCBridgeMTL##CPPTYPE *)cppType; \ + return [objC isKindOfClass:[ObjCBridgeMTL##CPPTYPE class]]; \ } \ \ ResourceId GetId(MTL::CPPTYPE *cppType) \ @@ -68,9 +68,9 @@ return wrappedCPP->id; \ } \ \ - MTL::CPPTYPE *AllocateObjCWrapper(WrappedMTL##CPPTYPE *wrappedCPP) \ + MTL::CPPTYPE *AllocateObjCBridge(WrappedMTL##CPPTYPE *wrappedCPP) \ { \ - ObjCWrappedMTL##CPPTYPE *objC = [ObjCWrappedMTL##CPPTYPE alloc]; \ + ObjCBridgeMTL##CPPTYPE *objC = [ObjCBridgeMTL##CPPTYPE alloc]; \ objC.wrappedCPP = wrappedCPP; \ MTL::CPPTYPE *real = (MTL::CPPTYPE *)objC.real; \ if(real) \