CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutSign UpSign In
hrydgard

CoCalc provides the best real-time collaborative environment for Jupyter Notebooks, LaTeX documents, and SageMath, scalable from individual users to large groups and classes!

GitHub Repository: hrydgard/ppsspp
Path: blob/master/libretro/LibretroGLCoreContext.h
Views: 1401
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() override { return renderManager_->ThreadFrame(); }
25
void ThreadEnd() override { renderManager_->ThreadEnd(); }
26
void StopThread() override {
27
renderManager_->StopThread();
28
}
29
30
GPUCore GetGPUCore() override { return GPUCORE_GLES; }
31
const char *Ident() override { return "OpenGL Core"; }
32
33
private:
34
GLRenderManager *renderManager_ = nullptr;
35
bool glewInitDone = false;
36
};
37
38