UI-Qt: Add Bilinear dropdown to SW options

This commit is contained in:
refractionpcsx2 2022-08-02 00:58:29 +01:00
parent f1e68e9bd0
commit 9a8a3601a7
3 changed files with 83 additions and 12 deletions

View File

@ -250,6 +250,7 @@ GraphicsSettingsWidget::GraphicsSettingsWidget(SettingsDialog* dialog, QWidget*
//////////////////////////////////////////////////////////////////////////
// SW Settings
//////////////////////////////////////////////////////////////////////////
SettingWidgetBinder::BindWidgetToIntSetting(sif, m_ui.swTextureFiltering, "EmuCore/GS", "filter", static_cast<int>(BiFiltering::PS2));
SettingWidgetBinder::BindWidgetToIntSetting(sif, m_ui.extraSWThreads, "EmuCore/GS", "extrathreads", 2);
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.swAutoFlush, "EmuCore/GS", "autoflush_sw", true);
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.swMipmap, "EmuCore/GS", "mipmap", true);
@ -285,6 +286,8 @@ GraphicsSettingsWidget::GraphicsSettingsWidget(SettingsDialog* dialog, QWidget*
connect(m_ui.renderer, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &GraphicsSettingsWidget::onRendererChanged);
connect(m_ui.enableHWFixes, &QCheckBox::stateChanged, this, &GraphicsSettingsWidget::onEnableHardwareFixesChanged);
connect(m_ui.textureFiltering, &QComboBox::currentIndexChanged, this, &GraphicsSettingsWidget::onTextureFilteringChange);
connect(m_ui.swTextureFiltering, &QComboBox::currentIndexChanged, this, &GraphicsSettingsWidget::onSWTextureFilteringChange);
updateRendererDependentOptions();
// only allow disabling readbacks for per-game settings, it's too dangerous
@ -473,6 +476,20 @@ GraphicsSettingsWidget::GraphicsSettingsWidget(SettingsDialog* dialog, QWidget*
GraphicsSettingsWidget::~GraphicsSettingsWidget() = default;
void GraphicsSettingsWidget::onTextureFilteringChange()
{
const QSignalBlocker block(m_ui.swTextureFiltering);
m_ui.swTextureFiltering->setCurrentIndex(m_ui.textureFiltering->currentIndex());
}
void GraphicsSettingsWidget::onSWTextureFilteringChange()
{
const QSignalBlocker block(m_ui.textureFiltering);
m_ui.textureFiltering->setCurrentIndex(m_ui.swTextureFiltering->currentIndex());
}
void GraphicsSettingsWidget::onRendererChanged(int index)
{
if (m_dialog->isPerGameSettings())

View File

@ -35,6 +35,8 @@ Q_SIGNALS:
void fullscreenModesChanged(const QStringList& modes);
private Q_SLOTS:
void onTextureFilteringChange();
void onSWTextureFilteringChange();
void onRendererChanged(int index);
void onAdapterChanged(int index);
void onEnableHardwareFixesChanged();

View File

@ -6,7 +6,7 @@
<rect>
<x>0</x>
<y>0</y>
<width>657</width>
<width>658</width>
<height>890</height>
</rect>
</property>
@ -1516,6 +1516,15 @@
</item>
<item>
<widget class="QTabWidget" name="softwareRendererGroup">
<property name="enabled">
<bool>true</bool>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>203</height>
</size>
</property>
<property name="documentMode">
<bool>true</bool>
</property>
@ -1524,29 +1533,65 @@
<string>Rendering</string>
</attribute>
<layout class="QFormLayout" name="formLayout_3">
<item row="0" column="0">
<widget class="QLabel" name="label_9">
<item row="0" column="1">
<widget class="QComboBox" name="swTextureFiltering">
<property name="enabled">
<bool>true</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="layoutDirection">
<enum>Qt::LeftToRight</enum>
</property>
<item>
<property name="text">
<string>Extra Rendering Threads:</string>
<string>Nearest</string>
</property>
</item>
<item>
<property name="text">
<string>Bilinear (Forced)</string>
</property>
</item>
<item>
<property name="text">
<string>Bilinear (PS2)</string>
</property>
</item>
<item>
<property name="text">
<string>Bilinear (Forced excluding sprite)</string>
</property>
</item>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label_37">
<property name="text">
<string>Texture Filtering:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<item row="1" column="1">
<widget class="QSpinBox" name="extraSWThreads">
<property name="suffix">
<string> threads</string>
</property>
</widget>
</item>
<item row="1" column="0" colspan="2">
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="0">
<widget class="QCheckBox" name="swAutoFlush">
<item row="1" column="0">
<widget class="QLabel" name="label_9">
<property name="text">
<string>Auto Flush</string>
<string>Extra Rendering Threads:</string>
</property>
</widget>
</item>
<item row="2" column="0" colspan="2">
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="1">
<widget class="QCheckBox" name="swMipmap">
<property name="text">
@ -1554,6 +1599,13 @@
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QCheckBox" name="swAutoFlush">
<property name="text">
<string>Auto Flush</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>