From 49be75e82241dbd5aa8959dcc4d3ba39a8a7a28c Mon Sep 17 00:00:00 2001 From: assiduous Date: Thu, 27 Aug 2020 12:33:45 -0700 Subject: Implemented duration queries in Vulkan --- Graphics/GraphicsEngineD3D12/include/QueryD3D12Impl.hpp | 4 +++- Graphics/GraphicsEngineD3D12/src/QueryD3D12Impl.cpp | 6 +++--- 2 files changed, 6 insertions(+), 4 deletions(-) (limited to 'Graphics/GraphicsEngineD3D12') diff --git a/Graphics/GraphicsEngineD3D12/include/QueryD3D12Impl.hpp b/Graphics/GraphicsEngineD3D12/include/QueryD3D12Impl.hpp index 7170a720..ab31743f 100644 --- a/Graphics/GraphicsEngineD3D12/include/QueryD3D12Impl.hpp +++ b/Graphics/GraphicsEngineD3D12/include/QueryD3D12Impl.hpp @@ -30,6 +30,7 @@ /// \file /// Declaration of Diligent::QueryD3D12Impl class +#include #include "QueryD3D12.h" #include "QueryBase.hpp" #include "RenderDeviceD3D12Impl.hpp" @@ -73,7 +74,8 @@ public: bool OnEndQuery(IDeviceContext* pContext); private: - Uint32 m_QueryHeapIndex[2] = {~Uint32{0}, ~Uint32{0}}; + std::array m_QueryHeapIndex = {QueryManagerD3D12::InvalidIndex, QueryManagerD3D12::InvalidIndex}; + Uint64 m_QueryEndFenceValue = 0; }; diff --git a/Graphics/GraphicsEngineD3D12/src/QueryD3D12Impl.cpp b/Graphics/GraphicsEngineD3D12/src/QueryD3D12Impl.cpp index 37337e53..30c9c4c4 100644 --- a/Graphics/GraphicsEngineD3D12/src/QueryD3D12Impl.cpp +++ b/Graphics/GraphicsEngineD3D12/src/QueryD3D12Impl.cpp @@ -60,11 +60,11 @@ QueryD3D12Impl::QueryD3D12Impl(IReferenceCounters* pRefCounters, QueryD3D12Impl::~QueryD3D12Impl() { auto& QueryMgr = m_pDevice->GetQueryManager(); - for (Uint32 i = 0; i < _countof(m_QueryHeapIndex); ++i) + for (auto HeapIdx : m_QueryHeapIndex) { - if (m_QueryHeapIndex[i] != QueryManagerD3D12::InvalidIndex) + if (HeapIdx != QueryManagerD3D12::InvalidIndex) { - QueryMgr.ReleaseQuery(m_Desc.Type, m_QueryHeapIndex[i]); + QueryMgr.ReleaseQuery(m_Desc.Type, HeapIdx); } } } -- cgit v1.2.3