shader: resolve typed phis and ReadFirstLane in the SRT walker

Two descriptor chains this title uses could not be resolved:

- A descriptor whose address arrives through a phi. Walk the phi to its leaves
  and accept the result when they agree, or when exactly one is a real address
  and the rest are null/sentinel.
- A descriptor read through ReadFirstLane. This is safe for non-image
  descriptors, where every lane holds the same handle, so accept it there. Image
  descriptors keep the old restriction, gated by the dword count.
This commit is contained in:
Mac committed 2026-08-31 23:40:30 +05:30
1 parent 02aadec124
commit f14fb8c9df
4 files changed
+140 -15

No files matched your search

@@ -7,7 +7,7 @@ namespace Libs::Graphics::ShaderRecompiler::IR {
// Collects immutable resource topology from typed SSA handles, interns their resolved dwords in
// descriptor_sources, then writes dense indices to handle flags and MemoryInfo.
void TrackResources(Program& program);
bool TrackResources(Program& program);
} // namespace Libs::Graphics::ShaderRecompiler::IR