|
|
|
|
@ -43,12 +43,12 @@ EnhancementSettingsWidget::EnhancementSettingsWidget(SettingsWindow* dialog, QWi
|
|
|
|
|
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.pgxpCPU, "GPU", "PGXPCPU", false);
|
|
|
|
|
|
|
|
|
|
connect(m_ui.resolutionScale, QOverload<int>::of(&QComboBox::currentIndexChanged), this,
|
|
|
|
|
&EnhancementSettingsWidget::updateScaledDitheringEnabled);
|
|
|
|
|
&EnhancementSettingsWidget::onTrueColorChanged);
|
|
|
|
|
connect(m_ui.gpuDownsampleMode, QOverload<int>::of(&QComboBox::currentIndexChanged), this,
|
|
|
|
|
&EnhancementSettingsWidget::updateDownsampleScaleVisible);
|
|
|
|
|
connect(m_ui.trueColor, &QCheckBox::stateChanged, this, &EnhancementSettingsWidget::updateScaledDitheringEnabled);
|
|
|
|
|
connect(m_ui.trueColor, &QCheckBox::stateChanged, this, &EnhancementSettingsWidget::onTrueColorChanged);
|
|
|
|
|
updateDownsampleScaleVisible();
|
|
|
|
|
updateScaledDitheringEnabled();
|
|
|
|
|
onTrueColorChanged();
|
|
|
|
|
|
|
|
|
|
connect(m_ui.pgxpEnable, &QCheckBox::stateChanged, this, &EnhancementSettingsWidget::updatePGXPSettingsEnabled);
|
|
|
|
|
connect(m_ui.pgxpTextureCorrection, &QCheckBox::stateChanged, this,
|
|
|
|
|
@ -63,7 +63,7 @@ EnhancementSettingsWidget::EnhancementSettingsWidget(SettingsWindow* dialog, QWi
|
|
|
|
|
tr("Selects the resolution scale that will be applied to the final image. 1x will "
|
|
|
|
|
"downsample to the original console resolution."));
|
|
|
|
|
dialog->registerWidgetHelp(
|
|
|
|
|
m_ui.disableInterlacing, tr("Disable Interlacing (force progressive render/scan)"), tr("Unchecked"),
|
|
|
|
|
m_ui.disableInterlacing, tr("Disable Interlacing"), tr("Unchecked"),
|
|
|
|
|
tr(
|
|
|
|
|
"Forces the rendering and display of frames to progressive mode. <br>This removes the \"combing\" effect seen in "
|
|
|
|
|
"480i games by rendering them in 480p. Usually safe to enable.<br> "
|
|
|
|
|
@ -74,7 +74,7 @@ EnhancementSettingsWidget::EnhancementSettingsWidget(SettingsWindow* dialog, QWi
|
|
|
|
|
"to the hardware backends. <br>This option is usually safe, with most games looking fine at "
|
|
|
|
|
"higher resolutions. Higher resolutions require a more powerful GPU."));
|
|
|
|
|
dialog->registerWidgetHelp(
|
|
|
|
|
m_ui.trueColor, tr("True Color Rendering (24-bit, disables dithering)"), tr("Unchecked"),
|
|
|
|
|
m_ui.trueColor, tr("True Color Rendering"), tr("Unchecked"),
|
|
|
|
|
tr("Forces the precision of colours output to the console's framebuffer to use the full 8 bits of precision per "
|
|
|
|
|
"channel. This produces nicer looking gradients at the cost of making some colours look slightly different. "
|
|
|
|
|
"Disabling the option also enables dithering, which makes the transition between colours less sharp by applying "
|
|
|
|
|
@ -83,10 +83,11 @@ EnhancementSettingsWidget::EnhancementSettingsWidget(SettingsWindow* dialog, QWi
|
|
|
|
|
dialog->registerWidgetHelp(
|
|
|
|
|
m_ui.debanding, tr("True Color Debanding"), tr("Unchecked"),
|
|
|
|
|
tr("Applies modern dithering techniques to further smooth out gradients when true color is enabled. "
|
|
|
|
|
"This debanding is performed during rendering (as opposed to a post-processing step), which allows it to be fast while preserving detail. "
|
|
|
|
|
"Debanding increases the file size of screenshots due to the subtle dithering pattern present in screenshots."));
|
|
|
|
|
"This debanding is performed during rendering (as opposed to a post-processing step), which allows it to be "
|
|
|
|
|
"fast while preserving detail. "
|
|
|
|
|
"Debanding increases the file size of screenshots due to the subtle dithering pattern present in screenshots."));
|
|
|
|
|
dialog->registerWidgetHelp(
|
|
|
|
|
m_ui.scaledDithering, tr("Scaled Dithering (scale dither pattern to resolution)"), tr("Checked"),
|
|
|
|
|
m_ui.scaledDithering, tr("Scaled Dithering"), tr("Checked"),
|
|
|
|
|
tr("Scales the dither pattern to the resolution scale of the emulated GPU. This makes the dither pattern much less "
|
|
|
|
|
"obvious at higher resolutions. <br>Usually safe to enable, and only supported by the hardware renderers."));
|
|
|
|
|
dialog->registerWidgetHelp(m_ui.forceNTSCTimings, tr("Force NTSC Timings (60hz-on-PAL)"), tr("Unchecked"),
|
|
|
|
|
@ -145,12 +146,14 @@ EnhancementSettingsWidget::EnhancementSettingsWidget(SettingsWindow* dialog, QWi
|
|
|
|
|
|
|
|
|
|
EnhancementSettingsWidget::~EnhancementSettingsWidget() = default;
|
|
|
|
|
|
|
|
|
|
void EnhancementSettingsWidget::updateScaledDitheringEnabled()
|
|
|
|
|
void EnhancementSettingsWidget::onTrueColorChanged()
|
|
|
|
|
{
|
|
|
|
|
const int resolution_scale = m_ui.resolutionScale->currentIndex();
|
|
|
|
|
const bool true_color = m_ui.trueColor->isChecked();
|
|
|
|
|
const bool allow_scaled_dithering = (resolution_scale != 1 && !true_color);
|
|
|
|
|
const bool allow_debanding = true_color;
|
|
|
|
|
m_ui.scaledDithering->setEnabled(allow_scaled_dithering);
|
|
|
|
|
m_ui.debanding->setEnabled(allow_debanding);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void EnhancementSettingsWidget::updateDownsampleScaleVisible()
|
|
|
|
|
|