1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2024-12-05 01:24:14 +01:00
dxvk/src/dxgi/dxgi_object.h

44 lines
939 B
C
Raw Normal View History

2017-10-11 03:09:04 +02:00
#pragma once
2017-10-11 09:51:22 +02:00
#include "dxgi_include.h"
#include "../util/com/com_private_data.h"
2017-10-11 03:09:04 +02:00
namespace dxvk {
template<typename Base>
class DxgiObject : public ComObject<Base> {
2017-10-11 03:09:04 +02:00
public:
2017-12-12 12:50:52 +01:00
HRESULT STDMETHODCALLTYPE GetPrivateData(
2018-04-14 12:02:55 +02:00
REFGUID Name,
UINT* pDataSize,
void* pData) final {
2017-10-11 03:09:04 +02:00
return m_privateData.getData(
Name, pDataSize, pData);
}
2017-12-12 12:50:52 +01:00
HRESULT STDMETHODCALLTYPE SetPrivateData(
2018-04-14 12:02:55 +02:00
REFGUID Name,
UINT DataSize,
const void* pData) final {
2017-10-11 03:09:04 +02:00
return m_privateData.setData(
Name, DataSize, pData);
}
2017-12-12 12:50:52 +01:00
HRESULT STDMETHODCALLTYPE SetPrivateDataInterface(
2018-04-14 12:02:55 +02:00
REFGUID Name,
const IUnknown* pUnknown) final {
2017-10-11 03:09:04 +02:00
return m_privateData.setInterface(
Name, pUnknown);
}
private:
2017-10-11 09:51:22 +02:00
ComPrivateData m_privateData;
2017-10-11 03:09:04 +02:00
};
}