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>
This commit is contained in:
xbzk
2026-01-18 04:31:24 +01:00
committed by crueter
parent 1a9b4b37e1
commit 4ea8311113

View File

@@ -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{