ppsspp/libretro/LibretroD3D11Context.h
2018-03-26 17:37:34 +01:00

28 lines
822 B
C++

#pragma once
#define HAVE_D3D11
#include "libretro/libretro_d3d.h"
#include "libretro/LibretroGraphicsContext.h"
class LibretroD3D11Context : public LibretroHWRenderContext {
public:
LibretroD3D11Context() : LibretroHWRenderContext(RETRO_HW_CONTEXT_DIRECT3D, 11) {}
bool Init() override;
void SwapBuffers() override;
void GotBackbuffer() override;
void LostBackbuffer() override;
void CreateDrawContext() override;
void DestroyDrawContext() override;
GPUCore GetGPUCore() override { return GPUCORE_DIRECTX11; }
const char *Ident() override { return "DirectX 11"; }
private:
retro_hw_render_interface_d3d11 *d3d11_ = nullptr;
ID3D11Texture2D *texture_ = nullptr;
ID3D11RenderTargetView *RTView_ = nullptr;
ID3D11ShaderResourceView *SRView_ = nullptr;
DXGI_FORMAT format_ = DXGI_FORMAT_R8G8B8A8_UNORM;
};