1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2024-12-14 09:23:53 +01:00
dxvk/src/d3d11/d3d11_texture.cpp

66 lines
1.8 KiB
C++
Raw Normal View History

2017-11-27 15:52:24 +01:00
#include "d3d11_device.h"
#include "d3d11_texture.h"
namespace dxvk {
D3D11Texture2D::D3D11Texture2D(
D3D11Device* device,
IDXGIImageResourcePrivate* resource,
DxgiFormatMode formatMode,
const D3D11_TEXTURE2D_DESC& desc)
: m_device (device),
m_resource (resource),
m_formatMode(formatMode),
m_desc (desc) {
2017-11-27 15:52:24 +01:00
}
D3D11Texture2D::~D3D11Texture2D() {
}
2017-12-12 12:50:52 +01:00
HRESULT STDMETHODCALLTYPE D3D11Texture2D::QueryInterface(REFIID riid, void** ppvObject) {
2017-11-27 15:52:24 +01:00
COM_QUERY_IFACE(riid, ppvObject, IUnknown);
COM_QUERY_IFACE(riid, ppvObject, ID3D11DeviceChild);
2017-11-27 15:52:24 +01:00
COM_QUERY_IFACE(riid, ppvObject, ID3D11Resource);
COM_QUERY_IFACE(riid, ppvObject, ID3D11Texture2D);
if (riid == __uuidof(IDXGIResource)
|| riid == __uuidof(IDXGIImageResourcePrivate))
return m_resource->QueryInterface(riid, ppvObject);
2017-11-27 15:52:24 +01:00
Logger::warn("D3D11Texture2D::QueryInterface: Unknown interface query");
return E_NOINTERFACE;
}
2017-12-12 12:50:52 +01:00
void STDMETHODCALLTYPE D3D11Texture2D::GetDevice(ID3D11Device** ppDevice) {
*ppDevice = m_device.ref();
2017-11-27 15:52:24 +01:00
}
2017-12-12 12:50:52 +01:00
void STDMETHODCALLTYPE D3D11Texture2D::GetType(D3D11_RESOURCE_DIMENSION *pResourceDimension) {
2017-11-27 15:52:24 +01:00
*pResourceDimension = D3D11_RESOURCE_DIMENSION_TEXTURE2D;
}
2017-12-12 12:50:52 +01:00
UINT STDMETHODCALLTYPE D3D11Texture2D::GetEvictionPriority() {
UINT EvictionPriority = DXGI_RESOURCE_PRIORITY_NORMAL;
m_resource->GetEvictionPriority(&EvictionPriority);
return EvictionPriority;
}
2017-12-12 12:50:52 +01:00
void STDMETHODCALLTYPE D3D11Texture2D::SetEvictionPriority(UINT EvictionPriority) {
m_resource->SetEvictionPriority(EvictionPriority);
}
2017-12-12 12:50:52 +01:00
void STDMETHODCALLTYPE D3D11Texture2D::GetDesc(D3D11_TEXTURE2D_DESC *pDesc) {
2017-11-27 15:52:24 +01:00
*pDesc = m_desc;
}
}