2018-08-12 00:20:17 +02:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "d3d10_util.h"
|
|
|
|
|
|
|
|
namespace dxvk {
|
|
|
|
|
2018-10-12 18:31:55 +02:00
|
|
|
class D3D10Device;
|
2018-08-12 00:20:17 +02:00
|
|
|
class D3D11Device;
|
|
|
|
class D3D11DeviceContext;
|
|
|
|
class D3D11Query;
|
|
|
|
|
|
|
|
class D3D10Query : public ID3D10Predicate {
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
2018-10-12 18:31:55 +02:00
|
|
|
D3D10Query(D3D11Query* pParent, D3D10Device* pDevice)
|
|
|
|
: m_device(pDevice), m_d3d11(pParent) { }
|
2018-08-12 00:20:17 +02:00
|
|
|
|
|
|
|
HRESULT STDMETHODCALLTYPE QueryInterface(
|
|
|
|
REFIID riid,
|
|
|
|
void** ppvObject);
|
|
|
|
|
|
|
|
ULONG STDMETHODCALLTYPE AddRef();
|
|
|
|
|
|
|
|
ULONG STDMETHODCALLTYPE Release();
|
|
|
|
|
|
|
|
void STDMETHODCALLTYPE GetDevice(
|
|
|
|
ID3D10Device** ppDevice);
|
|
|
|
|
|
|
|
HRESULT STDMETHODCALLTYPE GetPrivateData(
|
|
|
|
REFGUID guid,
|
|
|
|
UINT* pDataSize,
|
|
|
|
void* pData);
|
|
|
|
|
|
|
|
HRESULT STDMETHODCALLTYPE SetPrivateData(
|
|
|
|
REFGUID guid,
|
|
|
|
UINT DataSize,
|
|
|
|
const void* pData);
|
|
|
|
|
|
|
|
HRESULT STDMETHODCALLTYPE SetPrivateDataInterface(
|
|
|
|
REFGUID guid,
|
|
|
|
const IUnknown* pData);
|
|
|
|
|
|
|
|
void STDMETHODCALLTYPE Begin();
|
|
|
|
|
|
|
|
void STDMETHODCALLTYPE End();
|
|
|
|
|
|
|
|
HRESULT STDMETHODCALLTYPE GetData(
|
|
|
|
void* pData,
|
|
|
|
UINT DataSize,
|
|
|
|
UINT GetDataFlags);
|
|
|
|
|
|
|
|
UINT STDMETHODCALLTYPE GetDataSize();
|
|
|
|
|
|
|
|
void STDMETHODCALLTYPE GetDesc(
|
|
|
|
D3D10_QUERY_DESC* pDesc);
|
|
|
|
|
|
|
|
D3D11Query* GetD3D11Iface() {
|
|
|
|
return m_d3d11;
|
|
|
|
}
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
2018-10-12 18:31:55 +02:00
|
|
|
D3D10Device* m_device;
|
|
|
|
D3D11Query* m_d3d11;
|
2018-08-12 00:20:17 +02:00
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
}
|