From 4ea8311113209b0bf90222294861d58c9ae06eb2 Mon Sep 17 00:00:00 2001 From: xbzk Date: Sun, 18 Jan 2026 04:31:24 +0100 Subject: [PATCH] revert old mocking for bindless textures (#3331) this revert is intended to bring back the original behavior (throw exception) for untracked bindless textures. reason: this was a mock intended to extend ender magnolia's mean time to crash. by reverting it we will be able to identify more games which rely on bindless textures, and avoid to obfuscate visual issues investigation on them. this is super safe to merge. if any game that was benefitting of it gets visual regression, we will know immediately via the throw message in logs. Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3331 Reviewed-by: MaranBr Reviewed-by: Maufeat Co-authored-by: xbzk Co-committed-by: xbzk --- src/shader_recompiler/ir_opt/texture_pass.cpp | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/src/shader_recompiler/ir_opt/texture_pass.cpp b/src/shader_recompiler/ir_opt/texture_pass.cpp index 9f04c0afaf..5c62cad939 100644 --- a/src/shader_recompiler/ir_opt/texture_pass.cpp +++ b/src/shader_recompiler/ir_opt/texture_pass.cpp @@ -330,30 +330,15 @@ std::optional TryGetConstBuffer(const IR::Inst* inst, Environme }; } -// TODO:xbzk: shall be dropped when Track method cover all bindless stuff -static ConstBufferAddr last_valid_addr = ConstBufferAddr{ - .index = 0, - .offset = 0, - .shift_left = 0, - .secondary_index = 0, - .secondary_offset = 0, - .secondary_shift_left = 0, - .dynamic_offset = {}, - .count = 1, - .has_secondary = false, -}; - TextureInst MakeInst(Environment& env, IR::Block* block, IR::Inst& inst) { ConstBufferAddr addr; if (IsBindless(inst)) { const std::optional track_addr{Track(inst.Arg(0), env)}; if (!track_addr) { - //throw NotImplementedException("Failed to track bindless texture constant buffer"); - addr = last_valid_addr; // TODO:xbzk: shall be dropped when Track method cover all bindless stuff + throw NotImplementedException("Failed to track bindless texture constant buffer"); } else { addr = *track_addr; - last_valid_addr = addr; // TODO:xbzk: shall be dropped when Track method cover all bindless stuff } } else { addr = ConstBufferAddr{