rsx: Add configuration toggle to debug tab

This commit is contained in:
kd-11 2026-02-22 22:56:42 +03:00 committed by kd-11
parent 0fb8091a31
commit cee868560a
8 changed files with 17 additions and 4 deletions

View file

@ -355,7 +355,7 @@ void GLGSRender::load_texture_env()
sampler_state->image_handle &&
sampler_state->upload_context == rsx::texture_upload_context::shader_read &&
(current_fp_metadata.bx2_texture_reads_mask & (1u << i)) == 0 &&
g_cfg.video.use_hardware_texel_remapping) [[ unlikely ]]
!g_cfg.video.disable_hardware_texel_remapping) [[ unlikely ]]
{
// Check if we need to override the view format
const auto gl_format = sampler_state->image_handle->view_format();

View file

@ -347,7 +347,7 @@ void VKGSRender::load_texture_env()
sampler_state->image_handle &&
sampler_state->upload_context == rsx::texture_upload_context::shader_read &&
(current_fp_metadata.bx2_texture_reads_mask & (1u << i)) == 0 &&
g_cfg.video.use_hardware_texel_remapping) [[ unlikely ]]
!g_cfg.video.disable_hardware_texel_remapping) [[ unlikely ]]
{
// Check if we need to override the view format
const auto vk_format = sampler_state->image_handle->format();

View file

@ -1154,7 +1154,7 @@ namespace vk
rsx::flags32_t create_flags = 0;
if (context == rsx::texture_upload_context::shader_read &&
g_cfg.video.use_hardware_texel_remapping)
!g_cfg.video.disable_hardware_texel_remapping)
{
create_flags |= texture_create_flags::mutable_format;
}

View file

@ -176,7 +176,7 @@ struct cfg_root : cfg::node
cfg::_bool disable_async_host_memory_manager{ this, "Disable Asynchronous Memory Manager", false, true };
cfg::_enum<output_scaling_mode> output_scaling{ this, "Output Scaling Mode", output_scaling_mode::bilinear, true };
cfg::_bool record_with_overlays{ this, "Record With Overlays", true, true };
cfg::_bool use_hardware_texel_remapping{ this, "Use Hardware Texel Remapping", true, false };
cfg::_bool disable_hardware_texel_remapping{ this, "Disable Hardware ColorSpace Remapping", false, true };
struct node_vk : cfg::node
{

View file

@ -108,6 +108,7 @@ enum class emu_settings_type
DisableAsyncHostMM,
UseReBAR,
RecordWithOverlays,
DisableHWTexelRemapping,
// Performance Overlay
PerfOverlayEnabled,
@ -312,6 +313,7 @@ inline static const std::map<emu_settings_type, cfg_location> settings_location
{ emu_settings_type::ForceHwMSAAResolve, { "Video", "Force Hardware MSAA Resolve"}},
{ emu_settings_type::DisableAsyncHostMM, { "Video", "Disable Asynchronous Memory Manager"}},
{ emu_settings_type::RecordWithOverlays, { "Video", "Record With Overlays"}},
{ emu_settings_type::DisableHWTexelRemapping, { "Video", "Disable Hardware ColorSpace Remapping"}},
// Vulkan
{ emu_settings_type::VulkanAsyncTextureUploads, { "Video", "Vulkan", "Asynchronous Texture Streaming 2"}},

View file

@ -1555,6 +1555,9 @@ settings_dialog::settings_dialog(std::shared_ptr<gui_settings> gui_settings, std
m_emu_settings->EnhanceCheckBox(ui->enableSpuEventsBusyLoop, emu_settings_type::EnabledSPUEventsBusyLoop);
SubscribeTooltip(ui->enableSpuEventsBusyLoop, tooltips.settings.enable_spu_events_busy_loop);
m_emu_settings->EnhanceCheckBox(ui->disableHardwareTexelRemapping, emu_settings_type::DisableHWTexelRemapping);
SubscribeTooltip(ui->disableHardwareTexelRemapping, tooltips.settings.disable_hw_texel_remapping);
// Comboboxes
m_emu_settings->EnhanceComboBox(ui->maxSPURSThreads, emu_settings_type::MaxSPURSThreads, true);

View file

@ -4316,6 +4316,13 @@
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="disableHardwareTexelRemapping">
<property name="text">
<string>Disable Hardware ColorSpace Remapping</string>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacerDebugGPU">
<property name="orientation">

View file

@ -127,6 +127,7 @@ public:
const QString accurate_ppu_128_loop = tr("When enabled, PPU atomic operations will operate on entire cache line data, as opposed to a single 64bit block of memory when disabled.\nNumerical values control whether or not to enable the accurate version based on the atomic operation's length.");
const QString enable_performance_report = tr("Measure certain events and print a chart after the emulator is stopped. Don't enable if not asked to.");
const QString num_ppu_threads = tr("Affects maximum amount of PPU threads running concurrently, the value of 1 has very low compatibility with games.\n2 is the default, if unsure do not modify this setting.");
const QString disable_hw_texel_remapping = tr("Disables use of hardware-native color-space remapping formats such as _sRGB and _SNORM suffixes.\nDisabling this option increases accuracy compared to PS3 but can also introduce some noise due to how the software emulation works.");
// emulator