aboutsummaryrefslogtreecommitdiff
path: root/src/shader_recompiler/ir_opt/texture_pass.cpp
diff options
context:
space:
mode:
authorxbzk <xbzk@eden-emu.dev>2026-01-18 04:31:24 +0100
committercrueter <crueter@eden-emu.dev>2026-01-18 04:31:24 +0100
commit4ea8311113209b0bf90222294861d58c9ae06eb2 (patch)
treeb27fbc912ff6e41c16c16d0bbbcfd19ac1eec478 /src/shader_recompiler/ir_opt/texture_pass.cpp
parent1a9b4b37e1f84822d8d05f1e5037d957e9cbfe84 (diff)
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 <maranbr@eden-emu.dev> Reviewed-by: Maufeat <sahyno1996@gmail.com> Co-authored-by: xbzk <xbzk@eden-emu.dev> Co-committed-by: xbzk <xbzk@eden-emu.dev>
Diffstat (limited to 'src/shader_recompiler/ir_opt/texture_pass.cpp')
-rw-r--r--src/shader_recompiler/ir_opt/texture_pass.cpp17
1 files changed, 1 insertions, 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<ConstBufferAddr> 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<ConstBufferAddr> 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{