|
|
|
@ -1,6 +1,6 @@
|
|
|
|
|
diff -rupN dolphin.orig/CMake/FindWaylandProtocols.cmake dolphin/CMake/FindWaylandProtocols.cmake
|
|
|
|
|
--- dolphin.orig/CMake/FindWaylandProtocols.cmake 1970-01-01 00:00:00.000000000 +0000
|
|
|
|
|
+++ dolphin/CMake/FindWaylandProtocols.cmake 2023-06-05 18:48:45.007819529 +0000
|
|
|
|
|
+++ dolphin/CMake/FindWaylandProtocols.cmake 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -0,0 +1,28 @@
|
|
|
|
|
+# from https://github.com/glfw/glfw/blob/master/CMake/modules/FindWaylandProtocols.cmake
|
|
|
|
|
+
|
|
|
|
@ -32,7 +32,7 @@ diff -rupN dolphin.orig/CMake/FindWaylandProtocols.cmake dolphin/CMake/FindWayla
|
|
|
|
|
+set(WAYLAND_PROTOCOLS_VERSION ${WaylandProtocols_VERSION})
|
|
|
|
|
diff -rupN dolphin.orig/CMake/FindXKBCommon.cmake dolphin/CMake/FindXKBCommon.cmake
|
|
|
|
|
--- dolphin.orig/CMake/FindXKBCommon.cmake 1970-01-01 00:00:00.000000000 +0000
|
|
|
|
|
+++ dolphin/CMake/FindXKBCommon.cmake 2023-06-05 18:48:45.007819529 +0000
|
|
|
|
|
+++ dolphin/CMake/FindXKBCommon.cmake 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -0,0 +1,33 @@
|
|
|
|
|
+# - Try to find XKBCommon
|
|
|
|
|
+# Once done, this will define
|
|
|
|
@ -68,9 +68,9 @@ diff -rupN dolphin.orig/CMake/FindXKBCommon.cmake dolphin/CMake/FindXKBCommon.cm
|
|
|
|
|
+
|
|
|
|
|
+mark_as_advanced(XKBCOMMON_LIBRARY XKBCOMMON_INCLUDE_DIR)
|
|
|
|
|
diff -rupN dolphin.orig/CMakeLists.txt dolphin/CMakeLists.txt
|
|
|
|
|
--- dolphin.orig/CMakeLists.txt 2023-06-01 19:24:09.874000574 +0000
|
|
|
|
|
+++ dolphin/CMakeLists.txt 2023-06-05 18:48:45.007819529 +0000
|
|
|
|
|
@@ -43,6 +43,7 @@ set(DOLPHIN_DEFAULT_UPDATE_TRACK "" CACH
|
|
|
|
|
--- dolphin.orig/CMakeLists.txt 2023-09-26 17:58:02.593990718 +0000
|
|
|
|
|
+++ dolphin/CMakeLists.txt 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -47,6 +47,7 @@ set(DOLPHIN_DEFAULT_UPDATE_TRACK "" CACH
|
|
|
|
|
|
|
|
|
|
if(UNIX AND NOT APPLE AND NOT ANDROID)
|
|
|
|
|
option(ENABLE_X11 "Enables X11 Support" ON)
|
|
|
|
@ -78,7 +78,7 @@ diff -rupN dolphin.orig/CMakeLists.txt dolphin/CMakeLists.txt
|
|
|
|
|
endif()
|
|
|
|
|
if(NOT WIN32 AND NOT APPLE AND NOT HAIKU)
|
|
|
|
|
option(ENABLE_EGL "Enables EGL OpenGL Interface" ON)
|
|
|
|
|
@@ -549,6 +550,17 @@ if(ENABLE_X11)
|
|
|
|
|
@@ -543,6 +544,17 @@ if(ENABLE_X11)
|
|
|
|
|
endif()
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
@ -97,9 +97,9 @@ diff -rupN dolphin.orig/CMakeLists.txt dolphin/CMakeLists.txt
|
|
|
|
|
find_package(EGL)
|
|
|
|
|
if(EGL_FOUND)
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/Common/CMakeLists.txt dolphin/Source/Core/Common/CMakeLists.txt
|
|
|
|
|
--- dolphin.orig/Source/Core/Common/CMakeLists.txt 2023-06-01 19:24:09.918002004 +0000
|
|
|
|
|
+++ dolphin/Source/Core/Common/CMakeLists.txt 2023-06-05 18:48:45.487834884 +0000
|
|
|
|
|
@@ -255,11 +255,20 @@ if(ENABLE_EGL AND EGL_FOUND)
|
|
|
|
|
--- dolphin.orig/Source/Core/Common/CMakeLists.txt 2023-09-26 17:58:02.801995519 +0000
|
|
|
|
|
+++ dolphin/Source/Core/Common/CMakeLists.txt 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -253,11 +253,20 @@ if(ENABLE_EGL AND EGL_FOUND)
|
|
|
|
|
GL/GLInterface/EGLAndroid.cpp
|
|
|
|
|
GL/GLInterface/EGLAndroid.h
|
|
|
|
|
)
|
|
|
|
@ -126,8 +126,8 @@ diff -rupN dolphin.orig/Source/Core/Common/CMakeLists.txt dolphin/Source/Core/Co
|
|
|
|
|
target_include_directories(common PRIVATE ${EGL_INCLUDE_DIRS})
|
|
|
|
|
target_link_libraries(common PUBLIC ${EGL_LIBRARIES})
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/Common/GL/GLContext.cpp dolphin/Source/Core/Common/GL/GLContext.cpp
|
|
|
|
|
--- dolphin.orig/Source/Core/Common/GL/GLContext.cpp 2023-06-01 19:23:58.513631223 +0000
|
|
|
|
|
+++ dolphin/Source/Core/Common/GL/GLContext.cpp 2023-06-05 18:48:45.499835268 +0000
|
|
|
|
|
--- dolphin.orig/Source/Core/Common/GL/GLContext.cpp 2023-09-26 17:58:02.801995519 +0000
|
|
|
|
|
+++ dolphin/Source/Core/Common/GL/GLContext.cpp 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -25,6 +25,9 @@
|
|
|
|
|
#if defined(ANDROID)
|
|
|
|
|
#include "Common/GL/GLInterface/EGLAndroid.h"
|
|
|
|
@ -164,8 +164,8 @@ diff -rupN dolphin.orig/Source/Core/Common/GL/GLContext.cpp dolphin/Source/Core/
|
|
|
|
|
if (wsi.type == WindowSystemType::Headless || wsi.type == WindowSystemType::FBDev)
|
|
|
|
|
context = std::make_unique<GLContextEGL>();
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/Common/GL/GLContext.h dolphin/Source/Core/Common/GL/GLContext.h
|
|
|
|
|
--- dolphin.orig/Source/Core/Common/GL/GLContext.h 2023-06-01 19:23:58.513631223 +0000
|
|
|
|
|
+++ dolphin/Source/Core/Common/GL/GLContext.h 2023-06-05 18:48:45.503835396 +0000
|
|
|
|
|
--- dolphin.orig/Source/Core/Common/GL/GLContext.h 2023-09-26 17:58:02.801995519 +0000
|
|
|
|
|
+++ dolphin/Source/Core/Common/GL/GLContext.h 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -36,8 +36,8 @@ public:
|
|
|
|
|
virtual bool MakeCurrent();
|
|
|
|
|
virtual bool ClearCurrent();
|
|
|
|
@ -178,8 +178,8 @@ diff -rupN dolphin.orig/Source/Core/Common/GL/GLContext.h dolphin/Source/Core/Co
|
|
|
|
|
virtual void Swap();
|
|
|
|
|
virtual void SwapInterval(int interval);
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/AGL.h dolphin/Source/Core/Common/GL/GLInterface/AGL.h
|
|
|
|
|
--- dolphin.orig/Source/Core/Common/GL/GLInterface/AGL.h 2023-06-01 19:23:58.513631223 +0000
|
|
|
|
|
+++ dolphin/Source/Core/Common/GL/GLInterface/AGL.h 2023-06-05 18:48:45.507835524 +0000
|
|
|
|
|
--- dolphin.orig/Source/Core/Common/GL/GLInterface/AGL.h 2023-09-26 17:58:02.801995519 +0000
|
|
|
|
|
+++ dolphin/Source/Core/Common/GL/GLInterface/AGL.h 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -27,6 +27,8 @@ public:
|
|
|
|
|
|
|
|
|
|
bool MakeCurrent() override;
|
|
|
|
@ -190,8 +190,8 @@ diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/AGL.h dolphin/Source/C
|
|
|
|
|
void Update() override;
|
|
|
|
|
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/AGL.mm dolphin/Source/Core/Common/GL/GLInterface/AGL.mm
|
|
|
|
|
--- dolphin.orig/Source/Core/Common/GL/GLInterface/AGL.mm 2023-06-01 19:23:58.513631223 +0000
|
|
|
|
|
+++ dolphin/Source/Core/Common/GL/GLInterface/AGL.mm 2023-06-05 18:48:45.507835524 +0000
|
|
|
|
|
--- dolphin.orig/Source/Core/Common/GL/GLInterface/AGL.mm 2023-09-26 17:58:02.801995519 +0000
|
|
|
|
|
+++ dolphin/Source/Core/Common/GL/GLInterface/AGL.mm 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -144,7 +144,7 @@ bool GLContextAGL::ClearCurrent()
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
@ -202,8 +202,8 @@ diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/AGL.mm dolphin/Source/
|
|
|
|
|
if (!m_view)
|
|
|
|
|
return;
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/EGL.cpp dolphin/Source/Core/Common/GL/GLInterface/EGL.cpp
|
|
|
|
|
--- dolphin.orig/Source/Core/Common/GL/GLInterface/EGL.cpp 2023-06-01 19:23:58.513631223 +0000
|
|
|
|
|
+++ dolphin/Source/Core/Common/GL/GLInterface/EGL.cpp 2023-06-05 18:48:45.507835524 +0000
|
|
|
|
|
--- dolphin.orig/Source/Core/Common/GL/GLInterface/EGL.cpp 2023-09-26 17:58:02.805995611 +0000
|
|
|
|
|
+++ dolphin/Source/Core/Common/GL/GLInterface/EGL.cpp 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -292,8 +292,8 @@ bool GLContextEGL::CreateWindowSurface()
|
|
|
|
|
{
|
|
|
|
|
if (!IsHeadless())
|
|
|
|
@ -267,8 +267,8 @@ diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/EGL.cpp dolphin/Source
|
|
|
|
|
+ m_backbuffer_height = static_cast<u32>(surface_height);
|
|
|
|
|
+}
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/EGL.h dolphin/Source/Core/Common/GL/GLInterface/EGL.h
|
|
|
|
|
--- dolphin.orig/Source/Core/Common/GL/GLInterface/EGL.h 2023-06-01 19:23:58.513631223 +0000
|
|
|
|
|
+++ dolphin/Source/Core/Common/GL/GLInterface/EGL.h 2023-06-05 18:48:45.507835524 +0000
|
|
|
|
|
--- dolphin.orig/Source/Core/Common/GL/GLInterface/EGL.h 2023-09-26 17:58:02.805995611 +0000
|
|
|
|
|
+++ dolphin/Source/Core/Common/GL/GLInterface/EGL.h 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -22,7 +22,8 @@ public:
|
|
|
|
|
bool MakeCurrent() override;
|
|
|
|
|
bool ClearCurrent() override;
|
|
|
|
@ -294,7 +294,7 @@ diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/EGL.h dolphin/Source/C
|
|
|
|
|
std::vector<int> m_attribs;
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/EGLWayland.cpp dolphin/Source/Core/Common/GL/GLInterface/EGLWayland.cpp
|
|
|
|
|
--- dolphin.orig/Source/Core/Common/GL/GLInterface/EGLWayland.cpp 1970-01-01 00:00:00.000000000 +0000
|
|
|
|
|
+++ dolphin/Source/Core/Common/GL/GLInterface/EGLWayland.cpp 2023-06-05 18:48:45.507835524 +0000
|
|
|
|
|
+++ dolphin/Source/Core/Common/GL/GLInterface/EGLWayland.cpp 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -0,0 +1,36 @@
|
|
|
|
|
+// Copyright 2019 Dolphin Emulator Project
|
|
|
|
|
+// Licensed under GPLv2+
|
|
|
|
@ -334,7 +334,7 @@ diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/EGLWayland.cpp dolphin
|
|
|
|
|
+}
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/EGLWayland.h dolphin/Source/Core/Common/GL/GLInterface/EGLWayland.h
|
|
|
|
|
--- dolphin.orig/Source/Core/Common/GL/GLInterface/EGLWayland.h 1970-01-01 00:00:00.000000000 +0000
|
|
|
|
|
+++ dolphin/Source/Core/Common/GL/GLInterface/EGLWayland.h 2023-06-05 18:48:45.507835524 +0000
|
|
|
|
|
+++ dolphin/Source/Core/Common/GL/GLInterface/EGLWayland.h 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -0,0 +1,19 @@
|
|
|
|
|
+// Copyright 2019 Dolphin Emulator Project
|
|
|
|
|
+// Licensed under GPLv2+
|
|
|
|
@ -356,8 +356,8 @@ diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/EGLWayland.h dolphin/S
|
|
|
|
|
+ EGLNativeWindowType GetEGLNativeWindow(EGLConfig config) override;
|
|
|
|
|
+};
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/EGLX11.cpp dolphin/Source/Core/Common/GL/GLInterface/EGLX11.cpp
|
|
|
|
|
--- dolphin.orig/Source/Core/Common/GL/GLInterface/EGLX11.cpp 2023-06-01 19:23:58.513631223 +0000
|
|
|
|
|
+++ dolphin/Source/Core/Common/GL/GLInterface/EGLX11.cpp 2023-06-05 18:48:45.507835524 +0000
|
|
|
|
|
--- dolphin.orig/Source/Core/Common/GL/GLInterface/EGLX11.cpp 2023-09-26 17:58:02.805995611 +0000
|
|
|
|
|
+++ dolphin/Source/Core/Common/GL/GLInterface/EGLX11.cpp 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -11,7 +11,7 @@ GLContextEGLX11::~GLContextEGLX11()
|
|
|
|
|
m_render_window.reset();
|
|
|
|
|
}
|
|
|
|
@ -368,8 +368,8 @@ diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/EGLX11.cpp dolphin/Sou
|
|
|
|
|
m_render_window->UpdateDimensions();
|
|
|
|
|
m_backbuffer_width = m_render_window->GetWidth();
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/EGLX11.h dolphin/Source/Core/Common/GL/GLInterface/EGLX11.h
|
|
|
|
|
--- dolphin.orig/Source/Core/Common/GL/GLInterface/EGLX11.h 2023-06-01 19:23:58.513631223 +0000
|
|
|
|
|
+++ dolphin/Source/Core/Common/GL/GLInterface/EGLX11.h 2023-06-05 18:48:45.507835524 +0000
|
|
|
|
|
--- dolphin.orig/Source/Core/Common/GL/GLInterface/EGLX11.h 2023-09-26 17:58:02.805995611 +0000
|
|
|
|
|
+++ dolphin/Source/Core/Common/GL/GLInterface/EGLX11.h 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -13,7 +13,7 @@ class GLContextEGLX11 final : public GLC
|
|
|
|
|
public:
|
|
|
|
|
~GLContextEGLX11() override;
|
|
|
|
@ -380,8 +380,8 @@ diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/EGLX11.h dolphin/Sourc
|
|
|
|
|
protected:
|
|
|
|
|
EGLDisplay OpenEGLDisplay() override;
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/GLX.cpp dolphin/Source/Core/Common/GL/GLInterface/GLX.cpp
|
|
|
|
|
--- dolphin.orig/Source/Core/Common/GL/GLInterface/GLX.cpp 2023-06-01 19:24:09.918002004 +0000
|
|
|
|
|
+++ dolphin/Source/Core/Common/GL/GLInterface/GLX.cpp 2023-06-05 18:48:45.507835524 +0000
|
|
|
|
|
--- dolphin.orig/Source/Core/Common/GL/GLInterface/GLX.cpp 2023-09-26 17:58:02.805995611 +0000
|
|
|
|
|
+++ dolphin/Source/Core/Common/GL/GLInterface/GLX.cpp 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -310,7 +310,7 @@ bool GLContextGLX::ClearCurrent()
|
|
|
|
|
return glXMakeCurrent(m_display, None, nullptr);
|
|
|
|
|
}
|
|
|
|
@ -392,8 +392,8 @@ diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/GLX.cpp dolphin/Source
|
|
|
|
|
m_render_window->UpdateDimensions();
|
|
|
|
|
m_backbuffer_width = m_render_window->GetWidth();
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/GLX.h dolphin/Source/Core/Common/GL/GLInterface/GLX.h
|
|
|
|
|
--- dolphin.orig/Source/Core/Common/GL/GLInterface/GLX.h 2023-06-01 19:23:58.513631223 +0000
|
|
|
|
|
+++ dolphin/Source/Core/Common/GL/GLInterface/GLX.h 2023-06-05 18:48:45.507835524 +0000
|
|
|
|
|
--- dolphin.orig/Source/Core/Common/GL/GLInterface/GLX.h 2023-09-26 17:58:02.805995611 +0000
|
|
|
|
|
+++ dolphin/Source/Core/Common/GL/GLInterface/GLX.h 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -24,7 +24,7 @@ public:
|
|
|
|
|
bool MakeCurrent() override;
|
|
|
|
|
bool ClearCurrent() override;
|
|
|
|
@ -404,8 +404,8 @@ diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/GLX.h dolphin/Source/C
|
|
|
|
|
void SwapInterval(int Interval) override;
|
|
|
|
|
void Swap() override;
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/WGL.cpp dolphin/Source/Core/Common/GL/GLInterface/WGL.cpp
|
|
|
|
|
--- dolphin.orig/Source/Core/Common/GL/GLInterface/WGL.cpp 2023-06-01 19:23:58.513631223 +0000
|
|
|
|
|
+++ dolphin/Source/Core/Common/GL/GLInterface/WGL.cpp 2023-06-05 18:48:45.507835524 +0000
|
|
|
|
|
--- dolphin.orig/Source/Core/Common/GL/GLInterface/WGL.cpp 2023-09-26 17:58:02.805995611 +0000
|
|
|
|
|
+++ dolphin/Source/Core/Common/GL/GLInterface/WGL.cpp 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -480,7 +480,7 @@ bool GLContextWGL::ClearCurrent()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -416,8 +416,8 @@ diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/WGL.cpp dolphin/Source
|
|
|
|
|
RECT rcWindow;
|
|
|
|
|
GetClientRect(m_window_handle, &rcWindow);
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/WGL.h dolphin/Source/Core/Common/GL/GLInterface/WGL.h
|
|
|
|
|
--- dolphin.orig/Source/Core/Common/GL/GLInterface/WGL.h 2023-06-01 19:23:58.513631223 +0000
|
|
|
|
|
+++ dolphin/Source/Core/Common/GL/GLInterface/WGL.h 2023-06-05 18:48:45.507835524 +0000
|
|
|
|
|
--- dolphin.orig/Source/Core/Common/GL/GLInterface/WGL.h 2023-09-26 17:58:02.805995611 +0000
|
|
|
|
|
+++ dolphin/Source/Core/Common/GL/GLInterface/WGL.h 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -19,7 +19,7 @@ public:
|
|
|
|
|
bool MakeCurrent() override;
|
|
|
|
|
bool ClearCurrent() override;
|
|
|
|
@ -428,8 +428,8 @@ diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/WGL.h dolphin/Source/C
|
|
|
|
|
void Swap() override;
|
|
|
|
|
void SwapInterval(int interval) override;
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/Common/WindowSystemInfo.h dolphin/Source/Core/Common/WindowSystemInfo.h
|
|
|
|
|
--- dolphin.orig/Source/Core/Common/WindowSystemInfo.h 2023-06-01 19:23:58.517631353 +0000
|
|
|
|
|
+++ dolphin/Source/Core/Common/WindowSystemInfo.h 2023-06-05 18:48:45.499835268 +0000
|
|
|
|
|
--- dolphin.orig/Source/Core/Common/WindowSystemInfo.h 2023-09-26 17:58:02.805995611 +0000
|
|
|
|
|
+++ dolphin/Source/Core/Common/WindowSystemInfo.h 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -40,7 +40,11 @@ struct WindowSystemInfo
|
|
|
|
|
// This is kept seperate as input may require a different handle to rendering, and
|
|
|
|
|
// during video backend startup the surface pointer may change (MoltenVK).
|
|
|
|
@ -444,9 +444,9 @@ diff -rupN dolphin.orig/Source/Core/Common/WindowSystemInfo.h dolphin/Source/Cor
|
|
|
|
|
float render_surface_scale = 1.0f;
|
|
|
|
|
};
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/Core/Core.cpp dolphin/Source/Core/Core/Core.cpp
|
|
|
|
|
--- dolphin.orig/Source/Core/Core/Core.cpp 2023-06-01 19:24:09.922002134 +0000
|
|
|
|
|
+++ dolphin/Source/Core/Core/Core.cpp 2023-06-05 18:48:45.511835652 +0000
|
|
|
|
|
@@ -478,6 +478,8 @@ static void EmuThread(std::unique_ptr<Bo
|
|
|
|
|
--- dolphin.orig/Source/Core/Core/Core.cpp 2023-09-26 17:58:02.809995703 +0000
|
|
|
|
|
+++ dolphin/Source/Core/Core/Core.cpp 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -474,6 +474,8 @@ static void EmuThread(std::unique_ptr<Bo
|
|
|
|
|
// is relative to the render window, instead of the main window.
|
|
|
|
|
ASSERT(g_controller_interface.IsInit());
|
|
|
|
|
g_controller_interface.ChangeWindow(wsi.render_window);
|
|
|
|
@ -456,8 +456,8 @@ diff -rupN dolphin.orig/Source/Core/Core/Core.cpp dolphin/Source/Core/Core/Core.
|
|
|
|
|
Pad::LoadConfig();
|
|
|
|
|
Pad::LoadGBAConfig();
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/Core/HW/GCPadEmu.cpp dolphin/Source/Core/Core/HW/GCPadEmu.cpp
|
|
|
|
|
--- dolphin.orig/Source/Core/Core/HW/GCPadEmu.cpp 2023-06-01 19:24:09.926002264 +0000
|
|
|
|
|
+++ dolphin/Source/Core/Core/HW/GCPadEmu.cpp 2023-06-05 18:48:45.531836292 +0000
|
|
|
|
|
--- dolphin.orig/Source/Core/Core/HW/GCPadEmu.cpp 2023-09-26 17:58:02.817995888 +0000
|
|
|
|
|
+++ dolphin/Source/Core/Core/HW/GCPadEmu.cpp 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -24,6 +24,7 @@ static const u16 button_bitmasks[] = {
|
|
|
|
|
PAD_BUTTON_X,
|
|
|
|
|
PAD_BUTTON_Y,
|
|
|
|
@ -477,8 +477,8 @@ diff -rupN dolphin.orig/Source/Core/Core/HW/GCPadEmu.cpp dolphin/Source/Core/Cor
|
|
|
|
|
groups.emplace_back(m_main_stick = new ControllerEmu::OctagonAnalogStick(
|
|
|
|
|
MAIN_STICK_GROUP, _trans("Control Stick"), MAIN_STICK_GATE_RADIUS));
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/Core/HW/GCPadEmu.h dolphin/Source/Core/Core/HW/GCPadEmu.h
|
|
|
|
|
--- dolphin.orig/Source/Core/Core/HW/GCPadEmu.h 2023-06-01 19:23:58.529631743 +0000
|
|
|
|
|
+++ dolphin/Source/Core/Core/HW/GCPadEmu.h 2023-06-05 18:48:45.531836292 +0000
|
|
|
|
|
--- dolphin.orig/Source/Core/Core/HW/GCPadEmu.h 2023-09-26 17:58:02.817995888 +0000
|
|
|
|
|
+++ dolphin/Source/Core/Core/HW/GCPadEmu.h 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -65,6 +65,7 @@ public:
|
|
|
|
|
static constexpr const char* X_BUTTON = "X";
|
|
|
|
|
static constexpr const char* Y_BUTTON = "Y";
|
|
|
|
@ -488,9 +488,9 @@ diff -rupN dolphin.orig/Source/Core/Core/HW/GCPadEmu.h dolphin/Source/Core/Core/
|
|
|
|
|
|
|
|
|
|
// i18n: The left trigger button (labeled L on real controllers)
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/DolphinLib.props dolphin/Source/Core/DolphinLib.props
|
|
|
|
|
--- dolphin.orig/Source/Core/DolphinLib.props 2023-06-01 19:24:09.942002785 +0000
|
|
|
|
|
+++ dolphin/Source/Core/DolphinLib.props 2023-06-05 18:48:45.483834756 +0000
|
|
|
|
|
@@ -1219,6 +1219,7 @@
|
|
|
|
|
--- dolphin.orig/Source/Core/DolphinLib.props 2023-09-26 17:58:02.829996165 +0000
|
|
|
|
|
+++ dolphin/Source/Core/DolphinLib.props 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -1207,6 +1207,7 @@
|
|
|
|
|
<ClCompile Include="VideoBackends\Vulkan\VKPerfQuery.cpp" />
|
|
|
|
|
<ClCompile Include="VideoBackends\Vulkan\VKPipeline.cpp" />
|
|
|
|
|
<ClCompile Include="VideoBackends\Vulkan\VKRenderer.cpp" />
|
|
|
|
@ -499,8 +499,8 @@ diff -rupN dolphin.orig/Source/Core/DolphinLib.props dolphin/Source/Core/Dolphin
|
|
|
|
|
<ClCompile Include="VideoBackends\Vulkan\VKStreamBuffer.cpp" />
|
|
|
|
|
<ClCompile Include="VideoBackends\Vulkan\VKSwapChain.cpp" />
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/DolphinNoGUI/CMakeLists.txt dolphin/Source/Core/DolphinNoGUI/CMakeLists.txt
|
|
|
|
|
--- dolphin.orig/Source/Core/DolphinNoGUI/CMakeLists.txt 2023-06-01 19:24:09.942002785 +0000
|
|
|
|
|
+++ dolphin/Source/Core/DolphinNoGUI/CMakeLists.txt 2023-06-05 18:48:45.571837571 +0000
|
|
|
|
|
--- dolphin.orig/Source/Core/DolphinNoGUI/CMakeLists.txt 2023-09-26 17:58:02.833996257 +0000
|
|
|
|
|
+++ dolphin/Source/Core/DolphinNoGUI/CMakeLists.txt 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -17,6 +17,22 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux"
|
|
|
|
|
target_sources(dolphin-nogui PRIVATE PlatformFBDev.cpp)
|
|
|
|
|
endif()
|
|
|
|
@ -525,8 +525,8 @@ diff -rupN dolphin.orig/Source/Core/DolphinNoGUI/CMakeLists.txt dolphin/Source/C
|
|
|
|
|
|
|
|
|
|
target_link_libraries(dolphin-nogui
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/DolphinNoGUI/MainNoGUI.cpp dolphin/Source/Core/DolphinNoGUI/MainNoGUI.cpp
|
|
|
|
|
--- dolphin.orig/Source/Core/DolphinNoGUI/MainNoGUI.cpp 2023-06-01 19:24:09.942002785 +0000
|
|
|
|
|
+++ dolphin/Source/Core/DolphinNoGUI/MainNoGUI.cpp 2023-06-05 18:48:45.571837571 +0000
|
|
|
|
|
--- dolphin.orig/Source/Core/DolphinNoGUI/MainNoGUI.cpp 2023-09-26 17:58:02.833996257 +0000
|
|
|
|
|
+++ dolphin/Source/Core/DolphinNoGUI/MainNoGUI.cpp 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -155,6 +155,11 @@ static std::unique_ptr<Platform> GetPlat
|
|
|
|
|
{
|
|
|
|
|
std::string platform_name = static_cast<const char*>(options.get("platform"));
|
|
|
|
@ -551,8 +551,8 @@ diff -rupN dolphin.orig/Source/Core/DolphinNoGUI/MainNoGUI.cpp dolphin/Source/Co
|
|
|
|
|
|
|
|
|
|
optparse::Values& options = CommandLineParse::ParseArguments(parser.get(), argc, argv);
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/DolphinNoGUI/Platform.h dolphin/Source/Core/DolphinNoGUI/Platform.h
|
|
|
|
|
--- dolphin.orig/Source/Core/DolphinNoGUI/Platform.h 2023-06-01 19:23:58.553632524 +0000
|
|
|
|
|
+++ dolphin/Source/Core/DolphinNoGUI/Platform.h 2023-06-05 18:48:45.571837571 +0000
|
|
|
|
|
--- dolphin.orig/Source/Core/DolphinNoGUI/Platform.h 2023-09-26 17:58:02.833996257 +0000
|
|
|
|
|
+++ dolphin/Source/Core/DolphinNoGUI/Platform.h 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -35,6 +35,10 @@ public:
|
|
|
|
|
static std::unique_ptr<Platform> CreateX11Platform();
|
|
|
|
|
#endif
|
|
|
|
@ -566,8 +566,8 @@ diff -rupN dolphin.orig/Source/Core/DolphinNoGUI/Platform.h dolphin/Source/Core/
|
|
|
|
|
#endif
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/DolphinNoGUI/PlatformWayland.cpp dolphin/Source/Core/DolphinNoGUI/PlatformWayland.cpp
|
|
|
|
|
--- dolphin.orig/Source/Core/DolphinNoGUI/PlatformWayland.cpp 1970-01-01 00:00:00.000000000 +0000
|
|
|
|
|
+++ dolphin/Source/Core/DolphinNoGUI/PlatformWayland.cpp 2023-06-07 14:37:14.927874203 +0000
|
|
|
|
|
@@ -0,0 +1,371 @@
|
|
|
|
|
+++ dolphin/Source/Core/DolphinNoGUI/PlatformWayland.cpp 2023-09-26 18:27:27.334792936 +0000
|
|
|
|
|
@@ -0,0 +1,364 @@
|
|
|
|
|
+// Copyright 2018 Dolphin Emulator Project
|
|
|
|
|
+// Licensed under GPLv2+
|
|
|
|
|
+// Refer to the license.txt file included.
|
|
|
|
@ -791,13 +791,6 @@ diff -rupN dolphin.orig/Source/Core/DolphinNoGUI/PlatformWayland.cpp dolphin/Sou
|
|
|
|
|
+ xdg_toplevel_set_title(m_xdg_toplevel, string.c_str());
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+auto ShowEmulationSpeed = []() {
|
|
|
|
|
+ const float emulation_speed = Config::Get(Config::MAIN_EMULATION_SPEED);
|
|
|
|
|
+ OSD::AddMessage(emulation_speed <= 0 ?
|
|
|
|
|
+ "Emulation Speed: Unlimited" :
|
|
|
|
|
+ fmt::format("Emulation Speed: {}%", std::lround(emulation_speed * 100.f)));
|
|
|
|
|
+};
|
|
|
|
|
+
|
|
|
|
|
+void PlatformWayland::MainLoop()
|
|
|
|
|
+{
|
|
|
|
|
+ while (IsRunning())
|
|
|
|
@ -899,13 +892,13 @@ diff -rupN dolphin.orig/Source/Core/DolphinNoGUI/PlatformWayland.cpp dolphin/Sou
|
|
|
|
|
+ auto speed = Config::Get(Config::MAIN_EMULATION_SPEED) + 1.0;
|
|
|
|
|
+ speed = (speed >= 0.95 && speed <= 1.05) ? 1.0 : speed;
|
|
|
|
|
+ Config::SetCurrent(Config::MAIN_EMULATION_SPEED, speed);
|
|
|
|
|
+ ShowEmulationSpeed();
|
|
|
|
|
+ OSD::AddMessage("Fast Forward: ON");
|
|
|
|
|
+ fforward = 1;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ auto speed = Config::Get(Config::MAIN_EMULATION_SPEED) - 1.0;
|
|
|
|
|
+ speed = (speed <= 0 || (speed >= 0.95 && speed <= 1.05)) ? 1.0 : speed;
|
|
|
|
|
+ Config::SetCurrent(Config::MAIN_EMULATION_SPEED, speed);
|
|
|
|
|
+ ShowEmulationSpeed();
|
|
|
|
|
+ OSD::AddMessage("Fast Forward: OFF");
|
|
|
|
|
+ fforward = 0;
|
|
|
|
|
+ }
|
|
|
|
|
+ hotkey = 0;
|
|
|
|
@ -940,8 +933,8 @@ diff -rupN dolphin.orig/Source/Core/DolphinNoGUI/PlatformWayland.cpp dolphin/Sou
|
|
|
|
|
+ return std::make_unique<PlatformWayland>();
|
|
|
|
|
+}
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/DolphinNoGUI/PlatformX11.cpp dolphin/Source/Core/DolphinNoGUI/PlatformX11.cpp
|
|
|
|
|
--- dolphin.orig/Source/Core/DolphinNoGUI/PlatformX11.cpp 2023-06-01 19:24:09.942002785 +0000
|
|
|
|
|
+++ dolphin/Source/Core/DolphinNoGUI/PlatformX11.cpp 2023-06-05 18:48:45.571837571 +0000
|
|
|
|
|
--- dolphin.orig/Source/Core/DolphinNoGUI/PlatformX11.cpp 2023-09-26 17:58:02.833996257 +0000
|
|
|
|
|
+++ dolphin/Source/Core/DolphinNoGUI/PlatformX11.cpp 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -57,8 +57,8 @@ private:
|
|
|
|
|
#endif
|
|
|
|
|
int m_window_x = Config::Get(Config::MAIN_RENDER_WINDOW_XPOS);
|
|
|
|
@ -987,8 +980,8 @@ diff -rupN dolphin.orig/Source/Core/DolphinNoGUI/PlatformX11.cpp dolphin/Source/
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/InputCommon/GCPadStatus.h dolphin/Source/Core/InputCommon/GCPadStatus.h
|
|
|
|
|
--- dolphin.orig/Source/Core/InputCommon/GCPadStatus.h 2023-06-01 19:23:58.569633044 +0000
|
|
|
|
|
+++ dolphin/Source/Core/InputCommon/GCPadStatus.h 2023-06-05 18:48:45.595838339 +0000
|
|
|
|
|
--- dolphin.orig/Source/Core/InputCommon/GCPadStatus.h 2023-09-26 17:58:02.845996536 +0000
|
|
|
|
|
+++ dolphin/Source/Core/InputCommon/GCPadStatus.h 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -26,6 +26,7 @@ enum PadButton
|
|
|
|
|
PAD_BUTTON_X = 0x0400,
|
|
|
|
|
PAD_BUTTON_Y = 0x0800,
|
|
|
|
@ -998,9 +991,101 @@ diff -rupN dolphin.orig/Source/Core/InputCommon/GCPadStatus.h dolphin/Source/Cor
|
|
|
|
|
|
|
|
|
|
struct GCPadStatus
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/VideoBackends/OGL/OGLRender.cpp dolphin/Source/Core/VideoBackends/OGL/OGLRender.cpp
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/OGL/OGLRender.cpp 2023-06-01 19:24:09.954003175 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/OGL/OGLRender.cpp 2023-06-05 18:48:45.615838979 +0000
|
|
|
|
|
@@ -1079,7 +1079,7 @@ void Renderer::CheckForSurfaceChange()
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/OGL/OGLRender.cpp 2023-09-26 17:58:02.853996721 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/OGL/OGLRender.cpp 2023-09-26 21:41:39.568275473 +0000
|
|
|
|
|
@@ -471,11 +471,7 @@ Renderer::Renderer(std::unique_ptr<GLCon
|
|
|
|
|
g_ogl_config.bSupportsDebug =
|
|
|
|
|
GLExtensions::Supports("GL_KHR_debug") || GLExtensions::Supports("GL_ARB_debug_output");
|
|
|
|
|
g_ogl_config.bSupportsTextureStorage = GLExtensions::Supports("GL_ARB_texture_storage");
|
|
|
|
|
- g_ogl_config.bSupports3DTextureStorageMultisample =
|
|
|
|
|
- GLExtensions::Supports("GL_ARB_texture_storage_multisample") ||
|
|
|
|
|
- GLExtensions::Supports("GL_OES_texture_storage_multisample_2d_array");
|
|
|
|
|
- g_ogl_config.bSupports2DTextureStorageMultisample =
|
|
|
|
|
- GLExtensions::Supports("GL_ARB_texture_storage_multisample");
|
|
|
|
|
+ g_ogl_config.SupportedMultisampleTexStorage = MultisampleTexStorageType::TexStorageNone;
|
|
|
|
|
g_ogl_config.bSupportsImageLoadStore = GLExtensions::Supports("GL_ARB_shader_image_load_store");
|
|
|
|
|
g_ogl_config.bSupportsConservativeDepth = GLExtensions::Supports("GL_ARB_conservative_depth");
|
|
|
|
|
g_ogl_config.bSupportsAniso = GLExtensions::Supports("GL_EXT_texture_filter_anisotropic");
|
|
|
|
|
@@ -506,9 +502,10 @@ Renderer::Renderer(std::unique_ptr<GLCon
|
|
|
|
|
|
|
|
|
|
if (m_main_gl_context->IsGLES())
|
|
|
|
|
{
|
|
|
|
|
- g_ogl_config.SupportedESPointSize = GLExtensions::Supports("GL_OES_geometry_point_size") ? 1 :
|
|
|
|
|
- GLExtensions::Supports("GL_EXT_geometry_point_size") ? 2 :
|
|
|
|
|
- 0;
|
|
|
|
|
+ g_ogl_config.SupportedESPointSize =
|
|
|
|
|
+ GLExtensions::Supports("GL_OES_geometry_point_size") ? EsPointSizeType::PointSizeOes :
|
|
|
|
|
+ GLExtensions::Supports("GL_EXT_geometry_point_size") ? EsPointSizeType::PointSizeExt :
|
|
|
|
|
+ EsPointSizeType::PointSizeNone;
|
|
|
|
|
g_ogl_config.SupportedESTextureBuffer =
|
|
|
|
|
GLExtensions::Supports("VERSION_GLES_3_2") ? EsTexbufType::TexbufCore :
|
|
|
|
|
GLExtensions::Supports("GL_OES_texture_buffer") ? EsTexbufType::TexbufOes :
|
|
|
|
|
@@ -548,21 +545,16 @@ Renderer::Renderer(std::unique_ptr<GLCon
|
|
|
|
|
g_Config.backend_info.bSupportsGeometryShaders = g_ogl_config.bSupportsAEP;
|
|
|
|
|
g_Config.backend_info.bSupportsComputeShaders = true;
|
|
|
|
|
g_Config.backend_info.bSupportsGSInstancing =
|
|
|
|
|
- g_Config.backend_info.bSupportsGeometryShaders && g_ogl_config.SupportedESPointSize > 0;
|
|
|
|
|
+ g_Config.backend_info.bSupportsGeometryShaders &&
|
|
|
|
|
+ g_ogl_config.SupportedESPointSize != EsPointSizeType::PointSizeNone;
|
|
|
|
|
g_Config.backend_info.bSupportsSSAA = g_ogl_config.bSupportsAEP;
|
|
|
|
|
g_Config.backend_info.bSupportsFragmentStoresAndAtomics = true;
|
|
|
|
|
g_ogl_config.bSupportsMSAA = true;
|
|
|
|
|
g_ogl_config.bSupportsTextureStorage = true;
|
|
|
|
|
- g_ogl_config.bSupports2DTextureStorageMultisample = true;
|
|
|
|
|
+ if (GLExtensions::Supports("GL_OES_texture_storage_multisample_2d_array"))
|
|
|
|
|
+ g_ogl_config.SupportedMultisampleTexStorage = MultisampleTexStorageType::TexStorageOes;
|
|
|
|
|
g_Config.backend_info.bSupportsBitfield = true;
|
|
|
|
|
g_Config.backend_info.bSupportsDynamicSamplerIndexing = g_ogl_config.bSupportsAEP;
|
|
|
|
|
- if (g_ActiveConfig.stereo_mode != StereoMode::Off && g_ActiveConfig.iMultisamples > 1 &&
|
|
|
|
|
- !g_ogl_config.bSupports3DTextureStorageMultisample)
|
|
|
|
|
- {
|
|
|
|
|
- // GLES 3.1 can't support stereo rendering and MSAA
|
|
|
|
|
- OSD::AddMessage("MSAA Stereo rendering isn't supported by your GPU.", 10000);
|
|
|
|
|
- Config::SetCurrent(Config::GFX_MSAA, UINT32_C(1));
|
|
|
|
|
- }
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
@@ -572,7 +564,8 @@ Renderer::Renderer(std::unique_ptr<GLCon
|
|
|
|
|
g_ogl_config.bSupportsImageLoadStore = true;
|
|
|
|
|
g_Config.backend_info.bSupportsGeometryShaders = true;
|
|
|
|
|
g_Config.backend_info.bSupportsComputeShaders = true;
|
|
|
|
|
- g_Config.backend_info.bSupportsGSInstancing = g_ogl_config.SupportedESPointSize > 0;
|
|
|
|
|
+ g_Config.backend_info.bSupportsGSInstancing =
|
|
|
|
|
+ g_ogl_config.SupportedESPointSize != EsPointSizeType::PointSizeNone;
|
|
|
|
|
g_Config.backend_info.bSupportsPaletteConversion = true;
|
|
|
|
|
g_Config.backend_info.bSupportsSSAA = true;
|
|
|
|
|
g_Config.backend_info.bSupportsFragmentStoresAndAtomics = true;
|
|
|
|
|
@@ -581,8 +574,7 @@ Renderer::Renderer(std::unique_ptr<GLCon
|
|
|
|
|
g_ogl_config.bSupportsDebug = true;
|
|
|
|
|
g_ogl_config.bSupportsMSAA = true;
|
|
|
|
|
g_ogl_config.bSupportsTextureStorage = true;
|
|
|
|
|
- g_ogl_config.bSupports2DTextureStorageMultisample = true;
|
|
|
|
|
- g_ogl_config.bSupports3DTextureStorageMultisample = true;
|
|
|
|
|
+ g_ogl_config.SupportedMultisampleTexStorage = MultisampleTexStorageType::TexStorageCore;
|
|
|
|
|
g_Config.backend_info.bSupportsBitfield = true;
|
|
|
|
|
g_Config.backend_info.bSupportsDynamicSamplerIndexing = true;
|
|
|
|
|
g_Config.backend_info.bSupportsSettingObjectNames = true;
|
|
|
|
|
@@ -590,6 +582,9 @@ Renderer::Renderer(std::unique_ptr<GLCon
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
+ if (GLExtensions::Supports("GL_ARB_texture_storage_multisample"))
|
|
|
|
|
+ g_ogl_config.SupportedMultisampleTexStorage = MultisampleTexStorageType::TexStorageCore;
|
|
|
|
|
+
|
|
|
|
|
if (GLExtensions::Version() < 300)
|
|
|
|
|
{
|
|
|
|
|
PanicAlertFmtT("GPU: OGL ERROR: Need at least GLSL 1.30\n"
|
|
|
|
|
@@ -628,7 +623,7 @@ Renderer::Renderer(std::unique_ptr<GLCon
|
|
|
|
|
{
|
|
|
|
|
// TODO: We should really parse the GL_SHADING_LANGUAGE_VERSION token.
|
|
|
|
|
g_ogl_config.eSupportedGLSLVersion = Glsl430;
|
|
|
|
|
- g_ogl_config.bSupportsTextureStorage = true;
|
|
|
|
|
+ g_ogl_config.SupportedMultisampleTexStorage = MultisampleTexStorageType::TexStorageCore;
|
|
|
|
|
g_ogl_config.bSupportsImageLoadStore = true;
|
|
|
|
|
g_Config.backend_info.bSupportsSSAA = true;
|
|
|
|
|
g_Config.backend_info.bSupportsSettingObjectNames = true;
|
|
|
|
|
@@ -1079,7 +1074,7 @@ void Renderer::CheckForSurfaceChange()
|
|
|
|
|
if (!m_surface_changed.TestAndClear())
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
@ -1009,7 +1094,7 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/OGL/OGLRender.cpp dolphin/Sour
|
|
|
|
|
m_new_surface_handle = nullptr;
|
|
|
|
|
|
|
|
|
|
// With a surface change, the window likely has new dimensions.
|
|
|
|
|
@@ -1093,7 +1093,7 @@ void Renderer::CheckForSurfaceResize()
|
|
|
|
|
@@ -1093,7 +1088,7 @@ void Renderer::CheckForSurfaceResize()
|
|
|
|
|
if (!m_surface_resized.TestAndClear())
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
@ -1018,9 +1103,139 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/OGL/OGLRender.cpp dolphin/Sour
|
|
|
|
|
m_backbuffer_width = m_main_gl_context->GetBackBufferWidth();
|
|
|
|
|
m_backbuffer_height = m_main_gl_context->GetBackBufferHeight();
|
|
|
|
|
m_system_framebuffer->UpdateDimensions(m_backbuffer_width, m_backbuffer_height);
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/VideoBackends/OGL/OGLRender.h dolphin/Source/Core/VideoBackends/OGL/OGLRender.h
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/OGL/OGLRender.h 2023-09-26 17:58:02.853996721 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/OGL/OGLRender.h 2023-09-26 21:32:17.039048706 +0000
|
|
|
|
|
@@ -31,6 +31,14 @@ enum GlslVersion
|
|
|
|
|
GlslEs310, // GLES 3.1
|
|
|
|
|
GlslEs320, // GLES 3.2
|
|
|
|
|
};
|
|
|
|
|
+
|
|
|
|
|
+enum class EsPointSizeType
|
|
|
|
|
+{
|
|
|
|
|
+ PointSizeNone,
|
|
|
|
|
+ PointSizeOes,
|
|
|
|
|
+ PointSizeExt,
|
|
|
|
|
+};
|
|
|
|
|
+
|
|
|
|
|
enum class EsTexbufType
|
|
|
|
|
{
|
|
|
|
|
TexbufNone,
|
|
|
|
|
@@ -46,6 +54,13 @@ enum class EsFbFetchType
|
|
|
|
|
FbFetchArm,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
+enum class MultisampleTexStorageType
|
|
|
|
|
+{
|
|
|
|
|
+ TexStorageNone,
|
|
|
|
|
+ TexStorageCore,
|
|
|
|
|
+ TexStorageOes,
|
|
|
|
|
+};
|
|
|
|
|
+
|
|
|
|
|
// ogl-only config, so not in VideoConfig.h
|
|
|
|
|
struct VideoConfig
|
|
|
|
|
{
|
|
|
|
|
@@ -60,11 +75,10 @@ struct VideoConfig
|
|
|
|
|
bool bSupportsAEP;
|
|
|
|
|
bool bSupportsDebug;
|
|
|
|
|
bool bSupportsCopySubImage;
|
|
|
|
|
- u8 SupportedESPointSize;
|
|
|
|
|
+ EsPointSizeType SupportedESPointSize;
|
|
|
|
|
EsTexbufType SupportedESTextureBuffer;
|
|
|
|
|
bool bSupportsTextureStorage;
|
|
|
|
|
- bool bSupports2DTextureStorageMultisample;
|
|
|
|
|
- bool bSupports3DTextureStorageMultisample;
|
|
|
|
|
+ MultisampleTexStorageType SupportedMultisampleTexStorage;
|
|
|
|
|
bool bSupportsConservativeDepth;
|
|
|
|
|
bool bSupportsImageLoadStore;
|
|
|
|
|
bool bSupportsAniso;
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/VideoBackends/OGL/OGLTexture.cpp dolphin/Source/Core/VideoBackends/OGL/OGLTexture.cpp
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/OGL/OGLTexture.cpp 2023-09-26 17:58:02.853996721 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/OGL/OGLTexture.cpp 2023-09-26 21:34:37.398249032 +0000
|
|
|
|
|
@@ -128,12 +128,18 @@ OGLTexture::OGLTexture(const TextureConf
|
|
|
|
|
GLenum gl_internal_format = GetGLInternalFormatForTextureFormat(m_config.format, true);
|
|
|
|
|
if (tex_config.IsMultisampled())
|
|
|
|
|
{
|
|
|
|
|
- if (g_ogl_config.bSupportsTextureStorage)
|
|
|
|
|
+ ASSERT(g_ogl_config.bSupportsMSAA);
|
|
|
|
|
+ if (g_ogl_config.SupportedMultisampleTexStorage != MultisampleTexStorageType::TexStorageNone)
|
|
|
|
|
+ {
|
|
|
|
|
glTexStorage3DMultisample(target, tex_config.samples, gl_internal_format, m_config.width,
|
|
|
|
|
m_config.height, m_config.layers, GL_FALSE);
|
|
|
|
|
+ }
|
|
|
|
|
else
|
|
|
|
|
+ {
|
|
|
|
|
+ ASSERT(!g_ogl_config.bIsES);
|
|
|
|
|
glTexImage3DMultisample(target, tex_config.samples, gl_internal_format, m_config.width,
|
|
|
|
|
m_config.height, m_config.layers, GL_FALSE);
|
|
|
|
|
+ }
|
|
|
|
|
}
|
|
|
|
|
else if (g_ogl_config.bSupportsTextureStorage)
|
|
|
|
|
{
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp dolphin/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp 2023-09-26 17:58:02.853996721 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp 2023-09-26 21:37:11.705777665 +0000
|
|
|
|
|
@@ -661,12 +661,13 @@ void ProgramShaderCache::CreateHeader()
|
|
|
|
|
std::string SupportedESTextureBuffer;
|
|
|
|
|
switch (g_ogl_config.SupportedESPointSize)
|
|
|
|
|
{
|
|
|
|
|
- case 1:
|
|
|
|
|
+ case EsPointSizeType::PointSizeOes:
|
|
|
|
|
SupportedESPointSize = "#extension GL_OES_geometry_point_size : enable";
|
|
|
|
|
break;
|
|
|
|
|
- case 2:
|
|
|
|
|
+ case EsPointSizeType::PointSizeExt:
|
|
|
|
|
SupportedESPointSize = "#extension GL_EXT_geometry_point_size : enable";
|
|
|
|
|
break;
|
|
|
|
|
+ case EsPointSizeType::PointSizeNone:
|
|
|
|
|
default:
|
|
|
|
|
SupportedESPointSize = "";
|
|
|
|
|
break;
|
|
|
|
|
@@ -718,6 +719,13 @@ void ProgramShaderCache::CreateHeader()
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
+ // The sampler2DMSArray keyword is reserved in GLSL ES 3.0 and 3.1, but is available in 3.2 and
|
|
|
|
|
+ // with GL_OES_texture_storage_multisample_2d_array for 3.1.
|
|
|
|
|
+ // See https://bugs.dolphin-emu.org/issues/13198.
|
|
|
|
|
+ const bool use_multisample_2d_array_precision =
|
|
|
|
|
+ v >= GlslEs320 ||
|
|
|
|
|
+ g_ogl_config.SupportedMultisampleTexStorage != MultisampleTexStorageType::TexStorageNone;
|
|
|
|
|
+
|
|
|
|
|
std::string shader_shuffle_string;
|
|
|
|
|
if (g_ogl_config.bSupportsShaderThreadShuffleNV)
|
|
|
|
|
{
|
|
|
|
|
@@ -762,6 +770,7 @@ void ProgramShaderCache::CreateHeader()
|
|
|
|
|
"{}\n" // shader thread shuffle
|
|
|
|
|
"{}\n" // derivative control
|
|
|
|
|
"{}\n" // query levels
|
|
|
|
|
+ "{}\n" // OES multisample texture storage
|
|
|
|
|
|
|
|
|
|
// Precision defines for GLSL ES
|
|
|
|
|
"{}\n"
|
|
|
|
|
@@ -847,12 +856,18 @@ void ProgramShaderCache::CreateHeader()
|
|
|
|
|
g_ActiveConfig.backend_info.bSupportsTextureQueryLevels ?
|
|
|
|
|
"#extension GL_ARB_texture_query_levels : enable" :
|
|
|
|
|
"",
|
|
|
|
|
+ // Note: GL_ARB_texture_storage_multisample doesn't have an #extension, as it doesn't
|
|
|
|
|
+ // need to change GLSL, but on GLES 3.1 sampler2DMSArray is a reserved keyword unless
|
|
|
|
|
+ // the extension is enabled. Thus, we don't need to check TexStorageCore/have an ARB version.
|
|
|
|
|
+ g_ogl_config.SupportedMultisampleTexStorage == MultisampleTexStorageType::TexStorageOes ?
|
|
|
|
|
+ "#extension GL_OES_texture_storage_multisample_2d_array : enable" :
|
|
|
|
|
+ "",
|
|
|
|
|
is_glsles ? "precision highp float;" : "", is_glsles ? "precision highp int;" : "",
|
|
|
|
|
is_glsles ? "precision highp sampler2DArray;" : "",
|
|
|
|
|
(is_glsles && g_ActiveConfig.backend_info.bSupportsPaletteConversion) ?
|
|
|
|
|
"precision highp usamplerBuffer;" :
|
|
|
|
|
"",
|
|
|
|
|
- v > GlslEs300 ? "precision highp sampler2DMSArray;" : "",
|
|
|
|
|
+ use_multisample_2d_array_precision ? "precision highp sampler2DMSArray;" : "",
|
|
|
|
|
v >= GlslEs310 ? "precision highp image2DArray;" : "");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/VideoBackends/Software/SWOGLWindow.cpp dolphin/Source/Core/VideoBackends/Software/SWOGLWindow.cpp
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Software/SWOGLWindow.cpp 2023-06-01 19:23:58.577633304 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Software/SWOGLWindow.cpp 2023-06-05 18:48:45.615838979 +0000
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Software/SWOGLWindow.cpp 2023-09-26 17:58:02.853996721 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Software/SWOGLWindow.cpp 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -32,6 +32,16 @@ bool SWOGLWindow::IsHeadless() const
|
|
|
|
|
return m_gl_context->IsHeadless();
|
|
|
|
|
}
|
|
|
|
@ -1058,8 +1273,8 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Software/SWOGLWindow.cpp dolph
|
|
|
|
|
GLsizei glWidth = (GLsizei)m_gl_context->GetBackBufferWidth();
|
|
|
|
|
GLsizei glHeight = (GLsizei)m_gl_context->GetBackBufferHeight();
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/VideoBackends/Software/SWOGLWindow.h dolphin/Source/Core/VideoBackends/Software/SWOGLWindow.h
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Software/SWOGLWindow.h 2023-06-01 19:23:58.577633304 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Software/SWOGLWindow.h 2023-06-05 18:48:45.615838979 +0000
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Software/SWOGLWindow.h 2023-09-26 17:58:02.853996721 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Software/SWOGLWindow.h 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -20,6 +20,10 @@ public:
|
|
|
|
|
GLContext* GetContext() const { return m_gl_context.get(); }
|
|
|
|
|
bool IsHeadless() const;
|
|
|
|
@ -1072,8 +1287,8 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Software/SWOGLWindow.h dolphin
|
|
|
|
|
void ShowImage(const AbstractTexture* image, const MathUtil::Rectangle<int>& xfb_region);
|
|
|
|
|
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/VideoBackends/Software/SWRenderer.cpp dolphin/Source/Core/VideoBackends/Software/SWRenderer.cpp
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Software/SWRenderer.cpp 2023-06-01 19:24:09.954003175 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Software/SWRenderer.cpp 2023-06-05 18:48:45.615838979 +0000
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Software/SWRenderer.cpp 2023-09-26 17:58:02.853996721 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Software/SWRenderer.cpp 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -60,17 +60,17 @@ SWRenderer::CreateFramebuffer(AbstractTe
|
|
|
|
|
static_cast<SWTexture*>(depth_attachment));
|
|
|
|
|
}
|
|
|
|
@ -1128,8 +1343,8 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Software/SWRenderer.cpp dolphi
|
|
|
|
|
{
|
|
|
|
|
u32 value = 0;
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/VideoBackends/Software/SWRenderer.h dolphin/Source/Core/VideoBackends/Software/SWRenderer.h
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Software/SWRenderer.h 2023-06-01 19:24:09.954003175 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Software/SWRenderer.h 2023-06-05 18:48:45.615838979 +0000
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Software/SWRenderer.h 2023-09-26 17:58:02.853996721 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Software/SWRenderer.h 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -29,7 +29,7 @@ public:
|
|
|
|
|
std::unique_ptr<AbstractFramebuffer>
|
|
|
|
|
CreateFramebuffer(AbstractTexture* color_attachment, AbstractTexture* depth_attachment) override;
|
|
|
|
@ -1149,8 +1364,8 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Software/SWRenderer.h dolphin/
|
|
|
|
|
};
|
|
|
|
|
} // namespace SW
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/CMakeLists.txt dolphin/Source/Core/VideoBackends/Vulkan/CMakeLists.txt
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/CMakeLists.txt 2023-06-01 19:24:09.954003175 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Vulkan/CMakeLists.txt 2023-06-05 18:48:45.615838979 +0000
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/CMakeLists.txt 2023-09-26 17:58:02.853996721 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Vulkan/CMakeLists.txt 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -35,6 +35,8 @@ add_library(videovulkan
|
|
|
|
|
VulkanContext.h
|
|
|
|
|
VulkanLoader.cpp
|
|
|
|
@ -1161,8 +1376,8 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/CMakeLists.txt dolphin/
|
|
|
|
|
|
|
|
|
|
target_link_libraries(videovulkan
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/CommandBufferManager.cpp dolphin/Source/Core/VideoBackends/Vulkan/CommandBufferManager.cpp
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/CommandBufferManager.cpp 2023-06-01 19:24:09.954003175 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Vulkan/CommandBufferManager.cpp 2023-06-05 18:48:45.615838979 +0000
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/CommandBufferManager.cpp 2023-09-26 17:58:02.853996721 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Vulkan/CommandBufferManager.cpp 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -10,24 +10,24 @@
|
|
|
|
|
#include "Common/MsgHandler.h"
|
|
|
|
|
#include "Common/Thread.h"
|
|
|
|
@ -1562,8 +1777,8 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/CommandBufferManager.cp
|
|
|
|
|
-std::unique_ptr<CommandBufferManager> g_command_buffer_mgr;
|
|
|
|
|
} // namespace Vulkan
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/CommandBufferManager.h dolphin/Source/Core/VideoBackends/Vulkan/CommandBufferManager.h
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/CommandBufferManager.h 2023-06-01 19:24:09.954003175 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Vulkan/CommandBufferManager.h 2023-06-05 18:48:45.615838979 +0000
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/CommandBufferManager.h 2023-09-26 17:58:02.853996721 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Vulkan/CommandBufferManager.h 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -22,10 +22,12 @@
|
|
|
|
|
|
|
|
|
|
namespace Vulkan
|
|
|
|
@ -1703,8 +1918,8 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/CommandBufferManager.h
|
|
|
|
|
|
|
|
|
|
} // namespace Vulkan
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/Constants.h dolphin/Source/Core/VideoBackends/Vulkan/Constants.h
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/Constants.h 2023-06-01 19:24:09.954003175 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Vulkan/Constants.h 2023-06-05 18:48:45.615838979 +0000
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/Constants.h 2023-09-26 17:58:02.853996721 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Vulkan/Constants.h 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -12,7 +12,7 @@
|
|
|
|
|
namespace Vulkan
|
|
|
|
|
{
|
|
|
|
@ -1715,8 +1930,8 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/Constants.h dolphin/Sou
|
|
|
|
|
// Number of frames in flight, will be used to decide how many descriptor pools are used
|
|
|
|
|
constexpr size_t NUM_FRAMES_IN_FLIGHT = 2;
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/ObjectCache.cpp dolphin/Source/Core/VideoBackends/Vulkan/ObjectCache.cpp
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/ObjectCache.cpp 2023-06-01 19:24:09.954003175 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Vulkan/ObjectCache.cpp 2023-06-05 18:48:45.615838979 +0000
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/ObjectCache.cpp 2023-09-26 17:58:02.853996721 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Vulkan/ObjectCache.cpp 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -389,6 +389,8 @@ VkSampler ObjectCache::GetSampler(const
|
|
|
|
|
VkRenderPass ObjectCache::GetRenderPass(VkFormat color_format, VkFormat depth_format,
|
|
|
|
|
u32 multisamples, VkAttachmentLoadOp load_op)
|
|
|
|
@ -1736,8 +1951,8 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/ObjectCache.cpp dolphin
|
|
|
|
|
vkDestroyRenderPass(g_vulkan_context->GetDevice(), it.second, nullptr);
|
|
|
|
|
m_render_pass_cache.clear();
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/ObjectCache.h dolphin/Source/Core/VideoBackends/Vulkan/ObjectCache.h
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/ObjectCache.h 2023-06-01 19:23:58.577633304 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Vulkan/ObjectCache.h 2023-06-05 18:48:45.615838979 +0000
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/ObjectCache.h 2023-09-26 17:58:02.853996721 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Vulkan/ObjectCache.h 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -7,6 +7,7 @@
|
|
|
|
|
#include <cstddef>
|
|
|
|
|
#include <map>
|
|
|
|
@ -1755,8 +1970,8 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/ObjectCache.h dolphin/S
|
|
|
|
|
std::map<RenderPassCacheKey, VkRenderPass> m_render_pass_cache;
|
|
|
|
|
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/StagingBuffer.cpp dolphin/Source/Core/VideoBackends/Vulkan/StagingBuffer.cpp
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/StagingBuffer.cpp 2023-06-01 19:23:58.577633304 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Vulkan/StagingBuffer.cpp 2023-06-05 18:48:45.615838979 +0000
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/StagingBuffer.cpp 2023-09-26 17:58:02.853996721 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Vulkan/StagingBuffer.cpp 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -8,6 +8,7 @@
|
|
|
|
|
|
|
|
|
|
#include "Common/Assert.h"
|
|
|
|
@ -1778,8 +1993,8 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/StagingBuffer.cpp dolph
|
|
|
|
|
|
|
|
|
|
void StagingBuffer::BufferMemoryBarrier(VkCommandBuffer command_buffer, VkBuffer buffer,
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/StateTracker.cpp dolphin/Source/Core/VideoBackends/Vulkan/StateTracker.cpp
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/StateTracker.cpp 2023-06-01 19:24:09.958003305 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Vulkan/StateTracker.cpp 2023-06-05 18:48:45.615838979 +0000
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/StateTracker.cpp 2023-09-26 17:58:02.853996721 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Vulkan/StateTracker.cpp 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -16,59 +16,93 @@
|
|
|
|
|
|
|
|
|
|
namespace Vulkan
|
|
|
|
@ -2179,8 +2394,8 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/StateTracker.cpp dolphi
|
|
|
|
|
g_object_cache->GetPipelineLayout(PIPELINE_LAYOUT_COMPUTE), 0, 1,
|
|
|
|
|
&m_compute_descriptor_set, 1, &m_bindings.utility_ubo_offset);
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/StateTracker.h dolphin/Source/Core/VideoBackends/Vulkan/StateTracker.h
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/StateTracker.h 2023-06-01 19:24:09.958003305 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Vulkan/StateTracker.h 2023-06-05 18:48:45.615838979 +0000
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/StateTracker.h 2023-09-26 17:58:02.853996721 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Vulkan/StateTracker.h 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -13,28 +13,24 @@
|
|
|
|
|
|
|
|
|
|
namespace Vulkan
|
|
|
|
@ -2256,8 +2471,8 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/StateTracker.h dolphin/
|
|
|
|
|
};
|
|
|
|
|
} // namespace Vulkan
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VKBoundingBox.cpp dolphin/Source/Core/VideoBackends/Vulkan/VKBoundingBox.cpp
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/VKBoundingBox.cpp 2023-06-01 19:24:09.958003305 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Vulkan/VKBoundingBox.cpp 2023-06-05 18:48:45.615838979 +0000
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/VKBoundingBox.cpp 2023-09-26 17:58:02.853996721 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Vulkan/VKBoundingBox.cpp 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -12,6 +12,7 @@
|
|
|
|
|
#include "VideoBackends/Vulkan/StagingBuffer.h"
|
|
|
|
|
#include "VideoBackends/Vulkan/StateTracker.h"
|
|
|
|
@ -2395,8 +2610,8 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VKBoundingBox.cpp dolph
|
|
|
|
|
|
|
|
|
|
bool VKBoundingBox::CreateGPUBuffer()
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VKMain.cpp dolphin/Source/Core/VideoBackends/Vulkan/VKMain.cpp
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/VKMain.cpp 2023-06-01 19:24:09.958003305 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Vulkan/VKMain.cpp 2023-06-05 18:48:45.615838979 +0000
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/VKMain.cpp 2023-09-26 17:58:02.853996721 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Vulkan/VKMain.cpp 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -18,6 +18,7 @@
|
|
|
|
|
#include "VideoBackends/Vulkan/VKVertexManager.h"
|
|
|
|
|
#include "VideoBackends/Vulkan/VulkanContext.h"
|
|
|
|
@ -2481,8 +2696,8 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VKMain.cpp dolphin/Sour
|
|
|
|
|
ShutdownShared();
|
|
|
|
|
UnloadVulkanLibrary();
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VKPerfQuery.cpp dolphin/Source/Core/VideoBackends/Vulkan/VKPerfQuery.cpp
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/VKPerfQuery.cpp 2023-06-01 19:24:09.958003305 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Vulkan/VKPerfQuery.cpp 2023-06-05 18:48:45.615838979 +0000
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/VKPerfQuery.cpp 2023-09-26 17:58:02.853996721 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Vulkan/VKPerfQuery.cpp 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -11,6 +11,7 @@
|
|
|
|
|
#include "Common/Logging/Log.h"
|
|
|
|
|
#include "Common/MsgHandler.h"
|
|
|
|
@ -2602,8 +2817,8 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VKPerfQuery.cpp dolphin
|
|
|
|
|
Renderer::GetInstance()->ExecuteCommandBuffer(true, blocking);
|
|
|
|
|
}
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VKRenderer.cpp dolphin/Source/Core/VideoBackends/Vulkan/VKRenderer.cpp
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/VKRenderer.cpp 2023-06-01 19:24:09.958003305 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Vulkan/VKRenderer.cpp 2023-06-05 18:48:45.615838979 +0000
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/VKRenderer.cpp 2023-09-26 17:58:02.853996721 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Vulkan/VKRenderer.cpp 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -31,6 +31,7 @@
|
|
|
|
|
#include "VideoBackends/Vulkan/VKVertexFormat.h"
|
|
|
|
|
#include "VideoBackends/Vulkan/VulkanContext.h"
|
|
|
|
@ -3325,7 +3540,7 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VKRenderer.cpp dolphin/
|
|
|
|
|
} // namespace Vulkan
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VKScheduler.cpp dolphin/Source/Core/VideoBackends/Vulkan/VKScheduler.cpp
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/VKScheduler.cpp 1970-01-01 00:00:00.000000000 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Vulkan/VKScheduler.cpp 2023-06-05 18:48:45.615838979 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Vulkan/VKScheduler.cpp 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -0,0 +1,155 @@
|
|
|
|
|
+// Copyright 2022 Dolphin Emulator Project
|
|
|
|
|
+// SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
@ -3484,7 +3699,7 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VKScheduler.cpp dolphin
|
|
|
|
|
+} // namespace Vulkan
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VKScheduler.h dolphin/Source/Core/VideoBackends/Vulkan/VKScheduler.h
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/VKScheduler.h 1970-01-01 00:00:00.000000000 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Vulkan/VKScheduler.h 2023-06-05 18:48:45.615838979 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Vulkan/VKScheduler.h 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -0,0 +1,160 @@
|
|
|
|
|
+// Copyright 2022 Dolphin Emulator Project
|
|
|
|
|
+// SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
@ -3647,8 +3862,8 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VKScheduler.h dolphin/S
|
|
|
|
|
+extern std::unique_ptr<Scheduler> g_scheduler;
|
|
|
|
|
+} // namespace Vulkan
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VKStreamBuffer.cpp dolphin/Source/Core/VideoBackends/Vulkan/VKStreamBuffer.cpp
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/VKStreamBuffer.cpp 2023-06-01 19:23:58.577633304 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Vulkan/VKStreamBuffer.cpp 2023-06-05 18:48:45.615838979 +0000
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/VKStreamBuffer.cpp 2023-09-26 17:58:02.853996721 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Vulkan/VKStreamBuffer.cpp 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -12,6 +12,7 @@
|
|
|
|
|
#include "Common/MsgHandler.h"
|
|
|
|
|
|
|
|
|
@ -3722,8 +3937,8 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VKStreamBuffer.cpp dolp
|
|
|
|
|
m_current_offset == iter->second ? m_tracked_fences.end() : ++iter);
|
|
|
|
|
m_current_offset = new_offset;
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VKSwapChain.cpp dolphin/Source/Core/VideoBackends/Vulkan/VKSwapChain.cpp
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/VKSwapChain.cpp 2023-06-01 19:24:09.958003305 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Vulkan/VKSwapChain.cpp 2023-06-05 18:48:45.615838979 +0000
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/VKSwapChain.cpp 2023-09-26 17:58:02.853996721 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Vulkan/VKSwapChain.cpp 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -13,9 +13,9 @@
|
|
|
|
|
|
|
|
|
|
#include "VideoBackends/Vulkan/CommandBufferManager.h"
|
|
|
|
@ -3888,8 +4103,8 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VKSwapChain.cpp dolphin
|
|
|
|
|
if (m_surface == VK_NULL_HANDLE)
|
|
|
|
|
return false;
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VKSwapChain.h dolphin/Source/Core/VideoBackends/Vulkan/VKSwapChain.h
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/VKSwapChain.h 2023-06-01 19:23:58.577633304 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Vulkan/VKSwapChain.h 2023-06-05 18:48:45.615838979 +0000
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/VKSwapChain.h 2023-09-26 17:58:02.853996721 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Vulkan/VKSwapChain.h 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -3,6 +3,7 @@
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
@ -3943,8 +4158,8 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VKSwapChain.h dolphin/S
|
|
|
|
|
u32 m_height = 0;
|
|
|
|
|
u32 m_layers = 0;
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VKTexture.cpp dolphin/Source/Core/VideoBackends/Vulkan/VKTexture.cpp
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/VKTexture.cpp 2023-06-01 19:44:08.124503603 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Vulkan/VKTexture.cpp 2023-06-05 18:48:45.615838979 +0000
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/VKTexture.cpp 2023-09-26 17:58:02.853996721 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Vulkan/VKTexture.cpp 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -21,6 +21,7 @@
|
|
|
|
|
#include "VideoBackends/Vulkan/VKStreamBuffer.h"
|
|
|
|
|
#include "VideoBackends/Vulkan/VulkanContext.h"
|
|
|
|
@ -4452,8 +4667,8 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VKTexture.cpp dolphin/S
|
|
|
|
|
}
|
|
|
|
|
} // namespace Vulkan
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VKTexture.h dolphin/Source/Core/VideoBackends/Vulkan/VKTexture.h
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/VKTexture.h 2023-06-01 19:24:09.958003305 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Vulkan/VKTexture.h 2023-06-05 18:48:45.615838979 +0000
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/VKTexture.h 2023-09-26 17:58:02.853996721 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Vulkan/VKTexture.h 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -67,8 +67,8 @@ public:
|
|
|
|
|
// irrelevant and will not be loaded.
|
|
|
|
|
void OverrideImageLayout(VkImageLayout new_layout);
|
|
|
|
@ -4466,8 +4681,8 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VKTexture.h dolphin/Sou
|
|
|
|
|
private:
|
|
|
|
|
bool CreateView(VkImageViewType type);
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VKVertexManager.cpp dolphin/Source/Core/VideoBackends/Vulkan/VKVertexManager.cpp
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/VKVertexManager.cpp 2023-06-01 19:24:09.958003305 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Vulkan/VKVertexManager.cpp 2023-06-05 18:48:45.615838979 +0000
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/VKVertexManager.cpp 2023-09-26 17:58:02.853996721 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Vulkan/VKVertexManager.cpp 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -15,6 +15,7 @@
|
|
|
|
|
#include "VideoBackends/Vulkan/CommandBufferManager.h"
|
|
|
|
|
#include "VideoBackends/Vulkan/StateTracker.h"
|
|
|
|
@ -4662,8 +4877,8 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VKVertexManager.cpp dol
|
|
|
|
|
}
|
|
|
|
|
} // namespace Vulkan
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VulkanContext.cpp dolphin/Source/Core/VideoBackends/Vulkan/VulkanContext.cpp
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/VulkanContext.cpp 2023-06-01 19:24:09.958003305 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Vulkan/VulkanContext.cpp 2023-06-05 18:48:45.615838979 +0000
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/VulkanContext.cpp 2023-09-26 17:58:02.853996721 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Vulkan/VulkanContext.cpp 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -274,6 +274,13 @@ bool VulkanContext::SelectInstanceExtens
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
@ -4679,8 +4894,8 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VulkanContext.cpp dolph
|
|
|
|
|
if (wstype == WindowSystemType::Android &&
|
|
|
|
|
!AddExtension(VK_KHR_ANDROID_SURFACE_EXTENSION_NAME, true))
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VulkanEntryPoints.inl dolphin/Source/Core/VideoBackends/Vulkan/VulkanEntryPoints.inl
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/VulkanEntryPoints.inl 2023-06-01 19:23:58.577633304 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Vulkan/VulkanEntryPoints.inl 2023-06-05 18:48:45.615838979 +0000
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/VulkanEntryPoints.inl 2023-09-26 17:58:02.853996721 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Vulkan/VulkanEntryPoints.inl 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -49,6 +49,11 @@ VULKAN_INSTANCE_ENTRY_POINT(vkCreateXlib
|
|
|
|
|
VULKAN_INSTANCE_ENTRY_POINT(vkGetPhysicalDeviceXlibPresentationSupportKHR, false)
|
|
|
|
|
#endif
|
|
|
|
@ -4694,8 +4909,8 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VulkanEntryPoints.inl d
|
|
|
|
|
VULKAN_INSTANCE_ENTRY_POINT(vkCreateAndroidSurfaceKHR, false)
|
|
|
|
|
#endif
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VulkanLoader.h dolphin/Source/Core/VideoBackends/Vulkan/VulkanLoader.h
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/VulkanLoader.h 2023-06-01 19:24:09.958003305 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Vulkan/VulkanLoader.h 2023-06-05 18:48:45.615838979 +0000
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/VulkanLoader.h 2023-09-26 17:58:02.853996721 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoBackends/Vulkan/VulkanLoader.h 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -13,6 +13,10 @@
|
|
|
|
|
#define VK_USE_PLATFORM_XLIB_KHR
|
|
|
|
|
#endif
|
|
|
|
@ -4708,8 +4923,8 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VulkanLoader.h dolphin/
|
|
|
|
|
#define VK_USE_PLATFORM_ANDROID_KHR
|
|
|
|
|
#endif
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/VideoCommon/FramebufferManager.cpp dolphin/Source/Core/VideoCommon/FramebufferManager.cpp
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoCommon/FramebufferManager.cpp 2023-06-01 19:24:09.958003305 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoCommon/FramebufferManager.cpp 2023-06-05 19:16:23.547426723 +0000
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoCommon/FramebufferManager.cpp 2023-09-26 17:58:02.857996813 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoCommon/FramebufferManager.cpp 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -630,7 +630,7 @@ void FramebufferManager::DestroyReadback
|
|
|
|
|
|
|
|
|
|
bool FramebufferManager::CreateReadbackFramebuffer()
|
|
|
|
@ -4747,8 +4962,8 @@ diff -rupN dolphin.orig/Source/Core/VideoCommon/FramebufferManager.cpp dolphin/S
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/VideoCommon/RenderBase.cpp dolphin/Source/Core/VideoCommon/RenderBase.cpp
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoCommon/RenderBase.cpp 2023-06-01 19:24:09.958003305 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoCommon/RenderBase.cpp 2023-06-05 20:18:15.508539814 +0000
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoCommon/RenderBase.cpp 2023-09-26 17:58:02.857996813 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoCommon/RenderBase.cpp 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -364,19 +364,24 @@ void Renderer::RenderToXFB(u32 xfbAddr,
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
@ -4811,8 +5026,8 @@ diff -rupN dolphin.orig/Source/Core/VideoCommon/RenderBase.cpp dolphin/Source/Co
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/VideoCommon/RenderBase.h dolphin/Source/Core/VideoCommon/RenderBase.h
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoCommon/RenderBase.h 2023-06-01 19:24:09.958003305 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoCommon/RenderBase.h 2023-06-05 19:00:51.760701274 +0000
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoCommon/RenderBase.h 2023-09-26 17:58:02.857996813 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoCommon/RenderBase.h 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -193,7 +193,8 @@ public:
|
|
|
|
|
std::tuple<MathUtil::Rectangle<int>, MathUtil::Rectangle<int>>
|
|
|
|
|
ConvertStereoRectangle(const MathUtil::Rectangle<int>& rc) const;
|
|
|
|
@ -4854,8 +5069,8 @@ diff -rupN dolphin.orig/Source/Core/VideoCommon/RenderBase.h dolphin/Source/Core
|
|
|
|
|
// These will be set on the first call to SetWindowSize.
|
|
|
|
|
int m_last_window_request_width = 0;
|
|
|
|
|
diff -rupN dolphin.orig/Source/Core/VideoCommon/TextureCacheBase.cpp dolphin/Source/Core/VideoCommon/TextureCacheBase.cpp
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoCommon/TextureCacheBase.cpp 2023-06-01 19:24:09.962003435 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoCommon/TextureCacheBase.cpp 2023-06-05 19:37:47.708471335 +0000
|
|
|
|
|
--- dolphin.orig/Source/Core/VideoCommon/TextureCacheBase.cpp 2023-09-26 17:58:02.857996813 +0000
|
|
|
|
|
+++ dolphin/Source/Core/VideoCommon/TextureCacheBase.cpp 2023-09-26 18:02:22.836042087 +0000
|
|
|
|
|
@@ -1046,7 +1046,7 @@ static void SetSamplerState(u32 index, f
|
|
|
|
|
// that have arbitrary contents, eg. are used for fog effects where the
|
|
|
|
|
// distance they kick in at is important to preserve at any resolution.
|
|
|
|
|