diff --git a/renderdoc/core/resource_manager.cpp b/renderdoc/core/resource_manager.cpp index 558a20f88..effef15b7 100644 --- a/renderdoc/core/resource_manager.cpp +++ b/renderdoc/core/resource_manager.cpp @@ -53,6 +53,20 @@ void SetReplayResourceIDs() INSTANTIATE_SERIALISE_TYPE(ResourceManagerInternal::WrittenRecord); +template <> +std::string DoStringise(const FrameRefType &el) +{ + BEGIN_ENUM_STRINGISE(FrameRefType) + { + STRINGISE_ENUM_CLASS_NAMED(eFrameRef_None, "None"); + STRINGISE_ENUM_CLASS_NAMED(eFrameRef_PartialWrite, "Partial Write"); + STRINGISE_ENUM_CLASS_NAMED(eFrameRef_CompleteWrite, "Complete Write"); + STRINGISE_ENUM_CLASS_NAMED(eFrameRef_Read, "Read"); + STRINGISE_ENUM_CLASS_NAMED(eFrameRef_ReadBeforeWrite, "Read Before Write"); + } + END_ENUM_STRINGISE() +} + FrameRefType ComposeFrameRefs(FrameRefType first, FrameRefType second) { RDCASSERT(eFrameRef_Minimum <= first && first <= eFrameRef_Maximum); diff --git a/renderdoc/core/resource_manager.h b/renderdoc/core/resource_manager.h index 48d6c1261..bc166e30e 100644 --- a/renderdoc/core/resource_manager.h +++ b/renderdoc/core/resource_manager.h @@ -100,6 +100,8 @@ enum FrameRefType const FrameRefType eFrameRef_Minimum = eFrameRef_None; const FrameRefType eFrameRef_Maximum = eFrameRef_ReadBeforeWrite; +DECLARE_REFLECTION_ENUM(FrameRefType); + // Compose frame refs that occur in a known order. // This can be thought of as a state (`first`) and a transition from that state // (`second`), returning the new state (see the state diagram for