eden-miror/src/shader_recompiler/frontend/ir
xbzk 0689f73147
[ir] resolve conditional Phi inputs when tracking bindless texture handles (#4551)
- [x] I have read and followed the [Contribution Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CONTRIBUTING.md#code-contributions).
- [x] I have read and followed the [AI Policy](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/AI.md).
- [x] I have read and followed the [Coding Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/Coding.md) to the best of my ability.

-------------------
Aimed to fix Ender Magnolia missing shader textures. Main example is Yolvan character bullets.

By using windows version of the game, dxvk lib to make it vulkan, and renderdoc, it was possible to capture bullets, and by tracking backward composition and comparing with a similar scene from eden with missing bullets, it was possible to unveil the missing functionality: conditional Phi inputs resolve for bindless handles.
By ignoring the boolean predicate register in the shader, handles for these shaders were resolving to some old value instead of proper live conditional ones.

TESTS:
-Compare Yolvan bullets
-Usual roam on main titles for regression check.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4551
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev>
2026-10-26 17:24:00 +01:00
..
abstract_syntax_list.h general: Convert source file copyright comments over to SPDX 2022-04-23 05:55:32 -04:00
attribute.h [video_core, maxwell] fixes for homebrew games that use MESA compiler (#4012) 2026-06-15 03:05:11 +02:00
basic_block.cpp [dynarmic] reduce CPU usage on Spooky Mansion by making blocks be page-sized and page-aligned; replace std::set<> with ankerl set in arm64 (#3253) 2026-01-31 00:21:45 +01:00
basic_block.h [common] replace Common::BitCast with libc++ provided one (#2774) 2025-10-22 02:56:28 +02:00
breadth_first_search.h [ir] resolve conditional Phi inputs when tracking bindless texture handles (#4551) 2026-10-26 17:24:00 +01:00
condition.cpp Update fmt to allow for v11 2025-04-10 01:11:22 +02:00
condition.h Update fmt to allow for v11 2025-04-10 01:11:22 +02:00
flow_test.h [shader_recompiler] macro-ify flow_test and attribute (#2900) 2025-11-13 13:22:02 +01:00
ir_emitter.cpp [vulkan] Implementation for VK_EXT_shader_quad_control (#4168) 2026-08-28 01:21:22 +02:00
ir_emitter.h [vulkan] Implementation for VK_EXT_shader_quad_control (#4168) 2026-08-28 01:21:22 +02:00
microinstruction.cpp Revert "shader_recompiler/dead_code_elimination: Add DeadBranchElimination pass" 2022-10-25 12:57:25 +08:00
modifiers.h [vulkan] 3rd Vulkan Global Maintenance (#4189) 2026-07-09 04:22:43 +02:00
opcodes.cpp [vulkan] Implementation for VK_EXT_shader_quad_control (#4168) 2026-08-28 01:21:22 +02:00
opcodes.h [vulkan] Implementation for VK_EXT_shader_quad_control (#4168) 2026-08-28 01:21:22 +02:00
opcodes.inc [vulkan] Implementation for VK_EXT_shader_quad_control (#4168) 2026-08-28 01:21:22 +02:00
patch.cpp general: Convert source file copyright comments over to SPDX 2022-04-23 05:55:32 -04:00
patch.h video_core: Fix few issues in Tess stage 2022-11-07 15:42:42 +08:00
post_order.cpp general: Convert source file copyright comments over to SPDX 2022-04-23 05:55:32 -04:00
post_order.h general: Convert source file copyright comments over to SPDX 2022-04-23 05:55:32 -04:00
pred.h Update fmt to allow for v11 2025-04-10 01:11:22 +02:00
program.cpp Update fmt to allow for v11 2025-04-10 01:11:22 +02:00
program.h general: Convert source file copyright comments over to SPDX 2022-04-23 05:55:32 -04:00
reg.h Update fmt to allow for v11 2025-04-10 01:11:22 +02:00
type.cpp general: Convert source file copyright comments over to SPDX 2022-04-23 05:55:32 -04:00
type.h Update fmt to allow for v11 2025-04-10 01:11:22 +02:00
value.cpp shader_recompiler: Remove S32 IR type 2023-01-25 22:03:15 -05:00
value.h [common] replace Common::BitCast with libc++ provided one (#2774) 2025-10-22 02:56:28 +02:00