forked from etc/pineapple-src
early-access version 3137
This commit is contained in:
parent
54b4c3c044
commit
d482a7e8b2
9 changed files with 77 additions and 2 deletions
|
@ -1,7 +1,7 @@
|
||||||
yuzu emulator early access
|
yuzu emulator early access
|
||||||
=============
|
=============
|
||||||
|
|
||||||
This is the source code for early-access 3136.
|
This is the source code for early-access 3137.
|
||||||
|
|
||||||
## Legal Notice
|
## Legal Notice
|
||||||
|
|
||||||
|
|
|
@ -48,6 +48,7 @@ void LogSettings() {
|
||||||
log_setting("CPU_Accuracy", values.cpu_accuracy.GetValue());
|
log_setting("CPU_Accuracy", values.cpu_accuracy.GetValue());
|
||||||
log_setting("Renderer_UseResolutionScaling", values.resolution_setup.GetValue());
|
log_setting("Renderer_UseResolutionScaling", values.resolution_setup.GetValue());
|
||||||
log_setting("Renderer_ScalingFilter", values.scaling_filter.GetValue());
|
log_setting("Renderer_ScalingFilter", values.scaling_filter.GetValue());
|
||||||
|
log_setting("Renderer_FSRSlider", values.fsr_sharpening_slider.GetValue());
|
||||||
log_setting("Renderer_AntiAliasing", values.anti_aliasing.GetValue());
|
log_setting("Renderer_AntiAliasing", values.anti_aliasing.GetValue());
|
||||||
log_setting("Renderer_UseSpeedLimit", values.use_speed_limit.GetValue());
|
log_setting("Renderer_UseSpeedLimit", values.use_speed_limit.GetValue());
|
||||||
log_setting("Renderer_SpeedLimit", values.speed_limit.GetValue());
|
log_setting("Renderer_SpeedLimit", values.speed_limit.GetValue());
|
||||||
|
|
|
@ -421,6 +421,7 @@ struct Values {
|
||||||
ResolutionScalingInfo resolution_info{};
|
ResolutionScalingInfo resolution_info{};
|
||||||
SwitchableSetting<ResolutionSetup> resolution_setup{ResolutionSetup::Res1X, "resolution_setup"};
|
SwitchableSetting<ResolutionSetup> resolution_setup{ResolutionSetup::Res1X, "resolution_setup"};
|
||||||
SwitchableSetting<ScalingFilter> scaling_filter{ScalingFilter::Bilinear, "scaling_filter"};
|
SwitchableSetting<ScalingFilter> scaling_filter{ScalingFilter::Bilinear, "scaling_filter"};
|
||||||
|
SwitchableSetting<int, true> fsr_sharpening_slider{25, 0, 200, "fsr_sharpening_slider"};
|
||||||
SwitchableSetting<AntiAliasing> anti_aliasing{AntiAliasing::None, "anti_aliasing"};
|
SwitchableSetting<AntiAliasing> anti_aliasing{AntiAliasing::None, "anti_aliasing"};
|
||||||
// *nix platforms may have issues with the borderless windowed fullscreen mode.
|
// *nix platforms may have issues with the borderless windowed fullscreen mode.
|
||||||
// Default to exclusive fullscreen on these platforms for now.
|
// Default to exclusive fullscreen on these platforms for now.
|
||||||
|
|
|
@ -172,6 +172,7 @@ void RendererVulkan::SwapBuffers(const Tegra::FramebufferConfig* framebuffer) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void RendererVulkan::Report() const {
|
void RendererVulkan::Report() const {
|
||||||
|
using namespace Common::Literals;
|
||||||
const std::string vendor_name{device.GetVendorName()};
|
const std::string vendor_name{device.GetVendorName()};
|
||||||
const std::string model_name{device.GetModelName()};
|
const std::string model_name{device.GetModelName()};
|
||||||
const std::string driver_version = GetDriverVersion(device);
|
const std::string driver_version = GetDriverVersion(device);
|
||||||
|
@ -181,9 +182,12 @@ void RendererVulkan::Report() const {
|
||||||
|
|
||||||
const std::string extensions = BuildCommaSeparatedExtensions(device.GetAvailableExtensions());
|
const std::string extensions = BuildCommaSeparatedExtensions(device.GetAvailableExtensions());
|
||||||
|
|
||||||
|
const auto available_vram = static_cast<f64>(device.GetDeviceLocalMemory()) / f64{1_GiB};
|
||||||
|
|
||||||
LOG_INFO(Render_Vulkan, "Driver: {}", driver_name);
|
LOG_INFO(Render_Vulkan, "Driver: {}", driver_name);
|
||||||
LOG_INFO(Render_Vulkan, "Device: {}", model_name);
|
LOG_INFO(Render_Vulkan, "Device: {}", model_name);
|
||||||
LOG_INFO(Render_Vulkan, "Vulkan: {}", api_version);
|
LOG_INFO(Render_Vulkan, "Vulkan: {}", api_version);
|
||||||
|
LOG_INFO(Render_Vulkan, "Available VRAM: {:.2f} GiB", available_vram);
|
||||||
|
|
||||||
static constexpr auto field = Common::Telemetry::FieldType::UserSystem;
|
static constexpr auto field = Common::Telemetry::FieldType::UserSystem;
|
||||||
telemetry_session.AddField(field, "GPU_Vendor", vendor_name);
|
telemetry_session.AddField(field, "GPU_Vendor", vendor_name);
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
#include "common/bit_cast.h"
|
#include "common/bit_cast.h"
|
||||||
#include "common/common_types.h"
|
#include "common/common_types.h"
|
||||||
#include "common/div_ceil.h"
|
#include "common/div_ceil.h"
|
||||||
|
#include "common/settings.h"
|
||||||
|
|
||||||
#include "video_core/host_shaders/vulkan_fidelityfx_fsr_easu_fp16_comp_spv.h"
|
#include "video_core/host_shaders/vulkan_fidelityfx_fsr_easu_fp16_comp_spv.h"
|
||||||
#include "video_core/host_shaders/vulkan_fidelityfx_fsr_easu_fp32_comp_spv.h"
|
#include "video_core/host_shaders/vulkan_fidelityfx_fsr_easu_fp32_comp_spv.h"
|
||||||
|
@ -227,7 +228,10 @@ VkImageView FSR::Draw(Scheduler& scheduler, size_t image_index, VkImageView imag
|
||||||
|
|
||||||
cmdbuf.BindPipeline(VK_PIPELINE_BIND_POINT_COMPUTE, *rcas_pipeline);
|
cmdbuf.BindPipeline(VK_PIPELINE_BIND_POINT_COMPUTE, *rcas_pipeline);
|
||||||
|
|
||||||
FsrRcasCon(push_constants.data(), 0.25f);
|
const float sharpening =
|
||||||
|
static_cast<float>(Settings::values.fsr_sharpening_slider.GetValue()) / 100.0f;
|
||||||
|
|
||||||
|
FsrRcasCon(push_constants.data(), sharpening);
|
||||||
cmdbuf.PushConstants(*pipeline_layout, VK_SHADER_STAGE_COMPUTE_BIT, push_constants);
|
cmdbuf.PushConstants(*pipeline_layout, VK_SHADER_STAGE_COMPUTE_BIT, push_constants);
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
|
@ -672,6 +672,7 @@ void Config::ReadRendererValues() {
|
||||||
ReadGlobalSetting(Settings::values.aspect_ratio);
|
ReadGlobalSetting(Settings::values.aspect_ratio);
|
||||||
ReadGlobalSetting(Settings::values.resolution_setup);
|
ReadGlobalSetting(Settings::values.resolution_setup);
|
||||||
ReadGlobalSetting(Settings::values.scaling_filter);
|
ReadGlobalSetting(Settings::values.scaling_filter);
|
||||||
|
ReadGlobalSetting(Settings::values.fsr_sharpening_slider);
|
||||||
ReadGlobalSetting(Settings::values.anti_aliasing);
|
ReadGlobalSetting(Settings::values.anti_aliasing);
|
||||||
ReadGlobalSetting(Settings::values.max_anisotropy);
|
ReadGlobalSetting(Settings::values.max_anisotropy);
|
||||||
ReadGlobalSetting(Settings::values.use_speed_limit);
|
ReadGlobalSetting(Settings::values.use_speed_limit);
|
||||||
|
@ -1282,6 +1283,10 @@ void Config::SaveRendererValues() {
|
||||||
static_cast<u32>(Settings::values.scaling_filter.GetValue(global)),
|
static_cast<u32>(Settings::values.scaling_filter.GetValue(global)),
|
||||||
static_cast<u32>(Settings::values.scaling_filter.GetDefault()),
|
static_cast<u32>(Settings::values.scaling_filter.GetDefault()),
|
||||||
Settings::values.scaling_filter.UsingGlobal());
|
Settings::values.scaling_filter.UsingGlobal());
|
||||||
|
WriteSetting(QString::fromStdString(Settings::values.fsr_sharpening_slider.GetLabel()),
|
||||||
|
static_cast<u32>(Settings::values.fsr_sharpening_slider.GetValue(global)),
|
||||||
|
static_cast<u32>(Settings::values.fsr_sharpening_slider.GetDefault()),
|
||||||
|
Settings::values.fsr_sharpening_slider.UsingGlobal());
|
||||||
WriteSetting(QString::fromStdString(Settings::values.anti_aliasing.GetLabel()),
|
WriteSetting(QString::fromStdString(Settings::values.anti_aliasing.GetLabel()),
|
||||||
static_cast<u32>(Settings::values.anti_aliasing.GetValue(global)),
|
static_cast<u32>(Settings::values.anti_aliasing.GetValue(global)),
|
||||||
static_cast<u32>(Settings::values.anti_aliasing.GetDefault()),
|
static_cast<u32>(Settings::values.anti_aliasing.GetDefault()),
|
||||||
|
|
|
@ -110,6 +110,7 @@ void ConfigureGraphics::SetConfiguration() {
|
||||||
static_cast<int>(Settings::values.resolution_setup.GetValue()));
|
static_cast<int>(Settings::values.resolution_setup.GetValue()));
|
||||||
ui->scaling_filter_combobox->setCurrentIndex(
|
ui->scaling_filter_combobox->setCurrentIndex(
|
||||||
static_cast<int>(Settings::values.scaling_filter.GetValue()));
|
static_cast<int>(Settings::values.scaling_filter.GetValue()));
|
||||||
|
ui->fsr_sharpening_slider->setValue(Settings::values.fsr_sharpening_slider.GetValue());
|
||||||
ui->anti_aliasing_combobox->setCurrentIndex(
|
ui->anti_aliasing_combobox->setCurrentIndex(
|
||||||
static_cast<int>(Settings::values.anti_aliasing.GetValue()));
|
static_cast<int>(Settings::values.anti_aliasing.GetValue()));
|
||||||
} else {
|
} else {
|
||||||
|
@ -210,6 +211,7 @@ void ConfigureGraphics::ApplyConfiguration() {
|
||||||
if (Settings::values.anti_aliasing.UsingGlobal()) {
|
if (Settings::values.anti_aliasing.UsingGlobal()) {
|
||||||
Settings::values.anti_aliasing.SetValue(anti_aliasing);
|
Settings::values.anti_aliasing.SetValue(anti_aliasing);
|
||||||
}
|
}
|
||||||
|
Settings::values.fsr_sharpening_slider.SetValue(ui->fsr_sharpening_slider->value());
|
||||||
} else {
|
} else {
|
||||||
if (ui->resolution_combobox->currentIndex() == ConfigurationShared::USE_GLOBAL_INDEX) {
|
if (ui->resolution_combobox->currentIndex() == ConfigurationShared::USE_GLOBAL_INDEX) {
|
||||||
Settings::values.resolution_setup.SetGlobal(true);
|
Settings::values.resolution_setup.SetGlobal(true);
|
||||||
|
@ -380,6 +382,7 @@ void ConfigureGraphics::SetupPerGameUI() {
|
||||||
ui->aspect_ratio_combobox->setEnabled(Settings::values.aspect_ratio.UsingGlobal());
|
ui->aspect_ratio_combobox->setEnabled(Settings::values.aspect_ratio.UsingGlobal());
|
||||||
ui->resolution_combobox->setEnabled(Settings::values.resolution_setup.UsingGlobal());
|
ui->resolution_combobox->setEnabled(Settings::values.resolution_setup.UsingGlobal());
|
||||||
ui->scaling_filter_combobox->setEnabled(Settings::values.scaling_filter.UsingGlobal());
|
ui->scaling_filter_combobox->setEnabled(Settings::values.scaling_filter.UsingGlobal());
|
||||||
|
ui->fsr_sharpening_slider->setEnabled(Settings::values.fsr_sharpening_slider.UsingGlobal());
|
||||||
ui->anti_aliasing_combobox->setEnabled(Settings::values.anti_aliasing.UsingGlobal());
|
ui->anti_aliasing_combobox->setEnabled(Settings::values.anti_aliasing.UsingGlobal());
|
||||||
ui->use_asynchronous_gpu_emulation->setEnabled(
|
ui->use_asynchronous_gpu_emulation->setEnabled(
|
||||||
Settings::values.use_asynchronous_gpu_emulation.UsingGlobal());
|
Settings::values.use_asynchronous_gpu_emulation.UsingGlobal());
|
||||||
|
|
|
@ -481,6 +481,62 @@
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QWidget" name="fsr_sharpening_layout" native="true">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||||
|
<property name="spacing">
|
||||||
|
<number>6</number>
|
||||||
|
</property>
|
||||||
|
<property name="sizeConstraint">
|
||||||
|
<enum>QLayout::SetDefaultConstraint</enum>
|
||||||
|
</property>
|
||||||
|
<property name="leftMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="topMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="rightMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="bottomMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<item alignment="Qt::AlignLeft">
|
||||||
|
<widget class="QLabel" name="fsr_sharpening_label">
|
||||||
|
<property name="text">
|
||||||
|
<string>FSR Sharpening:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QSlider" name="fsr_sharpening_slider">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>200</number>
|
||||||
|
</property>
|
||||||
|
<property name="sliderPosition">
|
||||||
|
<number>25</number>
|
||||||
|
</property>
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="invertedAppearance">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QWidget" name="bg_layout" native="true">
|
<widget class="QWidget" name="bg_layout" native="true">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
|
|
|
@ -299,6 +299,7 @@ void Config::ReadValues() {
|
||||||
|
|
||||||
ReadSetting("Renderer", Settings::values.resolution_setup);
|
ReadSetting("Renderer", Settings::values.resolution_setup);
|
||||||
ReadSetting("Renderer", Settings::values.scaling_filter);
|
ReadSetting("Renderer", Settings::values.scaling_filter);
|
||||||
|
ReadSetting("Renderer", Settings::values.fsr_sharpening_slider);
|
||||||
ReadSetting("Renderer", Settings::values.anti_aliasing);
|
ReadSetting("Renderer", Settings::values.anti_aliasing);
|
||||||
ReadSetting("Renderer", Settings::values.fullscreen_mode);
|
ReadSetting("Renderer", Settings::values.fullscreen_mode);
|
||||||
ReadSetting("Renderer", Settings::values.aspect_ratio);
|
ReadSetting("Renderer", Settings::values.aspect_ratio);
|
||||||
|
|
Loading…
Reference in a new issue