From 362d1a46b33edbb8c7392eab308f2389810bf0f7 Mon Sep 17 00:00:00 2001 From: Jake Turner Date: Wed, 18 May 2022 21:09:29 +0100 Subject: [PATCH] Change serialization name for RDMTL structs Changed from "RDMTL::TYPE" -> "MTLTYPE" to better match the Metal type name Rename RDMTL::FunctionGroups -> RDMTL::FunctionGroup --- renderdoc/driver/metal/metal_serialise.cpp | 4 +-- renderdoc/driver/metal/metal_types.cpp | 4 +-- renderdoc/driver/metal/metal_types.h | 31 ++++++++++++++-------- 3 files changed, 24 insertions(+), 15 deletions(-) diff --git a/renderdoc/driver/metal/metal_serialise.cpp b/renderdoc/driver/metal/metal_serialise.cpp index f106d364f..bfb811df7 100644 --- a/renderdoc/driver/metal/metal_serialise.cpp +++ b/renderdoc/driver/metal/metal_serialise.cpp @@ -166,7 +166,7 @@ void DoSerialise(SerialiserType &ser, RDMTL::VertexDescriptor &el) } template -void DoSerialise(SerialiserType &ser, RDMTL::FunctionGroups &el) +void DoSerialise(SerialiserType &ser, RDMTL::FunctionGroup &el) { SERIALISE_MEMBER(callsite); SERIALISE_MEMBER(functions); @@ -229,6 +229,6 @@ INSTANTIATE_SERIALISE_TYPE(RDMTL::PipelineBufferDescriptor); INSTANTIATE_SERIALISE_TYPE(RDMTL::VertexAttributeDescriptor); INSTANTIATE_SERIALISE_TYPE(RDMTL::VertexBufferLayoutDescriptor); INSTANTIATE_SERIALISE_TYPE(RDMTL::VertexDescriptor); -INSTANTIATE_SERIALISE_TYPE(RDMTL::FunctionGroups); +INSTANTIATE_SERIALISE_TYPE(RDMTL::FunctionGroup); INSTANTIATE_SERIALISE_TYPE(RDMTL::LinkedFunctions); INSTANTIATE_SERIALISE_TYPE(RDMTL::RenderPipelineDescriptor); diff --git a/renderdoc/driver/metal/metal_types.cpp b/renderdoc/driver/metal/metal_types.cpp index 930477396..e0bd7ef01 100644 --- a/renderdoc/driver/metal/metal_types.cpp +++ b/renderdoc/driver/metal/metal_types.cpp @@ -280,7 +280,7 @@ LinkedFunctions::LinkedFunctions(MTL::LinkedFunctions *objc) NS::Array *funcs = (NS::Array *)objcGroups->object(key); int countFuncs = funcs->count(); - FunctionGroups &funcGroup = groups[i]; + FunctionGroup &funcGroup = groups[i]; funcGroup.callsite.assign(key->utf8String()); funcGroup.functions.resize(countFuncs); for(int j = 0; j < countFuncs; ++j) @@ -305,7 +305,7 @@ void LinkedFunctions::CopyTo(MTL::LinkedFunctions *objc) rdcarray keys(countKeys); for(int i = 0; i < countKeys; ++i) { - FunctionGroups &funcGroup = groups[i]; + FunctionGroup &funcGroup = groups[i]; keys[i] = NS::String::string(funcGroup.callsite.data(), NS::UTF8StringEncoding); values[i] = CreateUnwrappedNSArray(funcGroup.functions); } diff --git a/renderdoc/driver/metal/metal_types.h b/renderdoc/driver/metal/metal_types.h index 0a11bd687..e7d9f7d2e 100644 --- a/renderdoc/driver/metal/metal_types.h +++ b/renderdoc/driver/metal/metal_types.h @@ -189,7 +189,7 @@ struct VertexDescriptor rdcarray attributes; }; -struct FunctionGroups +struct FunctionGroup { rdcstr callsite; rdcarray functions; @@ -204,7 +204,7 @@ struct LinkedFunctions void CopyTo(MTL::LinkedFunctions *objc); rdcarray functions; rdcarray binaryFunctions; - rdcarray groups; + rdcarray groups; rdcarray privateFunctions; }; @@ -264,12 +264,21 @@ inline rdcliteral TypeName() template void DoSerialise(SerialiserType &ser, NS::String *&el); -DECLARE_REFLECTION_STRUCT(RDMTL::TextureDescriptor); -DECLARE_REFLECTION_STRUCT(RDMTL::RenderPipelineColorAttachmentDescriptor); -DECLARE_REFLECTION_STRUCT(RDMTL::PipelineBufferDescriptor); -DECLARE_REFLECTION_STRUCT(RDMTL::VertexAttributeDescriptor); -DECLARE_REFLECTION_STRUCT(RDMTL::VertexBufferLayoutDescriptor); -DECLARE_REFLECTION_STRUCT(RDMTL::VertexDescriptor); -DECLARE_REFLECTION_STRUCT(RDMTL::FunctionGroups); -DECLARE_REFLECTION_STRUCT(RDMTL::LinkedFunctions); -DECLARE_REFLECTION_STRUCT(RDMTL::RenderPipelineDescriptor); +#define RDMTL_DECLARE_REFLECTION_STRUCT(TYPE) \ + template <> \ + inline rdcliteral TypeName() \ + { \ + return STRING_LITERAL(STRINGIZE(MTL##TYPE)); \ + } \ + template \ + void DoSerialise(SerialiserType &ser, RDMTL::TYPE &el); + +RDMTL_DECLARE_REFLECTION_STRUCT(TextureDescriptor); +RDMTL_DECLARE_REFLECTION_STRUCT(RenderPipelineColorAttachmentDescriptor); +RDMTL_DECLARE_REFLECTION_STRUCT(PipelineBufferDescriptor); +RDMTL_DECLARE_REFLECTION_STRUCT(VertexAttributeDescriptor); +RDMTL_DECLARE_REFLECTION_STRUCT(VertexBufferLayoutDescriptor); +RDMTL_DECLARE_REFLECTION_STRUCT(VertexDescriptor); +RDMTL_DECLARE_REFLECTION_STRUCT(FunctionGroup); +RDMTL_DECLARE_REFLECTION_STRUCT(LinkedFunctions); +RDMTL_DECLARE_REFLECTION_STRUCT(RenderPipelineDescriptor);