summaryrefslogtreecommitdiff
path: root/tools/gfx/renderer-shared.h
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2021-07-08 13:30:17 -0700
committerGitHub <noreply@github.com>2021-07-08 16:30:17 -0400
commit09950676b3f73bb9967aea183d27a30d63098475 (patch)
treeaba3e69b72554b07da1188fd44d5f3ce3d90da26 /tools/gfx/renderer-shared.h
parent06c4926ec51ce9548f2dc44ee948a467d588def8 (diff)
Implement gfx inline ray tracing on D3D12. (#1902)
* Update VS projects to 2019. * Empty commit to trigger build * Implement gfx inline ray tracing on D3D12.
Diffstat (limited to 'tools/gfx/renderer-shared.h')
-rw-r--r--tools/gfx/renderer-shared.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/tools/gfx/renderer-shared.h b/tools/gfx/renderer-shared.h
index e3580b9b6..6863a95a0 100644
--- a/tools/gfx/renderer-shared.h
+++ b/tools/gfx/renderer-shared.h
@@ -245,22 +245,30 @@ protected:
Desc m_desc;
};
+class ResourceViewInternalBase : public Slang::ComObject
+{};
+
class ResourceViewBase
: public IResourceView
- , public Slang::ComObject
+ , public ResourceViewInternalBase
{
public:
+ Desc m_desc = {};
SLANG_COM_OBJECT_IUNKNOWN_ALL
IResourceView* getInterface(const Slang::Guid& guid);
+ virtual SLANG_NO_THROW Desc* SLANG_MCALL getViewDesc() override { return &m_desc; }
};
class AccelerationStructureBase
: public IAccelerationStructure
- , public Slang::ComObject
+ , public ResourceViewInternalBase
{
public:
+ IResourceView::Desc m_desc = {};
+
SLANG_COM_OBJECT_IUNKNOWN_ALL
IAccelerationStructure* getInterface(const Slang::Guid& guid);
+ virtual SLANG_NO_THROW Desc* SLANG_MCALL getViewDesc() override { return &m_desc; }
};
class RendererBase;