Qt: Move downsampling to enhancement settings

This commit is contained in:
Connor McLaughlin 2022-10-13 17:48:31 +10:00
parent 98ef639c0a
commit cc3fadba14
6 changed files with 44 additions and 43 deletions

View file

@ -764,9 +764,9 @@ bool CDROM::HasPendingDiscEvent() const
TickCount CDROM::GetAckDelayForCommand(Command command)
{
if (command == Command::Init)
if (command == Command::Reset)
{
// Init takes longer.
// Full reset takes longer.
return 120000;
}
@ -1349,11 +1349,11 @@ void CDROM::ExecuteCommand(TickCount ticks_late)
return;
}
case Command::Reset:
case Command::Init:
{
Log_DebugPrintf("CDROM reset command");
if (m_command_second_response == Command::Reset)
if (m_command_second_response == Command::Init)
{
// still pending
EndCommand();
@ -1367,7 +1367,7 @@ void CDROM::ExecuteCommand(TickCount ticks_late)
SoftReset(ticks_late);
QueueCommandSecondResponse(Command::Reset, RESET_TICKS);
QueueCommandSecondResponse(Command::Init, INIT_TICKS);
return;
}
break;
@ -1666,7 +1666,7 @@ void CDROM::ExecuteCommandSecondResponse(TickCount ticks_late)
case Command::ReadTOC:
case Command::Pause:
case Command::Reset:
case Command::Init:
case Command::MotorOn:
case Command::Stop:
DoStatSecondResponse();

View file

@ -82,7 +82,7 @@ private:
AUDIO_FIFO_SIZE = 44100 * 2,
AUDIO_FIFO_LOW_WATERMARK = 10,
RESET_TICKS = 400000,
INIT_TICKS = 400000,
ID_READ_TICKS = 33868,
MOTOR_ON_RESPONSE_TICKS = 400000,
@ -113,7 +113,7 @@ private:
MotorOn = 0x07,
Stop = 0x08,
Pause = 0x09,
Reset = 0x0A,
Init = 0x0A,
Mute = 0x0B,
Demute = 0x0C,
Setfilter = 0x0D,
@ -131,7 +131,7 @@ private:
Test = 0x19,
GetID = 0x1A,
ReadS = 0x1B,
Init = 0x1C,
Reset = 0x1C,
GetQ = 0x1D,
ReadTOC = 0x1E,
VideoCD = 0x1F,

View file

@ -39,9 +39,6 @@ DisplaySettingsWidget::DisplaySettingsWidget(SettingsDialog* dialog, QWidget* pa
SettingWidgetBinder::BindWidgetToEnumSetting(sif, m_ui.displayAlignment, "Display", "Alignment",
&Settings::ParseDisplayAlignment, &Settings::GetDisplayAlignmentName,
Settings::DEFAULT_DISPLAY_ALIGNMENT);
SettingWidgetBinder::BindWidgetToEnumSetting(sif, m_ui.gpuDownsampleMode, "GPU", "DownsampleMode",
&Settings::ParseDownsampleModeName, &Settings::GetDownsampleModeName,
Settings::DEFAULT_GPU_DOWNSAMPLE_MODE);
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.displayLinearFiltering, "Display", "LinearFiltering", true);
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.displayIntegerScaling, "Display", "IntegerScaling", false);
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.displayStretch, "Display", "Stretch", false);
@ -102,10 +99,6 @@ DisplaySettingsWidget::DisplaySettingsWidget(SettingsDialog* dialog, QWidget* pa
m_ui.displayAlignment, tr("Position"),
qApp->translate("DisplayCropMode", Settings::GetDisplayAlignmentDisplayName(Settings::DEFAULT_DISPLAY_ALIGNMENT)),
tr("Determines the position on the screen when black borders must be added."));
dialog->registerWidgetHelp(
m_ui.gpuDownsampleMode, tr("Downsampling"), tr("Disabled"),
tr("Downsamples the rendered image prior to displaying it. Can improve overall image quality in mixed 2D/3D games, "
"but should be disabled for pure 3D games. Only applies to the hardware renderers."));
dialog->registerWidgetHelp(m_ui.displayLinearFiltering, tr("Linear Upscaling"), tr("Checked"),
tr("Uses bilinear texture filtering when displaying the console's framebuffer to the "
"screen. <br>Disabling filtering "
@ -189,12 +182,6 @@ void DisplaySettingsWidget::setupAdditionalUi()
m_ui.displayAlignment->addItem(
qApp->translate("DisplayAlignment", Settings::GetDisplayAlignmentDisplayName(static_cast<DisplayAlignment>(i))));
}
for (u32 i = 0; i < static_cast<u32>(GPUDownsampleMode::Count); i++)
{
m_ui.gpuDownsampleMode->addItem(
qApp->translate("GPUDownsampleMode", Settings::GetDownsampleModeDisplayName(static_cast<GPUDownsampleMode>(i))));
}
}
void DisplaySettingsWidget::populateGPUAdaptersAndResolutions()

