From 9e535717f9112a358730367189a957f91cc7763f Mon Sep 17 00:00:00 2001 From: The Dax Date: Fri, 19 Jul 2013 19:23:17 -0400 Subject: [PATCH] UI on all platforms(including NewUI!): Add options to change FramebufferCPUConvert without manual editing of INI file. --- UI/GameSettingsScreen.cpp | 1 + UI/MenuScreens.cpp | 10 ++++++++-- Windows/WndMainWindow.cpp | 8 ++++++++ Windows/ppsspp.rc | Bin 39038 -> 39182 bytes Windows/resource.h | Bin 25198 -> 25278 bytes 5 files changed, 17 insertions(+), 2 deletions(-) diff --git a/UI/GameSettingsScreen.cpp b/UI/GameSettingsScreen.cpp index d6292625ef..76740156d8 100644 --- a/UI/GameSettingsScreen.cpp +++ b/UI/GameSettingsScreen.cpp @@ -162,6 +162,7 @@ void GameSettingsScreen::CreateViews() { graphicsSettings->Add(new CheckBox(&g_Config.bUseVBO, gs->T("Stream VBO"))); graphicsSettings->Add(new CheckBox(&g_Config.SSAntiAliasing, gs->T("Anti Aliasing"))); graphicsSettings->Add(new CheckBox(&g_Config.bFramebuffersToMem, gs->T("Read Framebuffer to memory"))); + graphicsSettings->Add(new CheckBox(&g_Config.bFramebuffersCPUConvert, gs->T("Convert Framebuffer using CPU"))); // TODO: Does frame rate belong among the graphics settings? graphicsSettings->Add(new ItemHeader(gs->T("Frame rate"))); diff --git a/UI/MenuScreens.cpp b/UI/MenuScreens.cpp index 439af5d5f6..32d6175bf7 100644 --- a/UI/MenuScreens.cpp +++ b/UI/MenuScreens.cpp @@ -954,7 +954,7 @@ void GraphicsScreenP1::render() { g_Config.iVSyncInterval = Vsync ? 1 : 0; UICheckBox(GEN_ID, x, y += stride, gs->T("Fullscreen"), ALIGN_TOPLEFT, &g_Config.bFullScreen); #endif - UICheckBox(GEN_ID, x, y += stride, gs->T("Display Raw Framebuffer"), ALIGN_TOPLEFT, &g_Config.bDisplayFramebuffer); + if (UICheckBox(GEN_ID, x, y += stride, gs->T("Buffered Rendering"), ALIGN_TOPLEFT, &g_Config.bBufferedRendering)) { if (gpu) gpu->Resized(); @@ -964,6 +964,10 @@ void GraphicsScreenP1::render() { if (gpu) gpu->Resized(); } + if (UICheckBox(GEN_ID, x + 60, y += stride, gs->T("Convert Framebuffers using CPU"), ALIGN_TOPLEFT, &g_Config.bFramebuffersCPUConvert)) { + if (gpu) + gpu->Resized(); + } if (UICheckBox(GEN_ID, x + 60, y += stride, gs->T("AA", "Anti-Aliasing"), ALIGN_TOPLEFT, &g_Config.SSAntiAliasing)) { if (gpu) gpu->Resized(); @@ -1245,7 +1249,9 @@ void GraphicsScreenP3::render() { y += 20; } else g_Config.iFrameSkip = 0; - + + UICheckBox(GEN_ID, x, y += stride, gs->T("Display Raw Framebuffer"), ALIGN_TOPLEFT, &g_Config.bDisplayFramebuffer); + UIEnd(); } diff --git a/Windows/WndMainWindow.cpp b/Windows/WndMainWindow.cpp index 2f84448a49..29b5457fd1 100644 --- a/Windows/WndMainWindow.cpp +++ b/Windows/WndMainWindow.cpp @@ -734,6 +734,13 @@ namespace MainWindow gpu->Resized(); // easy way to force a clear... break; + case ID_OPTIONS_FBOCPUCONVERT: + g_Config.bFramebuffersCPUConvert = !g_Config.bFramebuffersCPUConvert; + osm.ShowOnOff(g->T("Convert Framebuffer using CPU"), g_Config.bFramebuffersCPUConvert); + if(gpu) + gpu->Resized(); // easy way to force a clear... + break; + case ID_OPTIONS_SHOWDEBUGSTATISTICS: g_Config.bShowDebugStats = !g_Config.bShowDebugStats; break; @@ -1036,6 +1043,7 @@ namespace MainWindow CHECKITEM(ID_CPU_DYNAREC,g_Config.bJit == true); CHECKITEM(ID_OPTIONS_BUFFEREDRENDERING, g_Config.bBufferedRendering); CHECKITEM(ID_OPTIONS_READFBOTOMEMORY, g_Config.bFramebuffersToMem); + CHECKITEM(ID_OPTIONS_FBOCPUCONVERT, g_Config.bFramebuffersCPUConvert); CHECKITEM(ID_OPTIONS_SHOWDEBUGSTATISTICS, g_Config.bShowDebugStats); CHECKITEM(ID_OPTIONS_HARDWARETRANSFORM, g_Config.bHardwareTransform); CHECKITEM(ID_OPTIONS_FASTMEMORY, g_Config.bFastMemory); diff --git a/Windows/ppsspp.rc b/Windows/ppsspp.rc index 4ff2ba8e6b5be35e5972f0f07b8d59bd6c662340..4f199195df71745421f9623863a01e668a50f5e3 100644 GIT binary patch delta 80 zcmeyjfvIm3(+07k$x7uClNCBxIP)0F7*ZLE7)mBDER+>iV<=@PX2@j7V@PLEU~py# gUNl&R?Jcv!xO+ delta 25 hcmdmYl=0mW#trM@Cz^>&KET8=*}$D;vs}UgCIFVH3Jw4O