From 1776b4e6c02567d4c163de63fce0f23da7c1040f Mon Sep 17 00:00:00 2001 From: baldurk Date: Tue, 14 Nov 2017 17:33:02 +0000 Subject: [PATCH] Declare ResourceId Qt metatype in public header so it's QVariant'able --- .../Windows/PipelineState/D3D11PipelineStateViewer.cpp | 2 -- .../Windows/PipelineState/D3D12PipelineStateViewer.cpp | 2 -- .../Windows/PipelineState/GLPipelineStateViewer.cpp | 2 -- .../Windows/PipelineState/VulkanPipelineStateViewer.cpp | 1 - qrenderdoc/Windows/ResourceInspector.cpp | 2 -- qrenderdoc/Windows/TextureViewer.cpp | 1 - renderdoc/api/replay/renderdoc_replay.h | 8 ++++++++ 7 files changed, 8 insertions(+), 10 deletions(-) diff --git a/qrenderdoc/Windows/PipelineState/D3D11PipelineStateViewer.cpp b/qrenderdoc/Windows/PipelineState/D3D11PipelineStateViewer.cpp index 34922fb16..398655f2c 100644 --- a/qrenderdoc/Windows/PipelineState/D3D11PipelineStateViewer.cpp +++ b/qrenderdoc/Windows/PipelineState/D3D11PipelineStateViewer.cpp @@ -34,8 +34,6 @@ #include "PipelineStateViewer.h" #include "ui_D3D11PipelineStateViewer.h" -Q_DECLARE_METATYPE(ResourceId); - struct D3D11VBIBTag { D3D11VBIBTag() { offset = 0; } diff --git a/qrenderdoc/Windows/PipelineState/D3D12PipelineStateViewer.cpp b/qrenderdoc/Windows/PipelineState/D3D12PipelineStateViewer.cpp index 7f1b3f77b..2c69853e4 100644 --- a/qrenderdoc/Windows/PipelineState/D3D12PipelineStateViewer.cpp +++ b/qrenderdoc/Windows/PipelineState/D3D12PipelineStateViewer.cpp @@ -34,8 +34,6 @@ #include "PipelineStateViewer.h" #include "ui_D3D12PipelineStateViewer.h" -Q_DECLARE_METATYPE(ResourceId); - struct D3D12VBIBTag { D3D12VBIBTag() { offset = 0; } diff --git a/qrenderdoc/Windows/PipelineState/GLPipelineStateViewer.cpp b/qrenderdoc/Windows/PipelineState/GLPipelineStateViewer.cpp index edefed71e..f7318d20d 100644 --- a/qrenderdoc/Windows/PipelineState/GLPipelineStateViewer.cpp +++ b/qrenderdoc/Windows/PipelineState/GLPipelineStateViewer.cpp @@ -33,8 +33,6 @@ #include "PipelineStateViewer.h" #include "ui_GLPipelineStateViewer.h" -Q_DECLARE_METATYPE(ResourceId); - struct GLVBIBTag { GLVBIBTag() { offset = 0; } diff --git a/qrenderdoc/Windows/PipelineState/VulkanPipelineStateViewer.cpp b/qrenderdoc/Windows/PipelineState/VulkanPipelineStateViewer.cpp index 8274bda20..3bf3ff299 100644 --- a/qrenderdoc/Windows/PipelineState/VulkanPipelineStateViewer.cpp +++ b/qrenderdoc/Windows/PipelineState/VulkanPipelineStateViewer.cpp @@ -33,7 +33,6 @@ #include "PipelineStateViewer.h" #include "ui_VulkanPipelineStateViewer.h" -Q_DECLARE_METATYPE(ResourceId); Q_DECLARE_METATYPE(SamplerData); struct VulkanVBIBTag diff --git a/qrenderdoc/Windows/ResourceInspector.cpp b/qrenderdoc/Windows/ResourceInspector.cpp index 8bc5f4c65..f4be4b8af 100644 --- a/qrenderdoc/Windows/ResourceInspector.cpp +++ b/qrenderdoc/Windows/ResourceInspector.cpp @@ -30,8 +30,6 @@ static const int ResourceIdRole = Qt::UserRole; static const int FilterRole = Qt::UserRole + 1; -Q_DECLARE_METATYPE(ResourceId); - class ResourceListItemModel : public QAbstractItemModel { public: diff --git a/qrenderdoc/Windows/TextureViewer.cpp b/qrenderdoc/Windows/TextureViewer.cpp index e845a6266..1ec73ea7e 100644 --- a/qrenderdoc/Windows/TextureViewer.cpp +++ b/qrenderdoc/Windows/TextureViewer.cpp @@ -55,7 +55,6 @@ float aspect(const QSizeF &s) } Q_DECLARE_METATYPE(Following); -Q_DECLARE_METATYPE(ResourceId); const Following Following::Default = Following(); diff --git a/renderdoc/api/replay/renderdoc_replay.h b/renderdoc/api/replay/renderdoc_replay.h index c45c6aa7b..b6209abd0 100644 --- a/renderdoc/api/replay/renderdoc_replay.h +++ b/renderdoc/api/replay/renderdoc_replay.h @@ -372,6 +372,10 @@ struct ResourceId bool operator!=(const ResourceId u) const { return id != u.id; } DOCUMENT("Compares two ``ResourceId`` objects for less-than."); bool operator<(const ResourceId u) const { return id < u.id; } +#if defined(RENDERDOC_QT_COMPAT) + operator QVariant() const { return QVariant::fromValue(*this); } +#endif + private: uint64_t id; @@ -380,6 +384,10 @@ private: #endif }; +#if defined(RENDERDOC_QT_COMPAT) +Q_DECLARE_METATYPE(ResourceId); +#endif + DECLARE_REFLECTION_STRUCT(ResourceId); #include "capture_options.h"