Make D3D12QueryHeap implement IQueryHeap interface

This commit is contained in:
2026-03-16 00:04:06 +08:00
parent 37750fda7d
commit 068fea77f4

View File

@@ -4,6 +4,7 @@
#include <wrl/client.h> #include <wrl/client.h>
#include <cstdint> #include <cstdint>
#include "../DescriptorHeap.h"
#include "D3D12Enum.h" #include "D3D12Enum.h"
using Microsoft::WRL::ComPtr; using Microsoft::WRL::ComPtr;
@@ -11,7 +12,7 @@ using Microsoft::WRL::ComPtr;
namespace XCEngine { namespace XCEngine {
namespace RHI { namespace RHI {
class D3D12QueryHeap { class D3D12QueryHeap : public IQueryHeap {
public: public:
D3D12QueryHeap(); D3D12QueryHeap();
~D3D12QueryHeap(); ~D3D12QueryHeap();
@@ -20,8 +21,10 @@ public:
void Shutdown(); void Shutdown();
ID3D12QueryHeap* GetQueryHeap() const { return m_queryHeap.Get(); } ID3D12QueryHeap* GetQueryHeap() const { return m_queryHeap.Get(); }
QueryType GetType() const { return m_type; }
uint32_t GetCount() const { return m_count; } void* GetNativeHandle() const override { return m_queryHeap.Get(); }
QueryType GetType() const override { return m_type; }
uint32_t GetCount() const override { return m_count; }
private: private:
ComPtr<ID3D12QueryHeap> m_queryHeap; ComPtr<ID3D12QueryHeap> m_queryHeap;