duckstation/src/duckstation-libretro/libretro_opengl_host_display.h
Connor McLaughlin 861b98ed3b libretro: Additional work
- Reliable resolution switching.
 - Hook up logging.
 - Memory cards and controller type settings.
 - Save state support.
 - Direct3D support.
2020-06-30 03:03:56 +10:00

32 lines
817 B
C++

#pragma once
#include "common/gl/program.h"
#include "common/gl/texture.h"
#include "core/host_display.h"
#include "frontend-common/opengl_host_display.h"
#include "libretro.h"
#include <string>
#include <memory>
class LibretroOpenGLHostDisplay final : public FrontendCommon::OpenGLHostDisplay
{
public:
LibretroOpenGLHostDisplay();
~LibretroOpenGLHostDisplay();
static bool RequestHardwareRendererContext(retro_hw_render_callback* cb);
RenderAPI GetRenderAPI() const override;
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 m_is_gles = false;
};