Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
hrydgard
GitHub Repository: hrydgard/ppsspp
Path: blob/master/libretro/LibretroGLCoreContext.h
5756 views
1
#pragma once
2
3
#include "Common/GPU/OpenGL/GLCommon.h"
4
#include "libretro/LibretroGraphicsContext.h"
5
#include "Common/GPU/OpenGL/GLRenderManager.h"
6
7
class LibretroGLCoreContext : public LibretroHWRenderContext {
8
public:
9
LibretroGLCoreContext()
10
: LibretroHWRenderContext(RETRO_HW_CONTEXT_OPENGL_CORE, 3, 1)
11
{
12
hw_render_.bottom_left_origin = true;
13
}
14
15
bool Init() override;
16
void CreateDrawContext() override;
17
void DestroyDrawContext() override;
18
void SetRenderTarget() override {
19
extern GLuint g_defaultFBO;
20
g_defaultFBO = hw_render_.get_current_framebuffer();
21
}
22
23
void ThreadStart() override { renderManager_->ThreadStart(draw_); }
24
bool ThreadFrame(bool waitIfEmpty) override { return renderManager_->ThreadFrame(waitIfEmpty); }
25
void ThreadEnd() override { renderManager_->ThreadEnd(); }
26
27
GPUCore GetGPUCore() override { return GPUCORE_GLES; }
28
const char *Ident() override { return "OpenGL Core"; }
29
30
private:
31
GLRenderManager *renderManager_ = nullptr;
32
bool glewInitDone = false;
33
};
34
35