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 {
|
|
|
|
|
2019-10-14 01:42:07 +02:00
|
|
|
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
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
}
|