summaryrefslogtreecommitdiff
path: root/tools/gfx/d3d12/render-d3d12.h
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2022-03-11 11:57:53 -0800
committerGitHub <noreply@github.com>2022-03-11 11:57:53 -0800
commit0890fd8f2e485bfdd93ff6227be08ff4142e55d1 (patch)
treebe8d2381d0f0e96b267428046dcad815fcafd245 /tools/gfx/d3d12/render-d3d12.h
parentf6c2a0f81340a0efd10e286a3cbe33e1b564a11b (diff)
gfx: Add `ITransientResourceHeap::finish()` to avoid `Signal` after every queue submit. (#2158)
Co-authored-by: Yong He <yhe@nvidia.com>
Diffstat (limited to 'tools/gfx/d3d12/render-d3d12.h')
-rw-r--r--tools/gfx/d3d12/render-d3d12.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/tools/gfx/d3d12/render-d3d12.h b/tools/gfx/d3d12/render-d3d12.h
index 3ef4a84a7..2cb9a3fd3 100644
--- a/tools/gfx/d3d12/render-d3d12.h
+++ b/tools/gfx/d3d12/render-d3d12.h
@@ -490,9 +490,11 @@ public:
{
uint64_t waitValue;
HANDLE fenceEvent;
+ ComPtr<ID3D12CommandQueue> queue;
ComPtr<ID3D12Fence> fence = nullptr;
};
ShortList<QueueWaitInfo, 4> m_waitInfos;
+ Array<HANDLE, 16> m_waitHandles;
QueueWaitInfo& getQueueWaitInfo(uint32_t queueIndex);
// During command submission, we need all the descriptor tables that get
@@ -545,6 +547,8 @@ public:
createCommandBuffer(ICommandBuffer** outCommandBuffer) override;
virtual SLANG_NO_THROW Result SLANG_MCALL synchronizeAndReset() override;
+
+ virtual SLANG_NO_THROW Result SLANG_MCALL finish() override;
};
struct Submitter