mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-12-09 21:31:04 +00:00
Qt: Add FSR options to settings GUI (#3504)
* Qt: Add FSR settings to settings GUI * Move FSR settings from Imgui.ini to main config * move passing fsr settings to presenter constuctor * cleanup: use struct instead of function call * cleanup: make variable names consistent with others * Update fsr settings real-time in qt, save button in Imgui * Linux build fix, missing running game check * syntax fix * Change gamerunning checks to if (presenter)
This commit is contained in:
@@ -81,6 +81,9 @@ static bool isFullscreen = false;
|
|||||||
static std::string fullscreenMode = "Windowed";
|
static std::string fullscreenMode = "Windowed";
|
||||||
static std::string presentMode = "Mailbox";
|
static std::string presentMode = "Mailbox";
|
||||||
static bool isHDRAllowed = false;
|
static bool isHDRAllowed = false;
|
||||||
|
static bool fsrEnabled = true;
|
||||||
|
static bool rcasEnabled = true;
|
||||||
|
static int rcasAttenuation = 250;
|
||||||
|
|
||||||
// Vulkan
|
// Vulkan
|
||||||
static s32 gpuId = -1;
|
static s32 gpuId = -1;
|
||||||
@@ -652,6 +655,30 @@ void setBackgroundControllerInput(bool enable) {
|
|||||||
backgroundControllerInput = enable;
|
backgroundControllerInput = enable;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool getFsrEnabled() {
|
||||||
|
return fsrEnabled;
|
||||||
|
}
|
||||||
|
|
||||||
|
void setFsrEnabled(bool enable) {
|
||||||
|
fsrEnabled = enable;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool getRcasEnabled() {
|
||||||
|
return rcasEnabled;
|
||||||
|
}
|
||||||
|
|
||||||
|
void setRcasEnabled(bool enable) {
|
||||||
|
rcasEnabled = enable;
|
||||||
|
}
|
||||||
|
|
||||||
|
int getRcasAttenuation() {
|
||||||
|
return rcasAttenuation;
|
||||||
|
}
|
||||||
|
|
||||||
|
void setRcasAttenuation(int value) {
|
||||||
|
rcasAttenuation = value;
|
||||||
|
}
|
||||||
|
|
||||||
void load(const std::filesystem::path& path) {
|
void load(const std::filesystem::path& path) {
|
||||||
// If the configuration file does not exist, create it and return
|
// If the configuration file does not exist, create it and return
|
||||||
std::error_code error;
|
std::error_code error;
|
||||||
@@ -737,6 +764,9 @@ void load(const std::filesystem::path& path) {
|
|||||||
fullscreenMode = toml::find_or<std::string>(gpu, "FullscreenMode", fullscreenMode);
|
fullscreenMode = toml::find_or<std::string>(gpu, "FullscreenMode", fullscreenMode);
|
||||||
presentMode = toml::find_or<std::string>(gpu, "presentMode", presentMode);
|
presentMode = toml::find_or<std::string>(gpu, "presentMode", presentMode);
|
||||||
isHDRAllowed = toml::find_or<bool>(gpu, "allowHDR", isHDRAllowed);
|
isHDRAllowed = toml::find_or<bool>(gpu, "allowHDR", isHDRAllowed);
|
||||||
|
fsrEnabled = toml::find_or<bool>(gpu, "fsrEnabled", fsrEnabled);
|
||||||
|
rcasEnabled = toml::find_or<bool>(gpu, "rcasEnabled", rcasEnabled);
|
||||||
|
rcasAttenuation = toml::find_or<int>(gpu, "rcasAttenuation", rcasAttenuation);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (data.contains("Vulkan")) {
|
if (data.contains("Vulkan")) {
|
||||||
@@ -906,6 +936,9 @@ void save(const std::filesystem::path& path) {
|
|||||||
data["GPU"]["FullscreenMode"] = fullscreenMode;
|
data["GPU"]["FullscreenMode"] = fullscreenMode;
|
||||||
data["GPU"]["presentMode"] = presentMode;
|
data["GPU"]["presentMode"] = presentMode;
|
||||||
data["GPU"]["allowHDR"] = isHDRAllowed;
|
data["GPU"]["allowHDR"] = isHDRAllowed;
|
||||||
|
data["GPU"]["fsrEnabled"] = fsrEnabled;
|
||||||
|
data["GPU"]["rcasEnabled"] = rcasEnabled;
|
||||||
|
data["GPU"]["rcasAttenuation"] = rcasAttenuation;
|
||||||
data["Vulkan"]["gpuId"] = gpuId;
|
data["Vulkan"]["gpuId"] = gpuId;
|
||||||
data["Vulkan"]["validation"] = vkValidation;
|
data["Vulkan"]["validation"] = vkValidation;
|
||||||
data["Vulkan"]["validation_sync"] = vkValidationSync;
|
data["Vulkan"]["validation_sync"] = vkValidationSync;
|
||||||
@@ -1016,6 +1049,9 @@ void setDefaultValues() {
|
|||||||
fullscreenMode = "Windowed";
|
fullscreenMode = "Windowed";
|
||||||
presentMode = "Mailbox";
|
presentMode = "Mailbox";
|
||||||
isHDRAllowed = false;
|
isHDRAllowed = false;
|
||||||
|
fsrEnabled = true;
|
||||||
|
rcasEnabled = true;
|
||||||
|
rcasAttenuation = 250;
|
||||||
|
|
||||||
// Vulkan
|
// Vulkan
|
||||||
gpuId = -1;
|
gpuId = -1;
|
||||||
|
|||||||
@@ -115,6 +115,12 @@ bool getBackgroundControllerInput();
|
|||||||
void setBackgroundControllerInput(bool enable);
|
void setBackgroundControllerInput(bool enable);
|
||||||
bool getLoggingEnabled();
|
bool getLoggingEnabled();
|
||||||
void setLoggingEnabled(bool enable);
|
void setLoggingEnabled(bool enable);
|
||||||
|
bool getFsrEnabled();
|
||||||
|
void setFsrEnabled(bool enable);
|
||||||
|
bool getRcasEnabled();
|
||||||
|
void setRcasEnabled(bool enable);
|
||||||
|
int getRcasAttenuation();
|
||||||
|
void setRcasAttenuation(int value);
|
||||||
|
|
||||||
// TODO
|
// TODO
|
||||||
bool GetLoadGameSizeEnabled();
|
bool GetLoadGameSizeEnabled();
|
||||||
|
|||||||
@@ -104,6 +104,16 @@ void L::DrawMenuBar() {
|
|||||||
EndDisabled();
|
EndDisabled();
|
||||||
}
|
}
|
||||||
EndDisabled();
|
EndDisabled();
|
||||||
|
|
||||||
|
if (Button("Save")) {
|
||||||
|
Config::setFsrEnabled(fsr.enable);
|
||||||
|
Config::setRcasEnabled(fsr.use_rcas);
|
||||||
|
Config::setRcasAttenuation(static_cast<int>(fsr.rcas_attenuation * 1000));
|
||||||
|
Config::save(Common::FS::GetUserPath(Common::FS::PathType::UserDir) /
|
||||||
|
"config.toml");
|
||||||
|
CloseCurrentPopup();
|
||||||
|
}
|
||||||
|
|
||||||
ImGui::EndMenu();
|
ImGui::EndMenu();
|
||||||
}
|
}
|
||||||
ImGui::EndMenu();
|
ImGui::EndMenu();
|
||||||
|
|||||||
@@ -30,26 +30,12 @@ void LoadOptionsConfig(const char* line) {
|
|||||||
Options.frame_dump_render_on_collapse = i != 0;
|
Options.frame_dump_render_on_collapse = i != 0;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (sscanf(line, "fsr_enabled=%d", &i) == 1) {
|
|
||||||
presenter->GetFsrSettingsRef().enable = i != 0;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (sscanf(line, "fsr_rcas_enabled=%d", &i) == 1) {
|
|
||||||
presenter->GetFsrSettingsRef().use_rcas = i != 0;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (sscanf(line, "fsr_rcas_attenuation=%f", &f) == 1) {
|
|
||||||
presenter->GetFsrSettingsRef().rcas_attenuation = f;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void SerializeOptionsConfig(ImGuiTextBuffer* buf) {
|
void SerializeOptionsConfig(ImGuiTextBuffer* buf) {
|
||||||
buf->appendf("disassembler_cli_isa=%s\n", Options.disassembler_cli_isa.c_str());
|
buf->appendf("disassembler_cli_isa=%s\n", Options.disassembler_cli_isa.c_str());
|
||||||
buf->appendf("disassembler_cli_spv=%s\n", Options.disassembler_cli_spv.c_str());
|
buf->appendf("disassembler_cli_spv=%s\n", Options.disassembler_cli_spv.c_str());
|
||||||
buf->appendf("frame_dump_render_on_collapse=%d\n", Options.frame_dump_render_on_collapse);
|
buf->appendf("frame_dump_render_on_collapse=%d\n", Options.frame_dump_render_on_collapse);
|
||||||
buf->appendf("fsr_enabled=%d\n", presenter->GetFsrSettingsRef().enable);
|
|
||||||
buf->appendf("fsr_rcas_enabled=%d\n", presenter->GetFsrSettingsRef().use_rcas);
|
|
||||||
buf->appendf("fsr_rcas_attenuation=%f\n", presenter->GetFsrSettingsRef().rcas_attenuation);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace Core::Devtools
|
} // namespace Core::Devtools
|
||||||
|
|||||||
@@ -29,6 +29,9 @@
|
|||||||
#include "settings_dialog.h"
|
#include "settings_dialog.h"
|
||||||
#include "ui_settings_dialog.h"
|
#include "ui_settings_dialog.h"
|
||||||
#include "video_core/renderer_vulkan/vk_instance.h"
|
#include "video_core/renderer_vulkan/vk_instance.h"
|
||||||
|
#include "video_core/renderer_vulkan/vk_presenter.h"
|
||||||
|
|
||||||
|
extern std::unique_ptr<Vulkan::Presenter> presenter;
|
||||||
|
|
||||||
QStringList languageNames = {"Arabic",
|
QStringList languageNames = {"Arabic",
|
||||||
"Czech",
|
"Czech",
|
||||||
@@ -263,7 +266,7 @@ SettingsDialog::SettingsDialog(std::shared_ptr<gui_settings> gui_settings,
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// Gui TAB
|
// GUI TAB
|
||||||
{
|
{
|
||||||
connect(ui->backgroundImageOpacitySlider, &QSlider::valueChanged, this,
|
connect(ui->backgroundImageOpacitySlider, &QSlider::valueChanged, this,
|
||||||
[this](int value) { emit BackgroundOpacityChanged(value); });
|
[this](int value) { emit BackgroundOpacityChanged(value); });
|
||||||
@@ -284,7 +287,7 @@ SettingsDialog::SettingsDialog(std::shared_ptr<gui_settings> gui_settings,
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// User TAB
|
// USER TAB
|
||||||
{
|
{
|
||||||
connect(ui->OpenCustomTrophyLocationButton, &QPushButton::clicked, this, []() {
|
connect(ui->OpenCustomTrophyLocationButton, &QPushButton::clicked, this, []() {
|
||||||
QString userPath;
|
QString userPath;
|
||||||
@@ -294,7 +297,7 @@ SettingsDialog::SettingsDialog(std::shared_ptr<gui_settings> gui_settings,
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// Input TAB
|
// INPUT TAB
|
||||||
{
|
{
|
||||||
connect(ui->hideCursorComboBox, QOverload<int>::of(&QComboBox::currentIndexChanged), this,
|
connect(ui->hideCursorComboBox, QOverload<int>::of(&QComboBox::currentIndexChanged), this,
|
||||||
[this](s16 index) { OnCursorStateChanged(index); });
|
[this](s16 index) { OnCursorStateChanged(index); });
|
||||||
@@ -385,6 +388,32 @@ SettingsDialog::SettingsDialog(std::shared_ptr<gui_settings> gui_settings,
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GRAPHICS TAB
|
||||||
|
connect(ui->RCASSlider, &QSlider::valueChanged, this, [this](int value) {
|
||||||
|
QString RCASValue = QString::number(value / 1000.0, 'f', 3);
|
||||||
|
ui->RCASValue->setText(RCASValue);
|
||||||
|
});
|
||||||
|
|
||||||
|
if (presenter) {
|
||||||
|
connect(ui->RCASSlider, &QSlider::valueChanged, this, [this](int value) {
|
||||||
|
presenter->GetFsrSettingsRef().rcas_attenuation = static_cast<float>(value / 1000.0f);
|
||||||
|
});
|
||||||
|
|
||||||
|
#if (QT_VERSION < QT_VERSION_CHECK(6, 7, 0))
|
||||||
|
connect(ui->FSRCheckBox, &QCheckBox::stateChanged, this,
|
||||||
|
[this](int state) { presenter->GetFsrSettingsRef().enable = state; });
|
||||||
|
|
||||||
|
connect(ui->RCASCheckBox, &QCheckBox::stateChanged, this,
|
||||||
|
[this](int state) { presenter->GetFsrSettingsRef().use_rcas = state; });
|
||||||
|
#else
|
||||||
|
connect(ui->FSRCheckBox, &QCheckBox::checkStateChanged, this,
|
||||||
|
[this](Qt::CheckState state) { presenter->GetFsrSettingsRef().enable = state; });
|
||||||
|
|
||||||
|
connect(ui->RCASCheckBox, &QCheckBox::checkStateChanged, this,
|
||||||
|
[this](Qt::CheckState state) { presenter->GetFsrSettingsRef().use_rcas = state; });
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
// Descriptions
|
// Descriptions
|
||||||
{
|
{
|
||||||
// General
|
// General
|
||||||
@@ -525,6 +554,11 @@ void SettingsDialog::LoadValuesFromConfig() {
|
|||||||
ui->dumpShadersCheckBox->setChecked(toml::find_or<bool>(data, "GPU", "dumpShaders", false));
|
ui->dumpShadersCheckBox->setChecked(toml::find_or<bool>(data, "GPU", "dumpShaders", false));
|
||||||
ui->nullGpuCheckBox->setChecked(toml::find_or<bool>(data, "GPU", "nullGpu", false));
|
ui->nullGpuCheckBox->setChecked(toml::find_or<bool>(data, "GPU", "nullGpu", false));
|
||||||
ui->enableHDRCheckBox->setChecked(toml::find_or<bool>(data, "GPU", "allowHDR", false));
|
ui->enableHDRCheckBox->setChecked(toml::find_or<bool>(data, "GPU", "allowHDR", false));
|
||||||
|
ui->FSRCheckBox->setChecked(toml::find_or<bool>(data, "GPU", "fsrEnabled", true));
|
||||||
|
ui->RCASCheckBox->setChecked(toml::find_or<bool>(data, "GPU", "rcasEnabled", true));
|
||||||
|
ui->RCASSlider->setValue(toml::find_or<int>(data, "GPU", "rcasAttenuation", 500));
|
||||||
|
ui->RCASValue->setText(QString::number(ui->RCASSlider->value() / 1000.0, 'f', 3));
|
||||||
|
|
||||||
ui->playBGMCheckBox->setChecked(m_gui_settings->GetValue(gui::gl_playBackgroundMusic).toBool());
|
ui->playBGMCheckBox->setChecked(m_gui_settings->GetValue(gui::gl_playBackgroundMusic).toBool());
|
||||||
ui->disableTrophycheckBox->setChecked(
|
ui->disableTrophycheckBox->setChecked(
|
||||||
toml::find_or<bool>(data, "General", "isTrophyPopupDisabled", false));
|
toml::find_or<bool>(data, "General", "isTrophyPopupDisabled", false));
|
||||||
@@ -883,6 +917,9 @@ void SettingsDialog::UpdateSettings() {
|
|||||||
Config::setVblankDiv(ui->vblankSpinBox->value());
|
Config::setVblankDiv(ui->vblankSpinBox->value());
|
||||||
Config::setDumpShaders(ui->dumpShadersCheckBox->isChecked());
|
Config::setDumpShaders(ui->dumpShadersCheckBox->isChecked());
|
||||||
Config::setNullGpu(ui->nullGpuCheckBox->isChecked());
|
Config::setNullGpu(ui->nullGpuCheckBox->isChecked());
|
||||||
|
Config::setFsrEnabled(ui->FSRCheckBox->isChecked());
|
||||||
|
Config::setRcasEnabled(ui->RCASCheckBox->isChecked());
|
||||||
|
Config::setRcasAttenuation(ui->RCASSlider->value());
|
||||||
Config::setLoadGameSizeEnabled(ui->gameSizeCheckBox->isChecked());
|
Config::setLoadGameSizeEnabled(ui->gameSizeCheckBox->isChecked());
|
||||||
Config::setShowSplash(ui->showSplashCheckBox->isChecked());
|
Config::setShowSplash(ui->showSplashCheckBox->isChecked());
|
||||||
Config::setDebugDump(ui->debugDump->isChecked());
|
Config::setDebugDump(ui->debugDump->isChecked());
|
||||||
@@ -978,6 +1015,13 @@ void SettingsDialog::SyncRealTimeWidgetstoConfig() {
|
|||||||
|
|
||||||
Config::setAllGameInstallDirs(settings_install_dirs_config);
|
Config::setAllGameInstallDirs(settings_install_dirs_config);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (presenter) {
|
||||||
|
presenter->GetFsrSettingsRef().enable = Config::getFsrEnabled();
|
||||||
|
presenter->GetFsrSettingsRef().use_rcas = Config::getRcasEnabled();
|
||||||
|
presenter->GetFsrSettingsRef().rcas_attenuation =
|
||||||
|
static_cast<float>(Config::getRcasAttenuation() / 1000.f);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
void SettingsDialog::setDefaultValues() {
|
void SettingsDialog::setDefaultValues() {
|
||||||
m_gui_settings->SetValue(gui::gl_showBackgroundImage, true);
|
m_gui_settings->SetValue(gui::gl_showBackgroundImage, true);
|
||||||
|
|||||||
@@ -54,7 +54,6 @@ private:
|
|||||||
QString defaultTextEdit;
|
QString defaultTextEdit;
|
||||||
|
|
||||||
int initialHeight;
|
int initialHeight;
|
||||||
|
|
||||||
bool is_saving = false;
|
bool is_saving = false;
|
||||||
std::shared_ptr<gui_settings> m_gui_settings;
|
std::shared_ptr<gui_settings> m_gui_settings;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -59,7 +59,7 @@
|
|||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
<property name="currentIndex">
|
<property name="currentIndex">
|
||||||
<number>5</number>
|
<number>2</number>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QScrollArea" name="generalTab">
|
<widget class="QScrollArea" name="generalTab">
|
||||||
<property name="widgetResizable">
|
<property name="widgetResizable">
|
||||||
@@ -73,8 +73,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>944</width>
|
<width>946</width>
|
||||||
<height>537</height>
|
<height>536</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="generalTabVLayout" stretch="0">
|
<layout class="QVBoxLayout" name="generalTabVLayout" stretch="0">
|
||||||
@@ -452,8 +452,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>414</width>
|
<width>402</width>
|
||||||
<height>69</height>
|
<height>68</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_6">
|
<layout class="QHBoxLayout" name="horizontalLayout_6">
|
||||||
@@ -538,8 +538,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>944</width>
|
<width>946</width>
|
||||||
<height>537</height>
|
<height>536</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="guiTabVLayout" stretch="0">
|
<layout class="QVBoxLayout" name="guiTabVLayout" stretch="0">
|
||||||
@@ -987,8 +987,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>944</width>
|
<width>946</width>
|
||||||
<height>537</height>
|
<height>536</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="graphicsTabVLayout" stretch="0,0">
|
<layout class="QVBoxLayout" name="graphicsTabVLayout" stretch="0,0">
|
||||||
@@ -1271,6 +1271,75 @@
|
|||||||
<property name="bottomMargin">
|
<property name="bottomMargin">
|
||||||
<number>12</number>
|
<number>12</number>
|
||||||
</property>
|
</property>
|
||||||
|
<item>
|
||||||
|
<widget class="QGroupBox" name="FSRGroupBox">
|
||||||
|
<property name="title">
|
||||||
|
<string>FSR Settings</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_5">
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="FSRCheckBox">
|
||||||
|
<property name="text">
|
||||||
|
<string>Enable FSR</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="RCASCheckBox">
|
||||||
|
<property name="text">
|
||||||
|
<string>Enable RCAS (sharpening)</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_10">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="RCASAtenLabel">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<pointsize>9</pointsize>
|
||||||
|
<bold>false</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>RCAS Attenuation:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="RCASValue">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<pointsize>9</pointsize>
|
||||||
|
<bold>false</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>0.250</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QSlider" name="RCASSlider">
|
||||||
|
<property name="maximum">
|
||||||
|
<number>3000</number>
|
||||||
|
</property>
|
||||||
|
<property name="value">
|
||||||
|
<number>250</number>
|
||||||
|
</property>
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Orientation::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<spacer name="AdvancedSpacer">
|
<spacer name="AdvancedSpacer">
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
@@ -1316,8 +1385,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>944</width>
|
<width>946</width>
|
||||||
<height>537</height>
|
<height>536</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="userTabVLayout" stretch="0,0,1">
|
<layout class="QVBoxLayout" name="userTabVLayout" stretch="0,0,1">
|
||||||
@@ -1558,8 +1627,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>944</width>
|
<width>946</width>
|
||||||
<height>537</height>
|
<height>536</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="inputTabVLayout" stretch="0,0">
|
<layout class="QVBoxLayout" name="inputTabVLayout" stretch="0,0">
|
||||||
@@ -1830,8 +1899,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>944</width>
|
<width>946</width>
|
||||||
<height>537</height>
|
<height>536</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="pathsTabLayout">
|
<layout class="QVBoxLayout" name="pathsTabLayout">
|
||||||
@@ -1999,8 +2068,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>944</width>
|
<width>946</width>
|
||||||
<height>537</height>
|
<height>536</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="debugTabVLayout" stretch="0,0">
|
<layout class="QVBoxLayout" name="debugTabVLayout" stretch="0,0">
|
||||||
|
|||||||
@@ -129,6 +129,10 @@ Presenter::Presenter(Frontend::WindowSDL& window_, AmdGpu::Liverpool* liverpool_
|
|||||||
free_queue.push(&frame);
|
free_queue.push(&frame);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fsr_settings.enable = Config::getFsrEnabled();
|
||||||
|
fsr_settings.use_rcas = Config::getRcasEnabled();
|
||||||
|
fsr_settings.rcas_attenuation = static_cast<float>(Config::getRcasAttenuation() / 1000.f);
|
||||||
|
|
||||||
fsr_pass.Create(device, instance.GetAllocator(), num_images);
|
fsr_pass.Create(device, instance.GetAllocator(), num_images);
|
||||||
pp_pass.Create(device, swapchain.GetSurfaceFormat().format);
|
pp_pass.Create(device, swapchain.GetSurfaceFormat().format);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user