From 1c030cdb964979bb0837a297749236a541cc80fa Mon Sep 17 00:00:00 2001 From: Yong He Date: Thu, 10 Feb 2022 13:59:53 -0800 Subject: gfx: Add `resolveQuery` command. (#2125) Co-authored-by: Yong He --- tools/gfx/vulkan/render-vk.cpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'tools/gfx/vulkan/render-vk.cpp') diff --git a/tools/gfx/vulkan/render-vk.cpp b/tools/gfx/vulkan/render-vk.cpp index 80084ae7b..d3f0329d8 100644 --- a/tools/gfx/vulkan/render-vk.cpp +++ b/tools/gfx/vulkan/render-vk.cpp @@ -4876,6 +4876,27 @@ public: } } + virtual SLANG_NO_THROW void SLANG_MCALL resolveQuery( + IQueryPool* queryPool, + uint32_t index, + uint32_t count, + IBufferResource* buffer, + uint64_t offset) override + { + auto& vkApi = m_commandBuffer->m_renderer->m_api; + auto poolImpl = static_cast(queryPool); + auto bufferImpl = static_cast(buffer); + vkApi.vkCmdCopyQueryPoolResults( + m_commandBuffer->m_commandBuffer, + poolImpl->m_pool, + index, + count, + bufferImpl->m_buffer.m_buffer, + offset, + sizeof(uint64_t), + VK_QUERY_RESULT_64_BIT | VK_QUERY_RESULT_WAIT_BIT); + } + virtual SLANG_NO_THROW void SLANG_MCALL copyTextureToBuffer( IBufferResource* dst, size_t dstOffset, -- cgit v1.2.3