diff --git a/UI/GameSettingsScreen.cpp b/UI/GameSettingsScreen.cpp index 3e921719de..3132efcf46 100644 --- a/UI/GameSettingsScreen.cpp +++ b/UI/GameSettingsScreen.cpp @@ -458,7 +458,7 @@ void GameSettingsScreen::CreateViews() { texScalingChoice->SetDisabledPtr(&g_Config.bSoftwareRendering); if (!g_Config.bSimpleUI) { - static const char *texScaleAlgos[] = { "xBRZ", "Hybrid", "Bicubic", "Hybrid + Bicubic", "4xBRZ", "xBR", "SABR", "Gaussian", "Cosine" }; + static const char *texScaleAlgos[] = { "xBRZ", "Hybrid", "Bicubic", "Hybrid + Bicubic", "4xBRZ (Realtime Scaling)", "xBR (Realtime Scaling)", "SABR (Realtime Scaling)", "Gaussian (Realtime Scaling)", "Cosine (Realtime Scaling)" }; PopupMultiChoice *texScalingType = graphicsSettings->Add(new PopupMultiChoice(&g_Config.iTexScalingType, gr->T("Upscale Type"), texScaleAlgos, 0, ARRAY_SIZE(texScaleAlgos), gr->GetName(), screenManager())); texScalingType->SetDisabledPtr(&g_Config.bSoftwareRendering); @@ -471,14 +471,19 @@ void GameSettingsScreen::CreateViews() { }); deposterize->SetDisabledPtr(&g_Config.bSoftwareRendering); - CheckBox *realtimeScaling = graphicsSettings->Add(new CheckBox(&g_Config.bRealtimeTexScaling, gr->T("Realtime Scaling"))); - realtimeScaling->OnClick.Add([=](EventParams &e) { - if (g_Config.bRealtimeTexScaling == true) { - settingInfo_->Show(gr->T("Realtime Scaling Tip", "GPU heavy - apply texture scaling filters with shaders during rendering"), e.v); - } - return UI::EVENT_CONTINUE; - }); - realtimeScaling->SetDisabledPtr(&g_Config.bSoftwareRendering); + if (g_Config.iGPUBackend == (int)GPUBackend::DIRECT3D11) { + CheckBox *realtimeScaling = graphicsSettings->Add(new CheckBox(&g_Config.bRealtimeTexScaling, gr->T("Realtime Scaling"))); + realtimeScaling->OnClick.Add([=](EventParams &e) { + if (g_Config.bRealtimeTexScaling == true) { + settingInfo_->Show(gr->T("Realtime Scaling Tip", "GPU heavy - apply texture scaling filters with shaders during rendering"), e.v); + } + return UI::EVENT_CONTINUE; + }); + realtimeScaling->SetDisabledPtr(&g_Config.bSoftwareRendering); + } else { + Choice *realtimeScaling = graphicsSettings->Add(new Choice(gr->T("Realtime Scaling requires D3D11 backend!"))); + realtimeScaling->SetEnabled(false); + } graphicsSettings->Add(new ItemHeader(gr->T("Texture Filtering"))); static const char *anisoLevels[] = { "Off", "2x", "4x", "8x", "16x" }; PopupMultiChoice *anisoFiltering = graphicsSettings->Add(new PopupMultiChoice(&g_Config.iAnisotropyLevel, gr->T("Anisotropic Filtering"), anisoLevels, 0, ARRAY_SIZE(anisoLevels), gr->GetName(), screenManager())); diff --git a/Windows/ppsspp.rc b/Windows/ppsspp.rc index c0910495cf..9d04872d82 100644 --- a/Windows/ppsspp.rc +++ b/Windows/ppsspp.rc @@ -616,14 +616,14 @@ BEGIN MENUITEM "Hybrid", ID_TEXTURESCALING_HYBRID MENUITEM "Bicubic", ID_TEXTURESCALING_BICUBIC MENUITEM "Hybrid + Bicubic", ID_TEXTURESCALING_HYBRID_BICUBIC - MENUITEM "4xBRZ", ID_TEXTURESCALING_4XBRZ - MENUITEM "xBR", ID_TEXTURESCALING_XBR - MENUITEM "SABR", ID_TEXTURESCALING_SABR - MENUITEM "Gaussian", ID_TEXTURESCALING_GAUSSIAN - MENUITEM "Cosine", ID_TEXTURESCALING_COSINE + MENUITEM "4xBRZ(RS)", ID_TEXTURESCALING_4XBRZ + MENUITEM "xBR(RS)", ID_TEXTURESCALING_XBR + MENUITEM "SABR(RS)", ID_TEXTURESCALING_SABR + MENUITEM "Gaussian(RS)", ID_TEXTURESCALING_GAUSSIAN + MENUITEM "Cosine(RS)", ID_TEXTURESCALING_COSINE MENUITEM SEPARATOR MENUITEM "Deposterize", ID_TEXTURESCALING_DEPOSTERIZE - MENUITEM "Realtime Scaling", ID_TEXTURESCALING_REALTIME + MENUITEM "Realtime Scaling(D3D11)", ID_TEXTURESCALING_REALTIME END MENUITEM "Hardware Transform", ID_OPTIONS_HARDWARETRANSFORM MENUITEM "Vertex Cache", ID_OPTIONS_VERTEXCACHE