shader: bound workgroup selector prefixes from runtime starting indices

This commit is contained in:
nmzik committed 2026-10-14 20:39:25 +02:00
1 parent ceccd746d8
commit 5313181ecf
4 files changed
+252 -114

No files matched your search

@@ -577,8 +577,9 @@ bool MaterializeIndirectDescriptor(const ResourcePlan& p
(material.Type() != 0u || material.SwizzleEnabled() || material.AddTid() ||
material.OutOfBounds() != 0u || uint64_t {selector->offset} + 4u > step ||
uint64_t {first} + count > material.NumRecords())) return false;
const auto end = count != 0u
? (uint64_t {first} + count - 1u) * step + selector->offset + 4u : 0u;
const auto last = count != 0u ? uint64_t {first} + count - 1u : 0u;
if (last > UINT32_MAX) return false;
const auto end = count != 0u ? last * step + selector->offset + 4u : 0u;
if (end > uint64_t {UINT32_MAX} + 1u ||
(indirect.workgroup_axis == UINT32_MAX && end > size))
return false;