From 5ea6535fd575760d159f72a494f9e437dec035cc Mon Sep 17 00:00:00 2001 From: kd-11 Date: Thu, 25 Jun 2020 21:11:20 +0300 Subject: [PATCH] rsx: Force flushing of NaN/INF to zero - This option was always enabled for NVIDIA cards, but it seems some games would benefit from the option on other GPUs as well. - TODO: Hwtest to verify correct behavior and plan how to safely implement in hw --- rpcs3/Emu/RSX/GL/GLGSRender.cpp | 2 +- rpcs3/Emu/RSX/VK/VKGSRender.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/rpcs3/Emu/RSX/GL/GLGSRender.cpp b/rpcs3/Emu/RSX/GL/GLGSRender.cpp index 9ca22f256b..02a97e9892 100644 --- a/rpcs3/Emu/RSX/GL/GLGSRender.cpp +++ b/rpcs3/Emu/RSX/GL/GLGSRender.cpp @@ -772,7 +772,7 @@ void GLGSRender::load_program_env() auto buf = static_cast(mapping.first); m_prog_buffer.fill_fragment_constants_buffer({ reinterpret_cast(buf), fragment_constants_size }, - current_fragment_program, gl::get_driver_caps().vendor_NVIDIA); + current_fragment_program, true); m_fragment_constants_buffer->bind_range(GL_FRAGMENT_CONSTANT_BUFFERS_BIND_SLOT, mapping.second, fragment_constants_size); } diff --git a/rpcs3/Emu/RSX/VK/VKGSRender.cpp b/rpcs3/Emu/RSX/VK/VKGSRender.cpp index 33b8391341..d160092030 100644 --- a/rpcs3/Emu/RSX/VK/VKGSRender.cpp +++ b/rpcs3/Emu/RSX/VK/VKGSRender.cpp @@ -1723,7 +1723,7 @@ void VKGSRender::load_program_env() auto buf = m_fragment_constants_ring_info.map(mem, fragment_constants_size); m_prog_buffer->fill_fragment_constants_buffer({ reinterpret_cast(buf), fragment_constants_size }, - current_fragment_program, vk::sanitize_fp_values()); + current_fragment_program, true); m_fragment_constants_ring_info.unmap(); m_fragment_constants_buffer_info = { m_fragment_constants_ring_info.heap->value, mem, fragment_constants_size };