From ed7f1aa17cd1c838d1bb11ceefdebdf9ff8de3d2 Mon Sep 17 00:00:00 2001 From: kd-11 Date: Tue, 28 Apr 2026 01:16:08 +0300 Subject: [PATCH] vk: Fix UBO alignment mismatch on fragment constants binding - Fragment constants are of dynamic size, so this isn't totally unexpected. - NVIDIA GPUs have terrible UBO alignment requirements --- rpcs3/Emu/RSX/VK/VKGSRender.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rpcs3/Emu/RSX/VK/VKGSRender.cpp b/rpcs3/Emu/RSX/VK/VKGSRender.cpp index 1fd277effb..e928493f4b 100644 --- a/rpcs3/Emu/RSX/VK/VKGSRender.cpp +++ b/rpcs3/Emu/RSX/VK/VKGSRender.cpp @@ -2016,7 +2016,7 @@ void VKGSRender::load_program_env() // Fragment constants if (fragment_constants_size) { - m_fragment_constants_dynamic_offset = m_fragment_constants_ring_info.alloc<16>(fragment_constants_size); + m_fragment_constants_dynamic_offset = m_fragment_constants_ring_info.alloc<256>(fragment_constants_size); auto buf = m_fragment_constants_ring_info.map(m_fragment_constants_dynamic_offset, fragment_constants_size); m_prog_buffer->fill_fragment_constants_buffer({ reinterpret_cast(buf), fragment_constants_size },