View file

@ -154,17 +154,17 @@
<item row="1" column="1">
<widget class="QComboBox" name="displayCropMode"/>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_6">
<item row="2" column="0">
<widget class="QLabel" name="label_7">
<property name="text">
<string>Downsampling:</string>
<string>Position:</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QComboBox" name="gpuDownsampleMode"/>
<item row="2" column="1">
<widget class="QComboBox" name="displayAlignment"/>
</item>
<item row="4" column="0" colspan="2">
<item row="3" column="0" colspan="2">
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QCheckBox" name="displayIntegerScaling">
@ -196,16 +196,6 @@
</item>
</layout>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_7">
<property name="text">
<string>Position:</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QComboBox" name="displayAlignment"/>
</item>
</layout>
</widget>
</item>

View file

@ -14,6 +14,9 @@ EnhancementSettingsWidget::EnhancementSettingsWidget(SettingsDialog* dialog, QWi
setupAdditionalUi();
SettingWidgetBinder::BindWidgetToIntSetting(sif, m_ui.resolutionScale, "GPU", "ResolutionScale", 1);
SettingWidgetBinder::BindWidgetToEnumSetting(sif, m_ui.gpuDownsampleMode, "GPU", "DownsampleMode",
&Settings::ParseDownsampleModeName, &Settings::GetDownsampleModeName,
Settings::DEFAULT_GPU_DOWNSAMPLE_MODE);
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.trueColor, "GPU", "TrueColor", false);
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.scaledDithering, "GPU", "ScaledDithering", false);
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.disableInterlacing, "GPU", "DisableInterlacing", true);
@ -41,9 +44,14 @@ EnhancementSettingsWidget::EnhancementSettingsWidget(SettingsDialog* dialog, QWi
updateScaledDitheringEnabled();
connect(m_ui.pgxpEnable, &QCheckBox::stateChanged, this, &EnhancementSettingsWidget::updatePGXPSettingsEnabled);
connect(m_ui.pgxpTextureCorrection, &QCheckBox::stateChanged, this, &EnhancementSettingsWidget::updatePGXPSettingsEnabled);
connect(m_ui.pgxpTextureCorrection, &QCheckBox::stateChanged, this,
&EnhancementSettingsWidget::updatePGXPSettingsEnabled);
updatePGXPSettingsEnabled();
dialog->registerWidgetHelp(
m_ui.gpuDownsampleMode, tr("Downsampling"), tr("Disabled"),
tr("Downsamples the rendered image prior to displaying it. Can improve overall image quality in mixed 2D/3D games, "
"but should be disabled for pure 3D games. Only applies to the hardware renderers."));
dialog->registerWidgetHelp(
m_ui.disableInterlacing, tr("Disable Interlacing (force progressive render/scan)"), tr("Unchecked"),
tr(
@ -139,6 +147,12 @@ void EnhancementSettingsWidget::setupAdditionalUi()
m_ui.textureFiltering->addItem(
qApp->translate("GPUTextureFilter", Settings::GetTextureFilterDisplayName(static_cast<GPUTextureFilter>(i))));
}
for (u32 i = 0; i < static_cast<u32>(GPUDownsampleMode::Count); i++)
{
m_ui.gpuDownsampleMode->addItem(
qApp->translate("GPUDownsampleMode", Settings::GetDownsampleModeDisplayName(static_cast<GPUDownsampleMode>(i))));
}
}
void EnhancementSettingsWidget::updatePGXPSettingsEnabled()

View file

@ -52,34 +52,44 @@
<item row="2" column="1">
<widget class="QComboBox" name="textureFiltering"/>
</item>
<item row="3" column="0" colspan="2">
<item row="4" column="0" colspan="2">
<widget class="QCheckBox" name="trueColor">
<property name="text">
<string>True Color Rendering (24-bit, disables dithering)</string>
</property>
</widget>
</item>
<item row="4" column="0" colspan="2">
<item row="5" column="0" colspan="2">
<widget class="QCheckBox" name="scaledDithering">
<property name="text">
<string>Scaled Dithering (scale dither pattern to resolution)</string>
</property>
</widget>
</item>
<item row="5" column="0" colspan="2">
<item row="6" column="0" colspan="2">
<widget class="QCheckBox" name="widescreenHack">
<property name="text">
<string>Widescreen Hack (render 3D in display aspect ratio)</string>
</property>
</widget>
</item>
<item row="6" column="0" colspan="2">
<item row="7" column="0" colspan="2">
<widget class="QCheckBox" name="useSoftwareRendererForReadbacks">
<property name="text">
<string>Software Renderer Readbacks (run in parallel for VRAM-&gt;CPU transfers)</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Downsampling:</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QComboBox" name="gpuDownsampleMode"/>
</item>
</layout>
</widget>
</item>