From 09008bb3a38268889b6d9f0107f94a912b736b65 Mon Sep 17 00:00:00 2001 From: Stenzek Date: Thu, 11 Jun 2026 00:43:00 +1000 Subject: [PATCH] Qt: Round round texcoords only applies to 3D Don't keep the option enabled if sprite filtering is still set to nearest. --- src/core/fullscreenui_settings.cpp | 6 +----- src/duckstation-qt/graphicssettingswidget.cpp | 5 +---- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/src/core/fullscreenui_settings.cpp b/src/core/fullscreenui_settings.cpp index 58551bbcf..6383b6af9 100644 --- a/src/core/fullscreenui_settings.cpp +++ b/src/core/fullscreenui_settings.cpp @@ -4172,17 +4172,13 @@ void FullscreenUI::DrawGraphicsSettingsPage() const GPUTextureFilter texture_filtering = Settings::ParseTextureFilterName(GetEffectiveTinyStringSetting(bsi, "GPU", "TextureFilter")) .value_or(Settings::DEFAULT_GPU_TEXTURE_FILTER); - const GPUTextureFilter sprite_texture_filtering = - Settings::ParseTextureFilterName(GetEffectiveTinyStringSetting(bsi, "GPU", "SpriteTextureFilter")) - .value_or(texture_filtering); DrawToggleSetting( bsi, FSUI_ICONVSTR(ICON_FA_EYE_DROPPER, "Round Upscaled Texture Coordinates"), FSUI_VSTR("Rounds texture coordinates instead of flooring when upscaling. Can fix misaligned " "textures in some games, but break others, and is incompatible with texture filtering."), "GPU", "ForceRoundTextureCoordinates", false, - resolution_scale != 1 && - (texture_filtering == GPUTextureFilter::Nearest || sprite_texture_filtering == GPUTextureFilter::Nearest)); + resolution_scale != 1 && texture_filtering == GPUTextureFilter::Nearest); } DrawToggleSetting( diff --git a/src/duckstation-qt/graphicssettingswidget.cpp b/src/duckstation-qt/graphicssettingswidget.cpp index a83c42bc0..5af171401 100644 --- a/src/duckstation-qt/graphicssettingswidget.cpp +++ b/src/duckstation-qt/graphicssettingswidget.cpp @@ -636,8 +636,6 @@ void GraphicsSettingsWidget::updateRendererDependentOptions() !m_dialog->hasGameTrait(GameDatabase::Trait::DisableScaledInterlacing)); m_ui.useSoftwareRendererForReadbacks->setEnabled( is_hardware && !m_dialog->hasGameTrait(GameDatabase::Trait::ForceSoftwareRendererForReadbacks)); - m_ui.forceRoundedTexcoords->setEnabled( - is_hardware && !m_dialog->hasGameTrait(GameDatabase::Trait::ForceRoundUpscaledTextureCoordinates)); m_ui.tabs->setTabEnabled(TAB_INDEX_TEXTURE_REPLACEMENTS, is_hardware); @@ -1002,8 +1000,7 @@ void GraphicsSettingsWidget::updateResolutionDependentOptions() Settings::ParseTextureFilterName(m_dialog->getEffectiveStringValue("GPU", "SpriteTextureFilter").c_str()) .value_or(texture_filtering); m_ui.forceRoundedTexcoords->setEnabled( - is_hardware && scale != 1 && - (texture_filtering == GPUTextureFilter::Nearest || sprite_texture_filtering == GPUTextureFilter::Nearest) && + is_hardware && scale != 1 && texture_filtering == GPUTextureFilter::Nearest && !m_dialog->hasGameTrait(GameDatabase::Trait::ForceRoundUpscaledTextureCoordinates)); }