From ad15442b89c4a40094e200d374d64af9d2226b8e Mon Sep 17 00:00:00 2001 From: Connor Fitzgerald Date: Mon, 6 Oct 2025 13:25:25 -0400 Subject: [PATCH] Improve error message when image write without format used (#8294) --- naga/src/front/spv/error.rs | 2 ++ naga/src/front/spv/mod.rs | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/naga/src/front/spv/error.rs b/naga/src/front/spv/error.rs index cf456a9db..3e18e4034 100644 --- a/naga/src/front/spv/error.rs +++ b/naga/src/front/spv/error.rs @@ -107,6 +107,8 @@ pub enum Error { InvalidGlobalVar(crate::Expression), #[error("invalid image/sampler expression {0:?}")] InvalidImageExpression(crate::Expression), + #[error("image write without format is not currently supported. See https://github.com/gfx-rs/wgpu/issues/6797")] + InvalidImageWriteType, #[error("invalid image base type {0:?}")] InvalidImageBaseType(Handle), #[error("invalid image {0:?}")] diff --git a/naga/src/front/spv/mod.rs b/naga/src/front/spv/mod.rs index f54c8269f..5e1b11465 100644 --- a/naga/src/front/spv/mod.rs +++ b/naga/src/front/spv/mod.rs @@ -5635,7 +5635,7 @@ impl> Frontend { let is_depth = self.next()?; let is_array = self.next()? != 0; let is_msaa = self.next()? != 0; - let _is_sampled = self.next()?; + let is_sampled = self.next()?; let format = self.next()?; let dim = map_image_dim(dim)?; @@ -5670,6 +5670,8 @@ impl> Frontend { format: map_image_format(format)?, access: crate::StorageAccess::default(), } + } else if is_sampled == 2 { + return Err(Error::InvalidImageWriteType); } else { crate::ImageClass::Sampled { kind,