graphics: support signed 32-bit image atomic descriptors

This commit is contained in:
nmzik
2026-10-12 23:32:19 +02:00
parent 68d7bc94e2
commit aec8c88755
3 changed files with 22 additions and 8 deletions
@@ -309,7 +309,8 @@ void ValidateStorageTexture(const ShaderRecompiler::IR::ImageResource& resource,
const bool encoding_ok = IsSupportedStorageTextureEncoding(resource, descriptor);
const bool uint_resource = resource.numeric_class == Prospero::TextureNumericClass::Uint;
const bool raw_sint_storage = format == Prospero::BufferFormat::k32SInt && uint_resource &&
resource.written && !resource.read && !resource.atomic;
resource.written &&
(resource.atomic ? !resource.atomic64 : !resource.read);
const auto numeric_class = Prospero::SampledTextureNumericClass(format);
const bool raw_float_atomic = format == Prospero::BufferFormat::k32Float && uint_resource &&
resource.atomic && !resource.atomic64;