diff --git a/CMakeLists.txt b/CMakeLists.txt
index db7df5cdbe..9023872106 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1105,8 +1105,6 @@ if(ANDROID)
set(NativeAppSource ${NativeAppSource}
android/jni/app-android.cpp
- android/jni/AndroidEGLContext.cpp
- android/jni/AndroidEGLContext.h
android/jni/AndroidJavaGLContext.cpp
android/jni/AndroidJavaGLContext.h
android/jni/AndroidVulkanContext.cpp
diff --git a/Common/GPU/OpenGL/thin3d_gl.cpp b/Common/GPU/OpenGL/thin3d_gl.cpp
index 839a1e3a23..b2394c3cfa 100644
--- a/Common/GPU/OpenGL/thin3d_gl.cpp
+++ b/Common/GPU/OpenGL/thin3d_gl.cpp
@@ -764,7 +764,6 @@ OpenGLContext::OpenGLContext() {
}
OpenGLContext::~OpenGLContext() {
- DestroyPresets();
for (int i = 0; i < GLRenderManager::MAX_INFLIGHT_FRAMES; i++) {
renderManager_.DeletePushBuffer(frameData_[i].push);
}
diff --git a/UI/NativeApp.cpp b/UI/NativeApp.cpp
index d043883544..06dc99da88 100644
--- a/UI/NativeApp.cpp
+++ b/UI/NativeApp.cpp
@@ -252,13 +252,6 @@ std::string NativeQueryConfig(std::string query) {
int max_res = std::max(System_GetPropertyInt(SYSPROP_DISPLAY_XRES), System_GetPropertyInt(SYSPROP_DISPLAY_YRES)) / 480 + 1;
snprintf(temp, sizeof(temp), "%d", std::min(scale, max_res));
return std::string(temp);
- } else if (query == "androidJavaGL") {
- // If we're using Vulkan, we say no... need C++ to use Vulkan.
- if (GetGPUBackend() == GPUBackend::VULKAN) {
- return "false";
- }
- // Otherwise, some devices prefer the Java init so play it safe.
- return "true";
} else if (query == "sustainedPerformanceMode") {
return std::string(g_Config.bSustainedPerformanceMode ? "1" : "0");
} else {
diff --git a/Windows/PPSSPP.vcxproj b/Windows/PPSSPP.vcxproj
index 9c637788ae..659056d695 100644
--- a/Windows/PPSSPP.vcxproj
+++ b/Windows/PPSSPP.vcxproj
@@ -540,16 +540,6 @@
-
- true
- true
- true
- true
- true
- true
- true
- true
-
true
true
@@ -966,16 +956,6 @@
-
- true
- true
- true
- true
- true
- true
- true
- true
-
true
true
diff --git a/Windows/PPSSPP.vcxproj.filters b/Windows/PPSSPP.vcxproj.filters
index 6649ca6aa4..b5f7795084 100644
--- a/Windows/PPSSPP.vcxproj.filters
+++ b/Windows/PPSSPP.vcxproj.filters
@@ -196,9 +196,6 @@
Windows\System
-
- Other Platforms\Android
-
Other Platforms\Android
@@ -415,9 +412,6 @@
Windows\System
-
- Other Platforms\Android
-
Other Platforms\Android
diff --git a/android/jni/Android.mk b/android/jni/Android.mk
index 5168e0c8d7..5226ce678d 100644
--- a/android/jni/Android.mk
+++ b/android/jni/Android.mk
@@ -681,7 +681,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/AndroidEGLContext.cpp \
$(SRC)/android/jni/AndroidJavaGLContext.cpp \
$(SRC)/android/jni/AndroidVulkanContext.cpp \
$(SRC)/android/jni/AndroidAudio.cpp \
diff --git a/android/jni/AndroidEGLContext.cpp b/android/jni/AndroidEGLContext.cpp
deleted file mode 100644
index 0cddc2b7f3..0000000000
--- a/android/jni/AndroidEGLContext.cpp
+++ /dev/null
@@ -1,78 +0,0 @@
-#include "Common/GPU/OpenGL/GLFeatures.h"
-#include "Common/GPU/thin3d_create.h"
-
-#include "Common/Log.h"
-#include "Common/System/System.h"
-#include "Common/VR/PPSSPPVR.h"
-#include "AndroidEGLContext.h"
-#include "GL/GLInterface/EGLAndroid.h"
-#include "Core/Config.h"
-#include "Core/ConfigValues.h"
-#include "Core/System.h"
-
-bool AndroidEGLGraphicsContext::InitFromRenderThread(ANativeWindow *wnd, int desiredBackbufferSizeX, int desiredBackbufferSizeY, int backbufferFormat, int androidVersion) {
- INFO_LOG(G3D, "AndroidEGLGraphicsContext::Init()");
- wnd_ = wnd;
- gl = HostGL_CreateGLInterface();
- if (!gl) {
- ERROR_LOG(G3D, "ERROR: Failed to create GL interface");
- return false;
- }
- int backbufferWidth = desiredBackbufferSizeX;
- int backbufferHeight = desiredBackbufferSizeY;
- INFO_LOG(G3D, "EGL interface created. Desired backbuffer size: %dx%d", backbufferWidth, backbufferHeight);
-
- // Apparently we still have to set this through Java through setFixedSize on the bufferHolder for it to take effect...
- gl->SetBackBufferDimensions(backbufferWidth, backbufferHeight);
- gl->SetMode(MODE_DETECT);
-
- bool use565 = false;
-
- // This workaround seems only be needed on some really old devices.
- if (androidVersion < ANDROID_VERSION_ICS) {
- switch (backbufferFormat) {
- case 4: // PixelFormat.RGB_565
- use565 = true;
- break;
- default:
- break;
- }
- }
-
- if (!gl->Create(wnd, false, use565)) {
- ERROR_LOG(G3D, "EGL creation failed! (use565=%d)", (int)use565);
- // TODO: What do we do now?
- delete gl;
- return false;
- }
- gl->MakeCurrent();
- if (gl->GetMode() == GLInterfaceMode::MODE_OPENGL)
- SetGLCoreContext(!IsVREnabled());
- CheckGLExtensions();
- draw_ = Draw::T3DCreateGLContext();
- SetGPUBackend(GPUBackend::OPENGL);
- renderManager_ = (GLRenderManager *)draw_->GetNativeObject(Draw::NativeObject::RENDER_MANAGER);
- renderManager_->SetInflightFrames(g_Config.iInflightFrames);
- bool success = draw_->CreatePresets(); // There will always be a GLSL compiler capable of compiling these.
- _assert_msg_(success, "Failed to compile preset shaders");
- return true;
-}
-
-void AndroidEGLGraphicsContext::ShutdownFromRenderThread() {
- INFO_LOG(G3D, "AndroidEGLGraphicsContext::Shutdown");
- renderManager_->WaitUntilQueueIdle();
- renderManager_ = nullptr; // owned by draw_.
- delete draw_;
- draw_ = nullptr;
-}
-
-void AndroidEGLGraphicsContext::Shutdown() {
- gl->ClearCurrent();
- gl->Shutdown();
- delete gl;
- ANativeWindow_release(wnd_);
-}
-
-void AndroidEGLGraphicsContext::SwapBuffers() {
- gl->Swap();
-}
diff --git a/android/jni/AndroidEGLContext.h b/android/jni/AndroidEGLContext.h
deleted file mode 100644
index 49a89739b2..0000000000
--- a/android/jni/AndroidEGLContext.h
+++ /dev/null
@@ -1,45 +0,0 @@
-#pragma once
-
-#include "Common/GPU/OpenGL/GLRenderManager.h"
-#include "AndroidGraphicsContext.h"
-#include "Common/GL/GLInterfaceBase.h"
-
-class AndroidEGLGraphicsContext : public AndroidGraphicsContext {
-public:
- AndroidEGLGraphicsContext() : draw_(nullptr), wnd_(nullptr), gl(nullptr) {}
- bool InitFromRenderThread(ANativeWindow *wnd, int desiredBackbufferSizeX, int desiredBackbufferSizeY, int backbufferFormat, int androidVersion) override;
- void ShutdownFromRenderThread() override;
- void Shutdown() override;
- void SwapBuffers() override;
- void SwapInterval(int interval) override {}
- void Resize() override {}
- Draw::DrawContext *GetDrawContext() override {
- return draw_;
- }
- bool Initialized() override {
- return draw_ != nullptr;
- }
-
- void ThreadStart() override {
- renderManager_->ThreadStart(draw_);
- }
-
- bool ThreadFrame() override {
- return renderManager_->ThreadFrame();
- }
-
- void ThreadEnd() override {
- renderManager_->ThreadEnd();
- }
-
- void StopThread() override {
- renderManager_->WaitUntilQueueIdle();
- renderManager_->StopThread();
- }
-
-private:
- Draw::DrawContext *draw_;
- ANativeWindow *wnd_;
- cInterfaceBase *gl;
- GLRenderManager *renderManager_ = nullptr;
-};
diff --git a/android/jni/app-android.cpp b/android/jni/app-android.cpp
index a79f558285..03bc0e6d73 100644
--- a/android/jni/app-android.cpp
+++ b/android/jni/app-android.cpp
@@ -78,7 +78,6 @@ struct JNIEnv {};
#include "AndroidGraphicsContext.h"
#include "AndroidVulkanContext.h"
-#include "AndroidEGLContext.h"
#include "AndroidJavaGLContext.h"
#include "Core/Config.h"
@@ -736,21 +735,16 @@ extern "C" void Java_org_ppsspp_ppsspp_NativeApp_init
// No need to use EARLY_LOG anymore.
retry:
- // Now that we've loaded config, set javaGL.
- javaGL = NativeQueryConfig("androidJavaGL") == "true";
-
switch (g_Config.iGPUBackend) {
case (int)GPUBackend::OPENGL:
+ javaGL = true;
useCPUThread = true;
- if (javaGL) {
- INFO_LOG(SYSTEM, "NativeApp.init() -- creating OpenGL context (JavaGL)");
- graphicsContext = new AndroidJavaEGLGraphicsContext();
- } else {
- graphicsContext = new AndroidEGLGraphicsContext();
- }
+ INFO_LOG(SYSTEM, "NativeApp.init() -- creating OpenGL context (JavaGL)");
+ graphicsContext = new AndroidJavaEGLGraphicsContext();
break;
case (int)GPUBackend::VULKAN:
{
+ javaGL = false;
INFO_LOG(SYSTEM, "NativeApp.init() -- creating Vulkan context");
useCPUThread = false; // The Vulkan render manager manages its own thread.
// We create and destroy the Vulkan graphics context in the "EGL" thread.