shader: decode packed UNorm image loads through shared conversion

Co-authored-by: fxpw <fxpw@outlook.com>
This commit is contained in:
nmzik
2026-10-14 03:53:32 +02:00
parent 8e4c3b5e14
commit 1905b28b3c
3 changed files with 53 additions and 5 deletions
@@ -716,7 +716,9 @@ static bool BuildResourceSpecialization(const ResourcePlan& program, ResourceSna
if (image.indirect_root != ImageResource::NoIndirectImage) {
return SpecializationFail("packed UNorm sampling requires a direct image");
}
if (!ValidatePackedUnormSampling(program, snapshot, i)) return false;
if (std::ranges::any_of(program.info.sampled_pairs,
[&](const auto& pair) { return pair.image == i; }) &&
!ValidatePackedUnormSampling(program, snapshot, i)) return false;
}
if (storage) {
if ((!raw_sint_storage && image.numeric_class == Prospero::TextureNumericClass::Sint) ||