From 97effb4b2f5dd4a27a9a876e622db45e984e9ace Mon Sep 17 00:00:00 2001 From: MaranBr Date: Mon, 24 Nov 2025 14:19:31 -0400 Subject: [PATCH] Test --- src/video_core/renderer_vulkan/vk_rasterizer.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/video_core/renderer_vulkan/vk_rasterizer.cpp b/src/video_core/renderer_vulkan/vk_rasterizer.cpp index c03f3c992a..d9b93172f7 100644 --- a/src/video_core/renderer_vulkan/vk_rasterizer.cpp +++ b/src/video_core/renderer_vulkan/vk_rasterizer.cpp @@ -60,6 +60,16 @@ struct DrawParams { }; VkViewport GetViewportState(const Device& device, const Maxwell& regs, size_t index, float scale) { + const auto& src = regs.viewport_transform[index]; + const auto conv = [scale](float value) { + float new_value = value * scale; + if (scale < 1.0f) { + const bool sign = std::signbit(value); + new_value = std::round(std::abs(new_value)); + new_value = sign ? -new_value : new_value; + } + return new_value; + }; float x = conv(src.translate_x - src.scale_x); float width = conv(src.scale_x * 2.0f); float y = conv(src.translate_y - src.scale_y);