libretro: Additional work

- Reliable resolution switching.
 - Hook up logging.
 - Memory cards and controller type settings.
 - Save state support.
 - Direct3D support.
This commit is contained in:
Connor McLaughlin
2020-06-30 02:47:27 +10:00
parent 2a38090e7a
commit 861b98ed3b
18 changed files with 774 additions and 897 deletions

View File

@@ -0,0 +1,27 @@
#pragma once
#include "common/d3d11/texture.h"
#include "frontend-common/d3d11_host_display.h"
#include "libretro.h"
class LibretroD3D11HostDisplay final : public FrontendCommon::D3D11HostDisplay
{
public:
LibretroD3D11HostDisplay();
~LibretroD3D11HostDisplay();
static bool RequestHardwareRendererContext(retro_hw_render_callback* cb);
bool CreateRenderDevice(const WindowInfo& wi, std::string_view adapter_name, bool debug_device) override;
void DestroyRenderDevice();
void ResizeRenderWindow(s32 new_window_width, s32 new_window_height) override;
void SetVSync(bool enabled) override;
bool Render() override;
private:
bool CheckFramebufferSize(u32 width, u32 height);
D3D11::Texture m_framebuffer;
};