Vulkan: Allow MSAA on modern-ish mobile devices, but add a little warning sign.

MSAA on tiler GPUs, the way we use it (we are not able to eliminate
load/store operations yet) can consume huge amounts of bandwidth, so let's be a
little bit careful.
This commit is contained in:
Henrik Rydgård committed 2023-12-03 20:59:15 +01:00
1 parent 0c760bae91
commit 1f2dbfaf25
6 files changed
+82 -31

No files matched your search

+8 -1
View File
@@ -301,12 +301,19 @@ void GameSettingsScreen::CreateGraphicsSettings(UI::ViewGroup *graphicsSettings)
System_PostUIMessage(UIMessage::GPU_RENDER_RESIZED);
return UI::EVENT_DONE;
});
msaaChoice->SetDisabledPtr(&g_Config.bSoftwareRendering);
if (g_Config.iMultiSampleLevel > 1 && draw->GetDeviceCaps().isTilingGPU) {
msaaChoice->SetIcon(ImageID("I_WARNING"), 0.7f);
}
msaaChoice->SetEnabledFunc([] {
return !g_Config.bSoftwareRendering && !g_Config.bSkipBufferEffects;
});
// Hide unsupported levels.
for (int i = 1; i < 5; i++) {
if ((draw->GetDeviceCaps().multiSampleLevelsMask & (1 << i)) == 0) {
msaaChoice->HideChoice(i);
} else if (i > 0 && draw->GetDeviceCaps().isTilingGPU) {
msaaChoice->SetChoiceIcon(i, ImageID("I_WARNING"));
}
}
}