diff --git a/assets/shaders/fsr2_sharpen.frag.glsl b/assets/shaders/fsr2_sharpen.frag.glsl index 9cd1271c..392a3a37 100644 --- a/assets/shaders/fsr2_sharpen.frag.glsl +++ b/assets/shaders/fsr2_sharpen.frag.glsl @@ -10,9 +10,7 @@ layout(push_constant) uniform PushConstants { } pc; void main() { - // Undo the vertex shader Y flip (postprocess.vert flips for Vulkan overlay, - // but we need standard UV coords for texture sampling) - vec2 tc = vec2(TexCoord.x, 1.0 - TexCoord.y); + vec2 tc = TexCoord; vec2 texelSize = pc.params.xy; float sharpness = pc.params.z; diff --git a/assets/shaders/fsr2_sharpen.frag.spv b/assets/shaders/fsr2_sharpen.frag.spv index 20672a9e..24519b93 100644 Binary files a/assets/shaders/fsr2_sharpen.frag.spv and b/assets/shaders/fsr2_sharpen.frag.spv differ diff --git a/assets/shaders/fsr_easu.frag.glsl b/assets/shaders/fsr_easu.frag.glsl index 20e5ed32..6a36be75 100644 --- a/assets/shaders/fsr_easu.frag.glsl +++ b/assets/shaders/fsr_easu.frag.glsl @@ -21,9 +21,7 @@ vec3 fsrFetch(vec2 p, vec2 off) { } void main() { - // Undo the vertex shader Y flip (postprocess.vert flips for Vulkan overlay, - // but we need standard UV coords for texture sampling) - vec2 tc = vec2(TexCoord.x, 1.0 - TexCoord.y); + vec2 tc = TexCoord; // Map output pixel to input space vec2 pp = tc * fsr.con2.xy; // output pixel position diff --git a/assets/shaders/fsr_easu.frag.spv b/assets/shaders/fsr_easu.frag.spv index 5ddc2ea8..12780757 100644 Binary files a/assets/shaders/fsr_easu.frag.spv and b/assets/shaders/fsr_easu.frag.spv differ diff --git a/include/rendering/camera_controller.hpp b/include/rendering/camera_controller.hpp index 235e171f..e219e917 100644 --- a/include/rendering/camera_controller.hpp +++ b/include/rendering/camera_controller.hpp @@ -162,7 +162,7 @@ private: // Mouse settings float mouseSensitivity = 0.2f; - bool invertMouse = false; + bool invertMouse = true; bool mouseButtonDown = false; bool leftMouseDown = false; bool rightMouseDown = false; diff --git a/src/rendering/renderer.cpp b/src/rendering/renderer.cpp index a7cbb3e7..f9ce69cd 100644 --- a/src/rendering/renderer.cpp +++ b/src/rendering/renderer.cpp @@ -3865,7 +3865,13 @@ void Renderer::setFSREnabled(bool enabled) { if (fsr_.enabled == enabled) return; fsr_.enabled = enabled; - if (!enabled) { + if (enabled) { + // FSR1 upscaling renders its own AA — disable MSAA to avoid redundant work + if (vkCtx && vkCtx->getMsaaSamples() > VK_SAMPLE_COUNT_1_BIT) { + pendingMsaaSamples_ = VK_SAMPLE_COUNT_1_BIT; + msaaChangePending_ = true; + } + } else { // Defer destruction to next beginFrame() — can't destroy mid-render fsr_.needsRecreate = true; }