diff --git a/CMakeLists.txt b/CMakeLists.txt
index 108c4e5570..ce693a0ae7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -909,8 +909,6 @@ endif()
if(ANDROID)
list(APPEND AndroidJniSource
android/jni/app-android.cpp
- android/jni/AndroidJavaGLContext.cpp
- android/jni/AndroidJavaGLContext.h
android/jni/AndroidAudio.cpp
android/jni/AndroidAudio.h
android/jni/OpenSLContext.cpp
diff --git a/Common/CMakeLists.txt b/Common/CMakeLists.txt
index 806c379841..5e1872ac30 100644
--- a/Common/CMakeLists.txt
+++ b/Common/CMakeLists.txt
@@ -170,6 +170,8 @@ add_library(Common STATIC
GPU/OpenGL/GLProfiler.h
GPU/OpenGL/DataFormatGL.cpp
GPU/OpenGL/DataFormatGL.h
+ GPU/OpenGL/OpenGLGraphicsContext.cpp
+ GPU/OpenGL/OpenGLGraphicsContext.h
GPU/Vulkan/VulkanBarrier.cpp
GPU/Vulkan/VulkanBarrier.h
GPU/Vulkan/VulkanDebug.cpp
diff --git a/Common/Common.vcxproj b/Common/Common.vcxproj
index 7586f14964..af5fee50f9 100644
--- a/Common/Common.vcxproj
+++ b/Common/Common.vcxproj
@@ -442,6 +442,7 @@
+
@@ -924,6 +925,7 @@
+
diff --git a/Common/Common.vcxproj.filters b/Common/Common.vcxproj.filters
index d5fd69f5bb..326a9bcf80 100644
--- a/Common/Common.vcxproj.filters
+++ b/Common/Common.vcxproj.filters
@@ -792,6 +792,9 @@
GPU\Vulkan
+
+ GPU\OpenGL
+
@@ -1463,6 +1466,9 @@
GPU\Vulkan
+
+ GPU\OpenGL
+
diff --git a/android/jni/AndroidJavaGLContext.cpp b/Common/GPU/OpenGL/OpenGLGraphicsContext.cpp
similarity index 71%
rename from android/jni/AndroidJavaGLContext.cpp
rename to Common/GPU/OpenGL/OpenGLGraphicsContext.cpp
index 25a4110bf1..9ae1f1471a 100644
--- a/android/jni/AndroidJavaGLContext.cpp
+++ b/Common/GPU/OpenGL/OpenGLGraphicsContext.cpp
@@ -1,26 +1,26 @@
-#include "AndroidJavaGLContext.h"
+#include "OpenGLGraphicsContext.h"
#include "Common/System/Display.h"
#include "Common/GPU/OpenGL/GLFeatures.h"
#include "Common/Log.h"
-#include "Core/Config.h"
#include "Core/ConfigValues.h"
#include "Core/System.h"
+#include "Core/Config.h"
-AndroidJavaEGLGraphicsContext::AndroidJavaEGLGraphicsContext() {
+OpenGLGraphicsContext::OpenGLGraphicsContext() {
SetGPUBackend(GPUBackend::OPENGL);
+
// OpenGL handles rotated rendering in the driver.
g_display.rotation = DisplayRotation::ROTATE_0;
g_display.rot_matrix.setIdentity();
}
-bool AndroidJavaEGLGraphicsContext::InitSurface(WindowSystem winsys, void *data1, void *data2, std::string *errorMessage) {
- INFO_LOG(Log::G3D, "AndroidJavaEGLGraphicsContext::InitFromRenderThread");
+bool OpenGLGraphicsContext::InitSurface(WindowSystem winsys, void *data1, void *data2, std::string *errorMessage) {
+ INFO_LOG(Log::G3D, "OpenGLGraphicsContext::InitSurface");
if (!CheckGLExtensions()) {
*errorMessage = "CheckExtensions failed";
ERROR_LOG(Log::G3D, "CheckGLExtensions failed - not gonna attempt starting up.");
return false;
}
-
draw_ = Draw::T3DCreateGLContext(false); // Can't fail
renderManager_ = (GLRenderManager *)draw_->GetNativeObject(Draw::NativeObject::RENDER_MANAGER);
renderManager_->SetInflightFrames(g_Config.iInflightFrames);
@@ -33,8 +33,8 @@ bool AndroidJavaEGLGraphicsContext::InitSurface(WindowSystem winsys, void *data1
return true;
}
-void AndroidJavaEGLGraphicsContext::ShutdownSurface() {
- INFO_LOG(Log::G3D, "AndroidJavaEGLGraphicsContext::Shutdown");
+void OpenGLGraphicsContext::ShutdownSurface() {
+ INFO_LOG(Log::G3D, "OpenGLGraphicsContext::Shutdown");
renderManager_ = nullptr; // owned by draw_.
delete draw_;
draw_ = nullptr;
diff --git a/android/jni/AndroidJavaGLContext.h b/Common/GPU/OpenGL/OpenGLGraphicsContext.h
similarity index 84%
rename from android/jni/AndroidJavaGLContext.h
rename to Common/GPU/OpenGL/OpenGLGraphicsContext.h
index 2caa142bbc..015514a6eb 100644
--- a/android/jni/AndroidJavaGLContext.h
+++ b/Common/GPU/OpenGL/OpenGLGraphicsContext.h
@@ -4,10 +4,10 @@
#include "Common/GPU/OpenGL/GLRenderManager.h"
#include "Common/GPU/thin3d_create.h"
-class AndroidJavaEGLGraphicsContext : public GraphicsContext {
+class OpenGLGraphicsContext : public GraphicsContext {
public:
- AndroidJavaEGLGraphicsContext();
- ~AndroidJavaEGLGraphicsContext() override { delete draw_; }
+ OpenGLGraphicsContext();
+ ~OpenGLGraphicsContext() override { delete draw_; }
bool NeedsSeparateEmuThread() const override { return true; }
diff --git a/Windows/PPSSPP.vcxproj b/Windows/PPSSPP.vcxproj
index 656dcb3d86..595d2af092 100644
--- a/Windows/PPSSPP.vcxproj
+++ b/Windows/PPSSPP.vcxproj
@@ -411,14 +411,6 @@
-
- true
- true
- true
- true
- true
- true
-
true
true
@@ -711,14 +703,6 @@
-
- true
- true
- true
- true
- true
- true
-
true
diff --git a/Windows/PPSSPP.vcxproj.filters b/Windows/PPSSPP.vcxproj.filters
index e10e94dd61..faa765ee1a 100644
--- a/Windows/PPSSPP.vcxproj.filters
+++ b/Windows/PPSSPP.vcxproj.filters
@@ -187,9 +187,6 @@
Windows\Input
-
- Other Platforms\Android
-
Other Platforms\Android
@@ -397,9 +394,6 @@
Windows\Input
-
- Other Platforms\Android
-
Other Platforms\Android
diff --git a/android/jni/Android.mk b/android/jni/Android.mk
index de4820b749..c7bcc03370 100644
--- a/android/jni/Android.mk
+++ b/android/jni/Android.mk
@@ -127,7 +127,8 @@ NATIVE_FILES :=\
$(SRC)/Common/GPU/OpenGL/GLRenderManager.cpp \
$(SRC)/Common/GPU/OpenGL/GLQueueRunner.cpp \
$(SRC)/Common/GPU/OpenGL/GLProfiler.cpp \
- $(SRC)/Common/GPU/OpenGL/DataFormatGL.cpp
+ $(SRC)/Common/GPU/OpenGL/DataFormatGL.cpp \
+ $(SRC)/Common/GPU/OpenGL/OpenGLGraphicsContext.cpp
VULKAN_FILES := \
$(SRC)/Common/GPU/Vulkan/thin3d_vulkan.cpp \
@@ -916,7 +917,6 @@ LOCAL_STATIC_LIBRARIES += ppsspp_common ppsspp_core libarmips libzstd
LOCAL_MODULE := ppsspp_jni
LOCAL_SRC_FILES := \
$(SRC)/android/jni/app-android.cpp \
- $(SRC)/android/jni/AndroidJavaGLContext.cpp \
$(SRC)/android/jni/AndroidAudio.cpp \
$(SRC)/android/jni/OpenSLContext.cpp \
$(SRC)/UI/ImDebugger/ImDebugger.cpp \
diff --git a/android/jni/app-android.cpp b/android/jni/app-android.cpp
index 9e576f5ca2..2e014b7e36 100644
--- a/android/jni/app-android.cpp
+++ b/android/jni/app-android.cpp
@@ -88,11 +88,10 @@ struct JNIEnv {};
#include "Common/GPU/Vulkan/VulkanLoader.h"
#include "Common/GPU/GraphicsContext.h"
#include "Common/GPU/Vulkan/VulkanGraphicsContext.h"
+#include "Common/GPU/OpenGL/OpenGLGraphicsContext.h"
#include "Common/StringUtils.h"
#include "Common/TimeUtil.h"
-#include "AndroidJavaGLContext.h"
-
#include "Core/CmdLine.h"
#include "Core/Config.h"
#include "Core/ConfigValues.h"
@@ -779,7 +778,7 @@ retry:
switch (g_Config.iGPUBackend) {
case (int)GPUBackend::OPENGL:
INFO_LOG(Log::System, "NativeApp.init() -- creating OpenGL context (JavaGL)");
- graphicsContext = new AndroidJavaEGLGraphicsContext();
+ graphicsContext = new OpenGLGraphicsContext();
INFO_LOG(Log::System, "NativeApp.init() - not yet launching emuthread, waiting to displayInit");
break;
case (int)GPUBackend::VULKAN: