summaryrefslogtreecommitdiffstats
path: root/Graphics/GraphicsEngineD3D12
diff options
context:
space:
mode:
authorassiduous <assiduous@diligentgraphics.com>2020-07-23 22:24:54 +0000
committerassiduous <assiduous@diligentgraphics.com>2020-08-02 19:21:32 +0000
commita78add37a57b51d80ef2fd21a7a0799ba73dd937 (patch)
tree76bf8bf0afdc1bc872cdda0bcbcf3e973bcbdaa9 /Graphics/GraphicsEngineD3D12
parentSwitched to using Volk on Windows (https://github.com/DiligentGraphics/Dilige... (diff)
downloadDiligentCore-a78add37a57b51d80ef2fd21a7a0799ba73dd937.tar.gz
DiligentCore-a78add37a57b51d80ef2fd21a7a0799ba73dd937.zip
Added Render pass interface stub
Diffstat (limited to 'Graphics/GraphicsEngineD3D12')
-rw-r--r--Graphics/GraphicsEngineD3D12/include/RenderDeviceD3D12Impl.hpp4
-rw-r--r--Graphics/GraphicsEngineD3D12/src/RenderDeviceD3D12Impl.cpp11
2 files changed, 15 insertions, 0 deletions
diff --git a/Graphics/GraphicsEngineD3D12/include/RenderDeviceD3D12Impl.hpp b/Graphics/GraphicsEngineD3D12/include/RenderDeviceD3D12Impl.hpp
index 303f8bfb..3e0e841b 100644
--- a/Graphics/GraphicsEngineD3D12/include/RenderDeviceD3D12Impl.hpp
+++ b/Graphics/GraphicsEngineD3D12/include/RenderDeviceD3D12Impl.hpp
@@ -92,6 +92,10 @@ public:
/// Implementation of IRenderDevice::CreateQuery() in Direct3D12 backend.
virtual void DILIGENT_CALL_TYPE CreateQuery(const QueryDesc& Desc, IQuery** ppQuery) override final;
+ /// Implementation of IRenderDevice::CreateRenderPass() in Direct3D12 backend.
+ virtual void DILIGENT_CALL_TYPE CreateRenderPass(const RenderPassDesc& Desc,
+ IRenderPass** ppRenderPass) override final;
+
/// Implementation of IRenderDeviceD3D12::GetD3D12Device().
virtual ID3D12Device* DILIGENT_CALL_TYPE GetD3D12Device() override final { return m_pd3d12Device; }
diff --git a/Graphics/GraphicsEngineD3D12/src/RenderDeviceD3D12Impl.cpp b/Graphics/GraphicsEngineD3D12/src/RenderDeviceD3D12Impl.cpp
index 0315f7f0..a37f32cf 100644
--- a/Graphics/GraphicsEngineD3D12/src/RenderDeviceD3D12Impl.cpp
+++ b/Graphics/GraphicsEngineD3D12/src/RenderDeviceD3D12Impl.cpp
@@ -522,6 +522,17 @@ void RenderDeviceD3D12Impl::CreateQuery(const QueryDesc& Desc, IQuery** ppQuery)
});
}
+void RenderDeviceD3D12Impl::CreateRenderPass(const RenderPassDesc& Desc, IRenderPass** ppRenderPass)
+{
+ //CreateDeviceObject("RenderPass", Desc, ppRenderPass,
+ // [&]() //
+ // {
+ // RenderPassD3D12Impl* pRenderPassD3D12(NEW_RC_OBJ(m_RenderPassAllocator, "RenderPassD3D12Impl instance", RenderPassD3D12Impl)(this, Desc));
+ // pRenderPassD3D12->RenderPassInterface(IID_RenderPass, reinterpret_cast<IObject**>(ppRenderPass));
+ // OnCreateDeviceObject(pRenderPassD3D12);
+ // });
+}
+
DescriptorHeapAllocation RenderDeviceD3D12Impl::AllocateDescriptor(D3D12_DESCRIPTOR_HEAP_TYPE Type, UINT Count /*= 1*/)
{
VERIFY(Type >= D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV && Type < D3D12_DESCRIPTOR_HEAP_TYPE_NUM_TYPES, "Invalid heap type");