diff --git a/Core/Config.cpp b/Core/Config.cpp index 7b62504554..1f3240ce93 100644 --- a/Core/Config.cpp +++ b/Core/Config.cpp @@ -980,6 +980,9 @@ void Config::Load(const char *iniFileName, const char *controllerIniFilename) { if (iAnisotropyLevel > 4) { iAnisotropyLevel = 4; } + if (iRenderingMode != FB_NON_BUFFERED_MODE && iRenderingMode != FB_BUFFERED_MODE) { + g_Config.iRenderingMode = FB_BUFFERED_MODE; + } // Check for an old dpad setting IniFile::Section *control = iniFile.GetOrCreateSection("Control"); diff --git a/Core/Config.h b/Core/Config.h index 09171057e1..85b01bef64 100644 --- a/Core/Config.h +++ b/Core/Config.h @@ -161,7 +161,7 @@ public: bool bHardwareTransform; // only used in the GLES backend bool bSoftwareSkinning; // may speed up some games - int iRenderingMode; // 0 = non-buffered rendering 1 = buffered rendering 2 = Read Framebuffer to memory (CPU) 3 = Read Framebuffer to memory (GPU) + int iRenderingMode; // 0 = non-buffered rendering 1 = buffered rendering int iTexFiltering; // 1 = off , 2 = nearest , 3 = linear , 4 = linear(CG) int iBufFilter; // 1 = linear, 2 = nearest int iSmallDisplayZoomType; // Used to fit display into screen 0 = stretch, 1 = partial stretch, 2 = auto scaling, 3 = manual scaling. diff --git a/Core/Reporting.cpp b/Core/Reporting.cpp index 7b9e40af03..02503301d8 100644 --- a/Core/Reporting.cpp +++ b/Core/Reporting.cpp @@ -453,8 +453,6 @@ namespace Reporting bool IsSupported() { // Disabled when using certain hacks, because they make for poor reports. - if (g_Config.iRenderingMode >= 2) // FBO_READFBOMEMORY_MIN - return false; if (g_Config.bTimerHack) return false; if (CheatsInEffect()) diff --git a/GPU/Common/FramebufferCommon.h b/GPU/Common/FramebufferCommon.h index 719c2f4e42..78005a1126 100644 --- a/GPU/Common/FramebufferCommon.h +++ b/GPU/Common/FramebufferCommon.h @@ -40,15 +40,6 @@ enum { enum { FB_NON_BUFFERED_MODE = 0, FB_BUFFERED_MODE = 1, - - // Hm, it's unfortunate that GPU has ended up as two separate values in GL and GLES. -#ifndef USING_GLES2 - FB_READFBOMEMORY_CPU = 2, - FB_READFBOMEMORY_GPU = 3, -#else - FB_READFBOMEMORY_GPU = 2, -#endif - FBO_READFBOMEMORY_MIN = 2 }; namespace Draw { diff --git a/Qt/mainwindow.cpp b/Qt/mainwindow.cpp index 5e4fc65535..7e0b481f9b 100644 --- a/Qt/mainwindow.cpp +++ b/Qt/mainwindow.cpp @@ -551,7 +551,6 @@ void MainWindow::createMenus() anisotropicGroup = new MenuActionGroup(this, anisotropicMenu, SLOT(anisotropicGroup_triggered(QAction *)), QStringList() << "Off" << "2x" << "4x" << "8x" << "16x", QList() << 0 << 1 << 2 << 3 << 4); - // TODO: Check for newer buffer render options videoMenu->add(new MenuAction(this, SLOT(bufferRenderAct()), QT_TR_NOOP("&Buffered Rendering"), Qt::Key_F5)) ->addEventChecked(&g_Config.iRenderingMode); videoMenu->add(new MenuAction(this, SLOT(linearAct()), QT_TR_NOOP("&Linear Filtering"))) diff --git a/UI/GameSettingsScreen.cpp b/UI/GameSettingsScreen.cpp index e2409223f6..3a5ec4a80c 100644 --- a/UI/GameSettingsScreen.cpp +++ b/UI/GameSettingsScreen.cpp @@ -199,21 +199,15 @@ void GameSettingsScreen::CreateViews() { renderingBackendChoice->HideChoice(3); } - static const char *renderingMode[] = { "Non-Buffered Rendering", "Buffered Rendering", "Read Framebuffers To Memory (CPU)", "Read Framebuffers To Memory (GPU)"}; + static const char *renderingMode[] = { "Non-Buffered Rendering", "Buffered Rendering"}; PopupMultiChoice *renderingModeChoice = graphicsSettings->Add(new PopupMultiChoice(&g_Config.iRenderingMode, gr->T("Mode"), renderingMode, 0, ARRAY_SIZE(renderingMode), gr->GetName(), screenManager())); renderingModeChoice->OnChoice.Add([=](EventParams &e) { switch (g_Config.iRenderingMode) { case FB_NON_BUFFERED_MODE: - settingInfo_->Show(gr->T("RenderingMode NonBuffered Tip", "Faster, but nothing may draw in some games"), e.v); + settingInfo_->Show(gr->T("RenderingMode NonBuffered Tip", "Faster, but graphics may be missing in some games"), e.v); break; case FB_BUFFERED_MODE: break; -#ifndef USING_GLES2 - case FB_READFBOMEMORY_CPU: -#endif - case FB_READFBOMEMORY_GPU: - settingInfo_->Show(gr->T("RenderingMode ReadFromMemory Tip", "Causes crashes in many games, not recommended"), e.v); - break; } return UI::EVENT_CONTINUE; }); diff --git a/Windows/MainWindowMenu.cpp b/Windows/MainWindowMenu.cpp index 805d102720..3cb6908846 100644 --- a/Windows/MainWindowMenu.cpp +++ b/Windows/MainWindowMenu.cpp @@ -322,8 +322,6 @@ namespace MainWindow { TranslateSubMenu(menu, "Rendering Mode", MENU_OPTIONS, SUBMENU_RENDERING_MODE); TranslateMenuItem(menu, ID_OPTIONS_NONBUFFEREDRENDERING); TranslateMenuItem(menu, ID_OPTIONS_BUFFEREDRENDERING); - TranslateMenuItem(menu, ID_OPTIONS_READFBOTOMEMORYCPU); - TranslateMenuItem(menu, ID_OPTIONS_READFBOTOMEMORYGPU); TranslateSubMenu(menu, "Frame Skipping", MENU_OPTIONS, SUBMENU_FRAME_SKIPPING, L"\tF7"); TranslateMenuItem(menu, ID_OPTIONS_FRAMESKIP_AUTO); TranslateMenuItem(menu, ID_OPTIONS_FRAMESKIP_0); @@ -506,15 +504,9 @@ namespace MainWindow { } static void setRenderingMode(int mode) { - if (mode >= FB_NON_BUFFERED_MODE) - g_Config.iRenderingMode = mode; - else { - if (++g_Config.iRenderingMode > FB_READFBOMEMORY_GPU) - g_Config.iRenderingMode = FB_NON_BUFFERED_MODE; - } - I18NCategory *gr = GetI18NCategory("Graphics"); + g_Config.iRenderingMode = mode; switch (g_Config.iRenderingMode) { case FB_NON_BUFFERED_MODE: osm.Show(gr->T("Non-Buffered Rendering")); @@ -524,14 +516,6 @@ namespace MainWindow { case FB_BUFFERED_MODE: osm.Show(gr->T("Buffered Rendering")); break; - - case FB_READFBOMEMORY_CPU: - osm.Show(gr->T("Read Framebuffers To Memory (CPU)")); - break; - - case FB_READFBOMEMORY_GPU: - osm.Show(gr->T("Read Framebuffers To Memory (GPU)")); - break; } NativeMessageReceived("gpu_resized", ""); @@ -804,8 +788,6 @@ namespace MainWindow { case ID_OPTIONS_NONBUFFEREDRENDERING: setRenderingMode(FB_NON_BUFFERED_MODE); break; case ID_OPTIONS_BUFFEREDRENDERING: setRenderingMode(FB_BUFFERED_MODE); break; - case ID_OPTIONS_READFBOTOMEMORYCPU: setRenderingMode(FB_READFBOMEMORY_CPU); break; - case ID_OPTIONS_READFBOTOMEMORYGPU: setRenderingMode(FB_READFBOMEMORY_GPU); break; case ID_DEBUG_SHOWDEBUGSTATISTICS: g_Config.bShowDebugStats = !g_Config.bShowDebugStats; @@ -1217,14 +1199,7 @@ namespace MainWindow { static const int renderingmode[] = { ID_OPTIONS_NONBUFFEREDRENDERING, ID_OPTIONS_BUFFEREDRENDERING, - ID_OPTIONS_READFBOTOMEMORYCPU, - ID_OPTIONS_READFBOTOMEMORYGPU, }; - if (g_Config.iRenderingMode < FB_NON_BUFFERED_MODE) - g_Config.iRenderingMode = FB_NON_BUFFERED_MODE; - - else if (g_Config.iRenderingMode > FB_READFBOMEMORY_GPU) - g_Config.iRenderingMode = FB_READFBOMEMORY_GPU; for (int i = 0; i < ARRAY_SIZE(renderingmode); i++) { CheckMenuItem(menu, renderingmode[i], MF_BYCOMMAND | ((i == g_Config.iRenderingMode) ? MF_CHECKED : MF_UNCHECKED)); diff --git a/Windows/ppsspp.rc b/Windows/ppsspp.rc index 867613bd9d..cd334bcc7f 100644 --- a/Windows/ppsspp.rc +++ b/Windows/ppsspp.rc @@ -504,10 +504,8 @@ BEGIN POPUP "Rendering Mode" BEGIN - MENUITEM "Non-Buffered Rendering", ID_OPTIONS_NONBUFFEREDRENDERING - MENUITEM "Buffered Rendering", ID_OPTIONS_BUFFEREDRENDERING - MENUITEM "Read Framebuffers To Memory (CPU)", ID_OPTIONS_READFBOTOMEMORYCPU - MENUITEM "Read Framebuffers To Memory (GPU)", ID_OPTIONS_READFBOTOMEMORYGPU + MENUITEM "Non-Buffered Rendering", ID_OPTIONS_NONBUFFEREDRENDERING + MENUITEM "Buffered Rendering", ID_OPTIONS_BUFFEREDRENDERING END POPUP "Frame Skipping" BEGIN diff --git a/Windows/resource.h b/Windows/resource.h index ba90e1ac79..887038bd47 100644 --- a/Windows/resource.h +++ b/Windows/resource.h @@ -241,8 +241,6 @@ #define ID_DISASM_THREAD_KILL 40073 #define ID_FILE_SAVESTATE_NEXT_SLOT 40074 #define ID_FILE_SAVESTATE_NEXT_SLOT_HC 40075 -#define ID_OPTIONS_READFBOTOMEMORYGPU 40076 -#define ID_OPTIONS_READFBOTOMEMORYCPU 40077 #define ID_OPTIONS_NONBUFFEREDRENDERING 40078 #define ID_OPTIONS_FRAMESKIP_0 40079 #define ID_OPTIONS_FRAMESKIP_1 40080