Go to the documentation of this file.
48 const Uint32 QueryHeapSizes[]);
65 return m_Heaps[
Type].pd3d12QueryHeap;
75 CComPtr<ID3D12QueryHeap> pd3d12QueryHeap;
76 std::deque<Uint32> AvailableQueries;
77 std::vector<Uint32> ResolveBufferOffsets;
80 Uint32 MaxAllocatedQueries = 0;
83 std::mutex m_HeapMutex;
84 std::array<QueryHeapInfo, QUERY_TYPE_NUM_TYPES> m_Heaps;
87 CComPtr<ID3D12Resource> m_pd3d12ResolveBuffer;
~QueryManagerD3D12()
Definition: QueryManagerD3D12.cpp:140
QueryManagerD3D12 & operator=(const QueryManagerD3D12 &)=delete
void BeginQuery(CommandContext &Ctx, QUERY_TYPE Type, Uint32 Index)
Definition: QueryManagerD3D12.cpp:203
void EndQuery(CommandContext &Ctx, QUERY_TYPE Type, Uint32 Index)
Definition: QueryManagerD3D12.cpp:209
QueryManagerD3D12(ID3D12Device *pd3d12Device, const Uint32 QueryHeapSizes[])
Definition: QueryManagerD3D12.cpp:67
void ReadQueryData(QUERY_TYPE Type, Uint32 Index, void *pDataPtr, Uint32 DataSize) const
Definition: QueryManagerD3D12.cpp:219
Definition: CommandContext.hpp:66
static constexpr Uint32 InvalidIndex
Definition: QueryManagerD3D12.hpp:58
Uint32 AllocateQuery(QUERY_TYPE Type)
Definition: QueryManagerD3D12.cpp:171
const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE Type
Definition: PipelineStateD3D12Impl.cpp:69
uint32_t Uint32
32-bit unsigned integer
Definition: BasicTypes.h:51
ID3D12QueryHeap * GetQueryHeap(QUERY_TYPE Type)
Definition: QueryManagerD3D12.hpp:63
QUERY_TYPE
Query type.
Definition: GraphicsTypes.h:1446
Definition: QueryManagerD3D12.hpp:44
The library uses Direct3D-style math:
Definition: AdvancedMath.hpp:37
void ReleaseQuery(QUERY_TYPE Type, Uint32 Index)
Definition: QueryManagerD3D12.cpp:188