From 5baf8aeb22d28749b23e79051e4197d60c845b5a Mon Sep 17 00:00:00 2001 From: kd-11 Date: Tue, 16 Dec 2025 01:59:47 +0300 Subject: [PATCH] vk/fp: Only emit alpha-testing variables when required --- rpcs3/Emu/RSX/VK/VKFragmentProgram.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/rpcs3/Emu/RSX/VK/VKFragmentProgram.cpp b/rpcs3/Emu/RSX/VK/VKFragmentProgram.cpp index ab06fbdade..93e074248e 100644 --- a/rpcs3/Emu/RSX/VK/VKFragmentProgram.cpp +++ b/rpcs3/Emu/RSX/VK/VKFragmentProgram.cpp @@ -460,10 +460,12 @@ void VKFragmentDecompilerThread::insertMainEnd(std::stringstream & OS) OS << "void main()\n"; OS << "{\n"; - // FIXME: Workaround - OS << - " const uint rop_control = fs_contexts[_fs_context_offset].rop_control;\n" - " const float alpha_ref = fs_contexts[_fs_context_offset].alpha_ref;\n\n"; + if (m_prog.ctrl & RSX_SHADER_CONTROL_ALPHA_TEST) + { + OS << + " const uint rop_control = fs_contexts[_fs_context_offset].rop_control;\n" + " const float alpha_ref = fs_contexts[_fs_context_offset].alpha_ref;\n\n"; + } ::glsl::insert_rop_init(OS);