mirror of
https://github.com/doitsujin/dxvk.git
synced 2024-12-14 00:48:44 +01:00
47 lines
1002 B
C
47 lines
1002 B
C
|
#pragma once
|
||
|
|
||
|
#include <dxgi_device.h>
|
||
|
|
||
|
#include "d3d11_include.h"
|
||
|
|
||
|
#include "../dxgi/dxgi_interfaces.h"
|
||
|
#include "../dxgi/dxgi_resource.h"
|
||
|
|
||
|
namespace dxvk {
|
||
|
|
||
|
class D3D11Device;
|
||
|
|
||
|
class D3D11PresentDevice : public ComObject<IDXGIPresentDevicePrivate> {
|
||
|
|
||
|
public:
|
||
|
|
||
|
D3D11PresentDevice();
|
||
|
~D3D11PresentDevice();
|
||
|
|
||
|
HRESULT QueryInterface(
|
||
|
REFIID riid,
|
||
|
void** ppvObject) final;
|
||
|
|
||
|
HRESULT WrapSwapChainBackBuffer(
|
||
|
IDXGIImageResourcePrivate* pResource,
|
||
|
const DXGI_SWAP_CHAIN_DESC* pSwapChainDesc,
|
||
|
IUnknown** ppInterface) final;
|
||
|
|
||
|
HRESULT FlushRenderingCommands() final;
|
||
|
|
||
|
HRESULT GetDevice(
|
||
|
REFGUID riid,
|
||
|
void** ppvDevice) final;
|
||
|
|
||
|
void SetDeviceLayer(D3D11Device* pDevice) {
|
||
|
m_device = pDevice;
|
||
|
}
|
||
|
|
||
|
private:
|
||
|
|
||
|
D3D11Device* m_device = nullptr;
|
||
|
|
||
|
};
|
||
|
|
||
|
}
|