ast: Remove unsupported texel formats
Fixed: tint:1361
Change-Id: Idcf98713d9a380e56811bea6419913714d602103
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/75582
Reviewed-by: David Neto <dneto@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
diff --git a/src/ast/storage_texture.cc b/src/ast/storage_texture.cc
index b074f5d..82105ce 100644
--- a/src/ast/storage_texture.cc
+++ b/src/ast/storage_texture.cc
@@ -31,39 +31,6 @@
case TexelFormat::kNone:
out << "none";
break;
- case TexelFormat::kR8Unorm:
- out << "r8unorm";
- break;
- case TexelFormat::kR8Snorm:
- out << "r8snorm";
- break;
- case TexelFormat::kR8Uint:
- out << "r8uint";
- break;
- case TexelFormat::kR8Sint:
- out << "r8sint";
- break;
- case TexelFormat::kR16Uint:
- out << "r16uint";
- break;
- case TexelFormat::kR16Sint:
- out << "r16sint";
- break;
- case TexelFormat::kR16Float:
- out << "r16float";
- break;
- case TexelFormat::kRg8Unorm:
- out << "rg8unorm";
- break;
- case TexelFormat::kRg8Snorm:
- out << "rg8snorm";
- break;
- case TexelFormat::kRg8Uint:
- out << "rg8uint";
- break;
- case TexelFormat::kRg8Sint:
- out << "rg8sint";
- break;
case TexelFormat::kR32Uint:
out << "r32uint";
break;
@@ -73,21 +40,9 @@
case TexelFormat::kR32Float:
out << "r32float";
break;
- case TexelFormat::kRg16Uint:
- out << "rg16uint";
- break;
- case TexelFormat::kRg16Sint:
- out << "rg16sint";
- break;
- case TexelFormat::kRg16Float:
- out << "rg16float";
- break;
case TexelFormat::kRgba8Unorm:
out << "rgba8unorm";
break;
- case TexelFormat::kRgba8UnormSrgb:
- out << "rgba8unorm_srgb";
- break;
case TexelFormat::kRgba8Snorm:
out << "rgba8snorm";
break;
@@ -97,18 +52,6 @@
case TexelFormat::kRgba8Sint:
out << "rgba8sint";
break;
- case TexelFormat::kBgra8Unorm:
- out << "bgra8unorm";
- break;
- case TexelFormat::kBgra8UnormSrgb:
- out << "bgra8unorm_srgb";
- break;
- case TexelFormat::kRgb10A2Unorm:
- out << "rgb10a2unorm";
- break;
- case TexelFormat::kRg11B10Float:
- out << "rg11b10float";
- break;
case TexelFormat::kRg32Uint:
out << "rg32uint";
break;
@@ -167,11 +110,7 @@
Type* StorageTexture::SubtypeFor(TexelFormat format, ProgramBuilder& builder) {
switch (format) {
- case TexelFormat::kR8Uint:
- case TexelFormat::kR16Uint:
- case TexelFormat::kRg8Uint:
case TexelFormat::kR32Uint:
- case TexelFormat::kRg16Uint:
case TexelFormat::kRgba8Uint:
case TexelFormat::kRg32Uint:
case TexelFormat::kRgba16Uint:
@@ -179,11 +118,7 @@
return builder.create<U32>();
}
- case TexelFormat::kR8Sint:
- case TexelFormat::kR16Sint:
- case TexelFormat::kRg8Sint:
case TexelFormat::kR32Sint:
- case TexelFormat::kRg16Sint:
case TexelFormat::kRgba8Sint:
case TexelFormat::kRg32Sint:
case TexelFormat::kRgba16Sint:
@@ -191,20 +126,9 @@
return builder.create<I32>();
}
- case TexelFormat::kR8Unorm:
- case TexelFormat::kRg8Unorm:
case TexelFormat::kRgba8Unorm:
- case TexelFormat::kRgba8UnormSrgb:
- case TexelFormat::kBgra8Unorm:
- case TexelFormat::kBgra8UnormSrgb:
- case TexelFormat::kRgb10A2Unorm:
- case TexelFormat::kR8Snorm:
- case TexelFormat::kRg8Snorm:
case TexelFormat::kRgba8Snorm:
- case TexelFormat::kR16Float:
case TexelFormat::kR32Float:
- case TexelFormat::kRg16Float:
- case TexelFormat::kRg11B10Float:
case TexelFormat::kRg32Float:
case TexelFormat::kRgba16Float:
case TexelFormat::kRgba32Float: {
diff --git a/src/ast/storage_texture.h b/src/ast/storage_texture.h
index 46cd2c8..30078ca 100644
--- a/src/ast/storage_texture.h
+++ b/src/ast/storage_texture.h
@@ -26,38 +26,19 @@
/// The texel format in the storage texture
enum class TexelFormat {
kNone = -1,
- kR8Unorm,
- kR8Snorm,
- kR8Uint,
- kR8Sint,
- kR16Uint,
- kR16Sint,
- kR16Float,
- kRg8Unorm,
- kRg8Snorm,
- kRg8Uint,
- kRg8Sint,
- kR32Uint,
- kR32Sint,
- kR32Float,
- kRg16Uint,
- kRg16Sint,
- kRg16Float,
kRgba8Unorm,
- kRgba8UnormSrgb,
kRgba8Snorm,
kRgba8Uint,
kRgba8Sint,
- kBgra8Unorm,
- kBgra8UnormSrgb,
- kRgb10A2Unorm,
- kRg11B10Float,
- kRg32Uint,
- kRg32Sint,
- kRg32Float,
kRgba16Uint,
kRgba16Sint,
kRgba16Float,
+ kR32Uint,
+ kR32Sint,
+ kR32Float,
+ kRg32Uint,
+ kRg32Sint,
+ kRg32Float,
kRgba32Uint,
kRgba32Sint,
kRgba32Float,
diff --git a/src/inspector/resource_binding.cc b/src/inspector/resource_binding.cc
index e0862ba..4589ea0 100644
--- a/src/inspector/resource_binding.cc
+++ b/src/inspector/resource_binding.cc
@@ -74,58 +74,20 @@
ResourceBinding::TexelFormat TypeTexelFormatToResourceBindingTexelFormat(
const ast::TexelFormat& image_format) {
switch (image_format) {
- case ast::TexelFormat::kR8Unorm:
- return ResourceBinding::TexelFormat::kR8Unorm;
- case ast::TexelFormat::kR8Snorm:
- return ResourceBinding::TexelFormat::kR8Snorm;
- case ast::TexelFormat::kR8Uint:
- return ResourceBinding::TexelFormat::kR8Uint;
- case ast::TexelFormat::kR8Sint:
- return ResourceBinding::TexelFormat::kR8Sint;
- case ast::TexelFormat::kR16Uint:
- return ResourceBinding::TexelFormat::kR16Uint;
- case ast::TexelFormat::kR16Sint:
- return ResourceBinding::TexelFormat::kR16Sint;
- case ast::TexelFormat::kR16Float:
- return ResourceBinding::TexelFormat::kR16Float;
- case ast::TexelFormat::kRg8Unorm:
- return ResourceBinding::TexelFormat::kRg8Unorm;
- case ast::TexelFormat::kRg8Snorm:
- return ResourceBinding::TexelFormat::kRg8Snorm;
- case ast::TexelFormat::kRg8Uint:
- return ResourceBinding::TexelFormat::kRg8Uint;
- case ast::TexelFormat::kRg8Sint:
- return ResourceBinding::TexelFormat::kRg8Sint;
case ast::TexelFormat::kR32Uint:
return ResourceBinding::TexelFormat::kR32Uint;
case ast::TexelFormat::kR32Sint:
return ResourceBinding::TexelFormat::kR32Sint;
case ast::TexelFormat::kR32Float:
return ResourceBinding::TexelFormat::kR32Float;
- case ast::TexelFormat::kRg16Uint:
- return ResourceBinding::TexelFormat::kRg16Uint;
- case ast::TexelFormat::kRg16Sint:
- return ResourceBinding::TexelFormat::kRg16Sint;
- case ast::TexelFormat::kRg16Float:
- return ResourceBinding::TexelFormat::kRg16Float;
case ast::TexelFormat::kRgba8Unorm:
return ResourceBinding::TexelFormat::kRgba8Unorm;
- case ast::TexelFormat::kRgba8UnormSrgb:
- return ResourceBinding::TexelFormat::kRgba8UnormSrgb;
case ast::TexelFormat::kRgba8Snorm:
return ResourceBinding::TexelFormat::kRgba8Snorm;
case ast::TexelFormat::kRgba8Uint:
return ResourceBinding::TexelFormat::kRgba8Uint;
case ast::TexelFormat::kRgba8Sint:
return ResourceBinding::TexelFormat::kRgba8Sint;
- case ast::TexelFormat::kBgra8Unorm:
- return ResourceBinding::TexelFormat::kBgra8Unorm;
- case ast::TexelFormat::kBgra8UnormSrgb:
- return ResourceBinding::TexelFormat::kBgra8UnormSrgb;
- case ast::TexelFormat::kRgb10A2Unorm:
- return ResourceBinding::TexelFormat::kRgb10A2Unorm;
- case ast::TexelFormat::kRg11B10Float:
- return ResourceBinding::TexelFormat::kRg11B10Float;
case ast::TexelFormat::kRg32Uint:
return ResourceBinding::TexelFormat::kRg32Uint;
case ast::TexelFormat::kRg32Sint:
diff --git a/src/inspector/resource_binding.h b/src/inspector/resource_binding.h
index cb84917..8f62cac 100644
--- a/src/inspector/resource_binding.h
+++ b/src/inspector/resource_binding.h
@@ -50,6 +50,26 @@
/// Enumerator of texel image formats
enum class TexelFormat {
kNone = -1,
+
+ kRgba8Unorm,
+ kRgba8Snorm,
+ kRgba8Uint,
+ kRgba8Sint,
+ kRgba16Uint,
+ kRgba16Sint,
+ kRgba16Float,
+ kR32Uint,
+ kR32Sint,
+ kR32Float,
+ kRg32Uint,
+ kRg32Sint,
+ kRg32Float,
+ kRgba32Uint,
+ kRgba32Sint,
+ kRgba32Float,
+
+ // [DEPRECATED]
+ // The below are all deprecated, and will be removed.
kR8Unorm,
kR8Snorm,
kR8Uint,
@@ -61,30 +81,14 @@
kRg8Snorm,
kRg8Uint,
kRg8Sint,
- kR32Uint,
- kR32Sint,
- kR32Float,
kRg16Uint,
kRg16Sint,
kRg16Float,
- kRgba8Unorm,
kRgba8UnormSrgb,
- kRgba8Snorm,
- kRgba8Uint,
- kRgba8Sint,
kBgra8Unorm,
kBgra8UnormSrgb,
kRgb10A2Unorm,
kRg11B10Float,
- kRg32Uint,
- kRg32Sint,
- kRg32Float,
- kRgba16Uint,
- kRgba16Sint,
- kRgba16Float,
- kRgba32Uint,
- kRgba32Sint,
- kRgba32Float,
};
/// Renamed field [DEPRECATED]
diff --git a/src/reader/spirv/parser_impl.cc b/src/reader/spirv/parser_impl.cc
index 8a5f48b..287b0a8 100644
--- a/src/reader/spirv/parser_impl.cc
+++ b/src/reader/spirv/parser_impl.cc
@@ -2528,42 +2528,23 @@
const Type* ParserImpl::GetComponentTypeForFormat(ast::TexelFormat format) {
switch (format) {
- case ast::TexelFormat::kR8Uint:
- case ast::TexelFormat::kR16Uint:
- case ast::TexelFormat::kRg8Uint:
case ast::TexelFormat::kR32Uint:
- case ast::TexelFormat::kRg16Uint:
case ast::TexelFormat::kRgba8Uint:
case ast::TexelFormat::kRg32Uint:
case ast::TexelFormat::kRgba16Uint:
case ast::TexelFormat::kRgba32Uint:
return ty_.U32();
- case ast::TexelFormat::kR8Sint:
- case ast::TexelFormat::kR16Sint:
- case ast::TexelFormat::kRg8Sint:
case ast::TexelFormat::kR32Sint:
- case ast::TexelFormat::kRg16Sint:
case ast::TexelFormat::kRgba8Sint:
case ast::TexelFormat::kRg32Sint:
case ast::TexelFormat::kRgba16Sint:
case ast::TexelFormat::kRgba32Sint:
return ty_.I32();
- case ast::TexelFormat::kR8Unorm:
- case ast::TexelFormat::kRg8Unorm:
case ast::TexelFormat::kRgba8Unorm:
- case ast::TexelFormat::kRgba8UnormSrgb:
- case ast::TexelFormat::kBgra8Unorm:
- case ast::TexelFormat::kBgra8UnormSrgb:
- case ast::TexelFormat::kRgb10A2Unorm:
- case ast::TexelFormat::kR8Snorm:
- case ast::TexelFormat::kRg8Snorm:
case ast::TexelFormat::kRgba8Snorm:
- case ast::TexelFormat::kR16Float:
case ast::TexelFormat::kR32Float:
- case ast::TexelFormat::kRg16Float:
- case ast::TexelFormat::kRg11B10Float:
case ast::TexelFormat::kRg32Float:
case ast::TexelFormat::kRgba16Float:
case ast::TexelFormat::kRgba32Float:
@@ -2577,36 +2558,18 @@
unsigned ParserImpl::GetChannelCountForFormat(ast::TexelFormat format) {
switch (format) {
- case ast::TexelFormat::kR16Float:
- case ast::TexelFormat::kR16Sint:
- case ast::TexelFormat::kR16Uint:
case ast::TexelFormat::kR32Float:
case ast::TexelFormat::kR32Sint:
case ast::TexelFormat::kR32Uint:
- case ast::TexelFormat::kR8Sint:
- case ast::TexelFormat::kR8Snorm:
- case ast::TexelFormat::kR8Uint:
- case ast::TexelFormat::kR8Unorm:
// One channel
return 1;
- case ast::TexelFormat::kRg11B10Float:
- case ast::TexelFormat::kRg16Float:
- case ast::TexelFormat::kRg16Sint:
- case ast::TexelFormat::kRg16Uint:
case ast::TexelFormat::kRg32Float:
case ast::TexelFormat::kRg32Sint:
case ast::TexelFormat::kRg32Uint:
- case ast::TexelFormat::kRg8Sint:
- case ast::TexelFormat::kRg8Snorm:
- case ast::TexelFormat::kRg8Uint:
- case ast::TexelFormat::kRg8Unorm:
// Two channels
return 2;
- case ast::TexelFormat::kBgra8Unorm:
- case ast::TexelFormat::kBgra8UnormSrgb:
- case ast::TexelFormat::kRgb10A2Unorm:
case ast::TexelFormat::kRgba16Float:
case ast::TexelFormat::kRgba16Sint:
case ast::TexelFormat::kRgba16Uint:
@@ -2617,7 +2580,6 @@
case ast::TexelFormat::kRgba8Snorm:
case ast::TexelFormat::kRgba8Uint:
case ast::TexelFormat::kRgba8Unorm:
- case ast::TexelFormat::kRgba8UnormSrgb:
// Four channels
return 4;
diff --git a/src/reader/spirv/parser_type_test.cc b/src/reader/spirv/parser_type_test.cc
index c683cdd..dde9a01 100644
--- a/src/reader/spirv/parser_type_test.cc
+++ b/src/reader/spirv/parser_type_test.cc
@@ -46,9 +46,9 @@
EXPECT_EQ(ty.SampledTexture(ast::TextureDimension::k2d, ty.I32()),
ty.SampledTexture(ast::TextureDimension::k2d, ty.I32()));
EXPECT_EQ(ty.StorageTexture(ast::TextureDimension::k2d,
- ast::TexelFormat::kR16Sint, ast::Access::kRead),
+ ast::TexelFormat::kR32Uint, ast::Access::kRead),
ty.StorageTexture(ast::TextureDimension::k2d,
- ast::TexelFormat::kR16Sint, ast::Access::kRead));
+ ast::TexelFormat::kR32Uint, ast::Access::kRead));
}
TEST(SpvParserTypeTest, DifferentArgumentsGivesDifferentPointer) {
@@ -83,17 +83,17 @@
EXPECT_NE(ty.SampledTexture(ast::TextureDimension::k2d, ty.I32()),
ty.SampledTexture(ast::TextureDimension::k2d, ty.U32()));
EXPECT_NE(ty.StorageTexture(ast::TextureDimension::k2d,
- ast::TexelFormat::kR16Sint, ast::Access::kRead),
+ ast::TexelFormat::kR32Uint, ast::Access::kRead),
ty.StorageTexture(ast::TextureDimension::k3d,
- ast::TexelFormat::kR16Sint, ast::Access::kRead));
+ ast::TexelFormat::kR32Uint, ast::Access::kRead));
EXPECT_NE(ty.StorageTexture(ast::TextureDimension::k2d,
- ast::TexelFormat::kR16Sint, ast::Access::kRead),
+ ast::TexelFormat::kR32Uint, ast::Access::kRead),
ty.StorageTexture(ast::TextureDimension::k2d,
ast::TexelFormat::kR32Sint, ast::Access::kRead));
EXPECT_NE(ty.StorageTexture(ast::TextureDimension::k2d,
- ast::TexelFormat::kR16Sint, ast::Access::kRead),
+ ast::TexelFormat::kR32Uint, ast::Access::kRead),
ty.StorageTexture(ast::TextureDimension::k2d,
- ast::TexelFormat::kR16Sint, ast::Access::kWrite));
+ ast::TexelFormat::kR32Uint, ast::Access::kWrite));
}
} // namespace
diff --git a/src/reader/wgsl/parser_impl.cc b/src/reader/wgsl/parser_impl.cc
index adb259b..719e1b9 100644
--- a/src/reader/wgsl/parser_impl.cc
+++ b/src/reader/wgsl/parser_impl.cc
@@ -745,139 +745,30 @@
return Failure::kNoMatch;
}
-// image_storage_type
-// : R8UNORM
-// | R8SNORM
-// | R8UINT
-// | R8SINT
-// | R16UINT
-// | R16SINT
-// | R16FLOAT
-// | RG8UNORM
-// | RG8SNORM
-// | RG8UINT
-// | RG8SINT
-// | R32UINT
-// | R32SINT
-// | R32FLOAT
-// | RG16UINT
-// | RG16SINT
-// | RG16FLOAT
-// | RGBA8UNORM
-/// | RGBA8UNORM-SRGB
-// | RGBA8SNORM
-// | RGBA8UINT
-// | RGBA8SINT
-// | BGRA8UNORM
-// | BGRA8UNORM-SRGB
-// | RGB10A2UNORM
-// | RG11B10FLOAT
-// | RG32UINT
-// | RG32SINT
-// | RG32FLOAT
-// | RGBA16UINT
-// | RGBA16SINT
-// | RGBA16FLOAT
-// | RGBA32UINT
-// | RGBA32SINT
-// | RGBA32FLOAT
+// texel_format
+// : 'rgba8unorm'
+// | 'rgba8snorm'
+// | 'rgba8uint'
+// | 'rgba8sint'
+// | 'rgba16uint'
+// | 'rgba16sint'
+// | 'rgba16float'
+// | 'r32uint'
+// | 'r32sint'
+// | 'r32float'
+// | 'rg32uint'
+// | 'rg32sint'
+// | 'rg32float'
+// | 'rgba32uint'
+// | 'rgba32sint'
+// | 'rgba32float'
Expect<ast::TexelFormat> ParserImpl::expect_texel_format(
const std::string& use) {
auto tok = next();
if (tok.IsIdentifier()) {
auto s = tok.to_str();
- if (s == "bgra8unorm") {
- return ast::TexelFormat::kBgra8Unorm;
- }
- if (s == "bgra8unorm_srgb") {
- return ast::TexelFormat::kBgra8UnormSrgb;
- }
- if (s == "r16float") {
- return ast::TexelFormat::kR16Float;
- }
- if (s == "r16sint") {
- return ast::TexelFormat::kR16Sint;
- }
- if (s == "r16uint") {
- return ast::TexelFormat::kR16Uint;
- }
- if (s == "r32float") {
- return ast::TexelFormat::kR32Float;
- }
- if (s == "r32sint") {
- return ast::TexelFormat::kR32Sint;
- }
- if (s == "r32uint") {
- return ast::TexelFormat::kR32Uint;
- }
- if (s == "r8sint") {
- return ast::TexelFormat::kR8Sint;
- }
- if (s == "r8snorm") {
- return ast::TexelFormat::kR8Snorm;
- }
- if (s == "r8uint") {
- return ast::TexelFormat::kR8Uint;
- }
- if (s == "r8unorm") {
- return ast::TexelFormat::kR8Unorm;
- }
- if (s == "rg11b10float") {
- return ast::TexelFormat::kRg11B10Float;
- }
- if (s == "rg16float") {
- return ast::TexelFormat::kRg16Float;
- }
- if (s == "rg16sint") {
- return ast::TexelFormat::kRg16Sint;
- }
- if (s == "rg16uint") {
- return ast::TexelFormat::kRg16Uint;
- }
- if (s == "rg32float") {
- return ast::TexelFormat::kRg32Float;
- }
- if (s == "rg32sint") {
- return ast::TexelFormat::kRg32Sint;
- }
- if (s == "rg32uint") {
- return ast::TexelFormat::kRg32Uint;
- }
- if (s == "rg8sint") {
- return ast::TexelFormat::kRg8Sint;
- }
- if (s == "rg8snorm") {
- return ast::TexelFormat::kRg8Snorm;
- }
- if (s == "rg8uint") {
- return ast::TexelFormat::kRg8Uint;
- }
- if (s == "rg8unorm") {
- return ast::TexelFormat::kRg8Unorm;
- }
- if (s == "rgb10a2unorm") {
- return ast::TexelFormat::kRgb10A2Unorm;
- }
- if (s == "rgba16float") {
- return ast::TexelFormat::kRgba16Float;
- }
- if (s == "rgba16sint") {
- return ast::TexelFormat::kRgba16Sint;
- }
- if (s == "rgba16uint") {
- return ast::TexelFormat::kRgba16Uint;
- }
- if (s == "rgba32float") {
- return ast::TexelFormat::kRgba32Float;
- }
- if (s == "rgba32sint") {
- return ast::TexelFormat::kRgba32Sint;
- }
- if (s == "rgba32uint") {
- return ast::TexelFormat::kRgba32Uint;
- }
- if (s == "rgba8sint") {
- return ast::TexelFormat::kRgba8Sint;
+ if (s == "rgba8unorm") {
+ return ast::TexelFormat::kRgba8Unorm;
}
if (s == "rgba8snorm") {
return ast::TexelFormat::kRgba8Snorm;
@@ -885,11 +776,44 @@
if (s == "rgba8uint") {
return ast::TexelFormat::kRgba8Uint;
}
- if (s == "rgba8unorm") {
- return ast::TexelFormat::kRgba8Unorm;
+ if (s == "rgba8sint") {
+ return ast::TexelFormat::kRgba8Sint;
}
- if (s == "rgba8unorm_srgb") {
- return ast::TexelFormat::kRgba8UnormSrgb;
+ if (s == "rgba16uint") {
+ return ast::TexelFormat::kRgba16Uint;
+ }
+ if (s == "rgba16sint") {
+ return ast::TexelFormat::kRgba16Sint;
+ }
+ if (s == "rgba16float") {
+ return ast::TexelFormat::kRgba16Float;
+ }
+ if (s == "r32uint") {
+ return ast::TexelFormat::kR32Uint;
+ }
+ if (s == "r32sint") {
+ return ast::TexelFormat::kR32Sint;
+ }
+ if (s == "r32float") {
+ return ast::TexelFormat::kR32Float;
+ }
+ if (s == "rg32uint") {
+ return ast::TexelFormat::kRg32Uint;
+ }
+ if (s == "rg32sint") {
+ return ast::TexelFormat::kRg32Sint;
+ }
+ if (s == "rg32float") {
+ return ast::TexelFormat::kRg32Float;
+ }
+ if (s == "rgba32uint") {
+ return ast::TexelFormat::kRgba32Uint;
+ }
+ if (s == "rgba32sint") {
+ return ast::TexelFormat::kRgba32Sint;
+ }
+ if (s == "rgba32float") {
+ return ast::TexelFormat::kRgba32Float;
}
}
return add_error(tok.source(), "invalid format", use);
diff --git a/src/reader/wgsl/parser_impl_error_msg_test.cc b/src/reader/wgsl/parser_impl_error_msg_test.cc
index 7c1d391..6d1ff74 100644
--- a/src/reader/wgsl/parser_impl_error_msg_test.cc
+++ b/src/reader/wgsl/parser_impl_error_msg_test.cc
@@ -585,10 +585,10 @@
}
TEST_F(ParserImplErrorTest, GlobalDeclStorageTextureMissingGreaterThan) {
- EXPECT("var x : texture_storage_2d<r8uint, read;",
- "test.wgsl:1:40 error: expected '>' for storage texture type\n"
- "var x : texture_storage_2d<r8uint, read;\n"
- " ^\n");
+ EXPECT("var x : texture_storage_2d<r32uint, read;",
+ "test.wgsl:1:41 error: expected '>' for storage texture type\n"
+ "var x : texture_storage_2d<r32uint, read;\n"
+ " ^\n");
}
TEST_F(ParserImplErrorTest, GlobalDeclStorageTextureMissingSubtype) {
diff --git a/src/reader/wgsl/parser_impl_texel_format_test.cc b/src/reader/wgsl/parser_impl_texel_format_test.cc
index 8a0d5a7..86955ae 100644
--- a/src/reader/wgsl/parser_impl_texel_format_test.cc
+++ b/src/reader/wgsl/parser_impl_texel_format_test.cc
@@ -27,94 +27,6 @@
EXPECT_EQ(p->error(), "1:1: invalid format for test");
}
-TEST_F(ParserImplTest, ImageStorageType_R8Unorm) {
- auto p = parser("r8unorm");
- auto t = p->expect_texel_format("test");
- EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::TexelFormat::kR8Unorm);
- EXPECT_FALSE(p->has_error());
-}
-
-TEST_F(ParserImplTest, ImageStorageType_R8Snorm) {
- auto p = parser("r8snorm");
- auto t = p->expect_texel_format("test");
- EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::TexelFormat::kR8Snorm);
- EXPECT_FALSE(p->has_error());
-}
-
-TEST_F(ParserImplTest, ImageStorageType_R8Uint) {
- auto p = parser("r8uint");
- auto t = p->expect_texel_format("test");
- EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::TexelFormat::kR8Uint);
- EXPECT_FALSE(p->has_error());
-}
-
-TEST_F(ParserImplTest, ImageStorageType_R8Sint) {
- auto p = parser("r8sint");
- auto t = p->expect_texel_format("test");
- EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::TexelFormat::kR8Sint);
- EXPECT_FALSE(p->has_error());
-}
-
-TEST_F(ParserImplTest, ImageStorageType_R16Uint) {
- auto p = parser("r16uint");
- auto t = p->expect_texel_format("test");
- EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::TexelFormat::kR16Uint);
- EXPECT_FALSE(p->has_error());
-}
-
-TEST_F(ParserImplTest, ImageStorageType_R16Sint) {
- auto p = parser("r16sint");
- auto t = p->expect_texel_format("test");
- EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::TexelFormat::kR16Sint);
- EXPECT_FALSE(p->has_error());
-}
-
-TEST_F(ParserImplTest, ImageStorageType_R16Float) {
- auto p = parser("r16float");
- auto t = p->expect_texel_format("test");
- EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::TexelFormat::kR16Float);
- EXPECT_FALSE(p->has_error());
-}
-
-TEST_F(ParserImplTest, ImageStorageType_Rg8Unorm) {
- auto p = parser("rg8unorm");
- auto t = p->expect_texel_format("test");
- EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::TexelFormat::kRg8Unorm);
- EXPECT_FALSE(p->has_error());
-}
-
-TEST_F(ParserImplTest, ImageStorageType_Rg8Snorm) {
- auto p = parser("rg8snorm");
- auto t = p->expect_texel_format("test");
- EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::TexelFormat::kRg8Snorm);
- EXPECT_FALSE(p->has_error());
-}
-
-TEST_F(ParserImplTest, ImageStorageType_Rg8Uint) {
- auto p = parser("rg8uint");
- auto t = p->expect_texel_format("test");
- EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::TexelFormat::kRg8Uint);
- EXPECT_FALSE(p->has_error());
-}
-
-TEST_F(ParserImplTest, ImageStorageType_Rg8Sint) {
- auto p = parser("rg8sint");
- auto t = p->expect_texel_format("test");
- EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::TexelFormat::kRg8Sint);
- EXPECT_FALSE(p->has_error());
-}
-
TEST_F(ParserImplTest, ImageStorageType_R32Uint) {
auto p = parser("r32uint");
auto t = p->expect_texel_format("test");
@@ -139,30 +51,6 @@
EXPECT_FALSE(p->has_error());
}
-TEST_F(ParserImplTest, ImageStorageType_Rg16Uint) {
- auto p = parser("rg16uint");
- auto t = p->expect_texel_format("test");
- EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::TexelFormat::kRg16Uint);
- EXPECT_FALSE(p->has_error());
-}
-
-TEST_F(ParserImplTest, ImageStorageType_Rg16Sint) {
- auto p = parser("rg16sint");
- auto t = p->expect_texel_format("test");
- EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::TexelFormat::kRg16Sint);
- EXPECT_FALSE(p->has_error());
-}
-
-TEST_F(ParserImplTest, ImageStorageType_Rg16Float) {
- auto p = parser("rg16float");
- auto t = p->expect_texel_format("test");
- EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::TexelFormat::kRg16Float);
- EXPECT_FALSE(p->has_error());
-}
-
TEST_F(ParserImplTest, ImageStorageType_Rgba8Unorm) {
auto p = parser("rgba8unorm");
auto t = p->expect_texel_format("test");
@@ -171,14 +59,6 @@
EXPECT_FALSE(p->has_error());
}
-TEST_F(ParserImplTest, ImageStorageType_Rgba8UnormSrgb) {
- auto p = parser("rgba8unorm_srgb");
- auto t = p->expect_texel_format("test");
- EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::TexelFormat::kRgba8UnormSrgb);
- EXPECT_FALSE(p->has_error());
-}
-
TEST_F(ParserImplTest, ImageStorageType_Rgba8Snorm) {
auto p = parser("rgba8snorm");
auto t = p->expect_texel_format("test");
@@ -203,38 +83,6 @@
EXPECT_FALSE(p->has_error());
}
-TEST_F(ParserImplTest, ImageStorageType_Bgra8Unorm) {
- auto p = parser("bgra8unorm");
- auto t = p->expect_texel_format("test");
- EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::TexelFormat::kBgra8Unorm);
- EXPECT_FALSE(p->has_error());
-}
-
-TEST_F(ParserImplTest, ImageStorageType_Bgra8UnormSrgb) {
- auto p = parser("bgra8unorm_srgb");
- auto t = p->expect_texel_format("test");
- EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::TexelFormat::kBgra8UnormSrgb);
- EXPECT_FALSE(p->has_error());
-}
-
-TEST_F(ParserImplTest, ImageStorageType_Rgb10A2Unorm) {
- auto p = parser("rgb10a2unorm");
- auto t = p->expect_texel_format("test");
- EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::TexelFormat::kRgb10A2Unorm);
- EXPECT_FALSE(p->has_error());
-}
-
-TEST_F(ParserImplTest, ImageStorageType_Rg11B10Float) {
- auto p = parser("rg11b10float");
- auto t = p->expect_texel_format("test");
- EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::TexelFormat::kRg11B10Float);
- EXPECT_FALSE(p->has_error());
-}
-
TEST_F(ParserImplTest, ImageStorageType_Rg32Uint) {
auto p = parser("rg32uint");
auto t = p->expect_texel_format("test");
diff --git a/src/reader/wgsl/parser_impl_texture_sampler_types_test.cc b/src/reader/wgsl/parser_impl_texture_sampler_types_test.cc
index 0b4af5c..214bd72 100644
--- a/src/reader/wgsl/parser_impl_texture_sampler_types_test.cc
+++ b/src/reader/wgsl/parser_impl_texture_sampler_types_test.cc
@@ -184,8 +184,8 @@
EXPECT_EQ(p->error(), "1:28: expected '>' for multisampled texture type");
}
-TEST_F(ParserImplTest, TextureSamplerTypes_StorageTexture_Readonly1dR8Unorm) {
- auto p = parser("texture_storage_1d<r8unorm, read>");
+TEST_F(ParserImplTest, TextureSamplerTypes_StorageTexture_Readonly1dRg32Float) {
+ auto p = parser("texture_storage_1d<rg32float, read>");
auto t = p->texture_sampler_types();
ASSERT_FALSE(p->has_error()) << p->error();
EXPECT_TRUE(t.matched);
@@ -194,14 +194,14 @@
ASSERT_TRUE(t->Is<ast::Texture>());
ASSERT_TRUE(t->Is<ast::StorageTexture>());
- EXPECT_EQ(t->As<ast::StorageTexture>()->format, ast::TexelFormat::kR8Unorm);
+ EXPECT_EQ(t->As<ast::StorageTexture>()->format, ast::TexelFormat::kRg32Float);
EXPECT_EQ(t->As<ast::StorageTexture>()->access, ast::Access::kRead);
EXPECT_EQ(t->As<ast::Texture>()->dim, ast::TextureDimension::k1d);
- EXPECT_EQ(t->source.range, (Source::Range{{1u, 1u}, {1u, 34u}}));
+ EXPECT_EQ(t->source.range, (Source::Range{{1u, 1u}, {1u, 36u}}));
}
-TEST_F(ParserImplTest, TextureSamplerTypes_StorageTexture_Writeonly2dR16Float) {
- auto p = parser("texture_storage_2d<r16float, write>");
+TEST_F(ParserImplTest, TextureSamplerTypes_StorageTexture_Writeonly2dR32Uint) {
+ auto p = parser("texture_storage_2d<r32uint, write>");
auto t = p->texture_sampler_types();
ASSERT_FALSE(p->has_error()) << p->error();
EXPECT_TRUE(t.matched);
@@ -210,10 +210,10 @@
ASSERT_TRUE(t->Is<ast::Texture>());
ASSERT_TRUE(t->Is<ast::StorageTexture>());
- EXPECT_EQ(t->As<ast::StorageTexture>()->format, ast::TexelFormat::kR16Float);
+ EXPECT_EQ(t->As<ast::StorageTexture>()->format, ast::TexelFormat::kR32Uint);
EXPECT_EQ(t->As<ast::StorageTexture>()->access, ast::Access::kWrite);
EXPECT_EQ(t->As<ast::Texture>()->dim, ast::TextureDimension::k2d);
- EXPECT_EQ(t->source.range, (Source::Range{{1u, 1u}, {1u, 36u}}));
+ EXPECT_EQ(t->source.range, (Source::Range{{1u, 1u}, {1u, 35u}}));
}
TEST_F(ParserImplTest, TextureSamplerTypes_StorageTexture_InvalidType) {
@@ -226,7 +226,7 @@
}
TEST_F(ParserImplTest, TextureSamplerTypes_StorageTexture_InvalidAccess) {
- auto p = parser("texture_storage_1d<r16float, abc>");
+ auto p = parser("texture_storage_1d<r32float, abc>");
auto t = p->texture_sampler_types();
EXPECT_EQ(t.value, nullptr);
EXPECT_FALSE(t.matched);
@@ -253,7 +253,7 @@
}
TEST_F(ParserImplTest, TextureSamplerTypes_StorageTexture_MissingGreaterThan) {
- auto p = parser("texture_storage_1d<r8unorm, read");
+ auto p = parser("texture_storage_1d<r32uint, read");
auto t = p->texture_sampler_types();
EXPECT_EQ(t.value, nullptr);
EXPECT_FALSE(t.matched);
diff --git a/src/resolver/dependency_graph_test.cc b/src/resolver/dependency_graph_test.cc
index 7186ef9..17364e6 100644
--- a/src/resolver/dependency_graph_test.cc
+++ b/src/resolver/dependency_graph_test.cc
@@ -1316,7 +1316,7 @@
Global(Sym(), ty.external_texture());
Global(Sym(), ty.multisampled_texture(ast::TextureDimension::k2d, T));
Global(Sym(), ty.storage_texture(ast::TextureDimension::k2d,
- ast::TexelFormat::kR16Float,
+ ast::TexelFormat::kR32Float,
ast::Access::kRead)); //
Global(Sym(), ty.sampler(ast::SamplerKind::kSampler));
Func(Sym(), {}, ty.void_(), {});
diff --git a/src/resolver/intrinsic_test.cc b/src/resolver/intrinsic_test.cc
index ffe9388..57b0342 100644
--- a/src/resolver/intrinsic_test.cc
+++ b/src/resolver/intrinsic_test.cc
@@ -222,7 +222,7 @@
struct TextureTestParams {
ast::TextureDimension dim;
Texture type = Texture::kF32;
- ast::TexelFormat format = ast::TexelFormat::kR16Float;
+ ast::TexelFormat format = ast::TexelFormat::kR32Float;
};
inline std::ostream& operator<<(std::ostream& out, TextureTestParams data) {
out << data.dim << "_" << data.type;
diff --git a/src/resolver/type_validation_test.cc b/src/resolver/type_validation_test.cc
index 9da7dfa..2592246 100644
--- a/src/resolver/type_validation_test.cc
+++ b/src/resolver/type_validation_test.cc
@@ -861,30 +861,12 @@
};
static constexpr FormatParams format_cases[] = {
- FormatParams{ast::TexelFormat::kBgra8Unorm, false},
- FormatParams{ast::TexelFormat::kBgra8UnormSrgb, false},
- FormatParams{ast::TexelFormat::kR16Float, false},
- FormatParams{ast::TexelFormat::kR16Sint, false},
- FormatParams{ast::TexelFormat::kR16Uint, false},
FormatParams{ast::TexelFormat::kR32Float, true},
FormatParams{ast::TexelFormat::kR32Sint, true},
FormatParams{ast::TexelFormat::kR32Uint, true},
- FormatParams{ast::TexelFormat::kR8Sint, false},
- FormatParams{ast::TexelFormat::kR8Snorm, false},
- FormatParams{ast::TexelFormat::kR8Uint, false},
- FormatParams{ast::TexelFormat::kR8Unorm, false},
- FormatParams{ast::TexelFormat::kRg11B10Float, false},
- FormatParams{ast::TexelFormat::kRg16Float, false},
- FormatParams{ast::TexelFormat::kRg16Sint, false},
- FormatParams{ast::TexelFormat::kRg16Uint, false},
FormatParams{ast::TexelFormat::kRg32Float, true},
FormatParams{ast::TexelFormat::kRg32Sint, true},
FormatParams{ast::TexelFormat::kRg32Uint, true},
- FormatParams{ast::TexelFormat::kRg8Sint, false},
- FormatParams{ast::TexelFormat::kRg8Snorm, false},
- FormatParams{ast::TexelFormat::kRg8Uint, false},
- FormatParams{ast::TexelFormat::kRg8Unorm, false},
- FormatParams{ast::TexelFormat::kRgb10A2Unorm, false},
FormatParams{ast::TexelFormat::kRgba16Float, true},
FormatParams{ast::TexelFormat::kRgba16Sint, true},
FormatParams{ast::TexelFormat::kRgba16Uint, true},
@@ -894,8 +876,7 @@
FormatParams{ast::TexelFormat::kRgba8Sint, true},
FormatParams{ast::TexelFormat::kRgba8Snorm, true},
FormatParams{ast::TexelFormat::kRgba8Uint, true},
- FormatParams{ast::TexelFormat::kRgba8Unorm, true},
- FormatParams{ast::TexelFormat::kRgba8UnormSrgb, false}};
+ FormatParams{ast::TexelFormat::kRgba8Unorm, true}};
using StorageTextureFormatTest = ResolverTestWithParam<FormatParams>;
TEST_P(StorageTextureFormatTest, All) {
diff --git a/src/sem/storage_texture_type.cc b/src/sem/storage_texture_type.cc
index 8f796db..6492afd 100644
--- a/src/sem/storage_texture_type.cc
+++ b/src/sem/storage_texture_type.cc
@@ -48,11 +48,7 @@
sem::Type* StorageTexture::SubtypeFor(ast::TexelFormat format,
sem::Manager& type_mgr) {
switch (format) {
- case ast::TexelFormat::kR8Uint:
- case ast::TexelFormat::kR16Uint:
- case ast::TexelFormat::kRg8Uint:
case ast::TexelFormat::kR32Uint:
- case ast::TexelFormat::kRg16Uint:
case ast::TexelFormat::kRgba8Uint:
case ast::TexelFormat::kRg32Uint:
case ast::TexelFormat::kRgba16Uint:
@@ -60,11 +56,7 @@
return type_mgr.Get<sem::U32>();
}
- case ast::TexelFormat::kR8Sint:
- case ast::TexelFormat::kR16Sint:
- case ast::TexelFormat::kRg8Sint:
case ast::TexelFormat::kR32Sint:
- case ast::TexelFormat::kRg16Sint:
case ast::TexelFormat::kRgba8Sint:
case ast::TexelFormat::kRg32Sint:
case ast::TexelFormat::kRgba16Sint:
@@ -72,20 +64,9 @@
return type_mgr.Get<sem::I32>();
}
- case ast::TexelFormat::kR8Unorm:
- case ast::TexelFormat::kRg8Unorm:
case ast::TexelFormat::kRgba8Unorm:
- case ast::TexelFormat::kRgba8UnormSrgb:
- case ast::TexelFormat::kBgra8Unorm:
- case ast::TexelFormat::kBgra8UnormSrgb:
- case ast::TexelFormat::kRgb10A2Unorm:
- case ast::TexelFormat::kR8Snorm:
- case ast::TexelFormat::kRg8Snorm:
case ast::TexelFormat::kRgba8Snorm:
- case ast::TexelFormat::kR16Float:
case ast::TexelFormat::kR32Float:
- case ast::TexelFormat::kRg16Float:
- case ast::TexelFormat::kRg11B10Float:
case ast::TexelFormat::kRg32Float:
case ast::TexelFormat::kRgba16Float:
case ast::TexelFormat::kRgba32Float: {
diff --git a/src/transform/renamer_test.cc b/src/transform/renamer_test.cc
index d32c9f3..7f83043 100644
--- a/src/transform/renamer_test.cc
+++ b/src/transform/renamer_test.cc
@@ -1334,19 +1334,19 @@
"ptrdiff_t",
"r16snorm",
"r16unorm",
- // "r8unorm", // Also used in WGSL
+ "r8unorm",
"reference",
"rg11b10f",
"rg16snorm",
"rg16unorm",
- // "rg8snorm", // Also used in WGSL
- // "rg8unorm", // Also used in WGSL
+ "rg8snorm",
+ "rg8unorm",
"rgb10a2",
"rgb9e5",
"rgba16snorm",
"rgba16unorm",
- // "rgba8snorm", // Also used in WGSL
- // "rgba8unorm", // Also used in WGSL
+ "rgba8snorm",
+ "rgba8unorm",
// "sampler", // Also used in WGSL
"short2",
"short3",
diff --git a/src/writer/spirv/builder.cc b/src/writer/spirv/builder.cc
index cec7b77..f7f354f 100644
--- a/src/writer/spirv/builder.cc
+++ b/src/writer/spirv/builder.cc
@@ -4304,74 +4304,20 @@
SpvImageFormat Builder::convert_texel_format_to_spv(
const ast::TexelFormat format) {
switch (format) {
- case ast::TexelFormat::kR8Unorm:
- push_capability(SpvCapabilityStorageImageExtendedFormats);
- return SpvImageFormatR8;
- case ast::TexelFormat::kR8Snorm:
- push_capability(SpvCapabilityStorageImageExtendedFormats);
- return SpvImageFormatR8Snorm;
- case ast::TexelFormat::kR8Uint:
- push_capability(SpvCapabilityStorageImageExtendedFormats);
- return SpvImageFormatR8ui;
- case ast::TexelFormat::kR8Sint:
- push_capability(SpvCapabilityStorageImageExtendedFormats);
- return SpvImageFormatR8i;
- case ast::TexelFormat::kR16Uint:
- push_capability(SpvCapabilityStorageImageExtendedFormats);
- return SpvImageFormatR16ui;
- case ast::TexelFormat::kR16Sint:
- push_capability(SpvCapabilityStorageImageExtendedFormats);
- return SpvImageFormatR16i;
- case ast::TexelFormat::kR16Float:
- push_capability(SpvCapabilityStorageImageExtendedFormats);
- return SpvImageFormatR16f;
- case ast::TexelFormat::kRg8Unorm:
- push_capability(SpvCapabilityStorageImageExtendedFormats);
- return SpvImageFormatRg8;
- case ast::TexelFormat::kRg8Snorm:
- push_capability(SpvCapabilityStorageImageExtendedFormats);
- return SpvImageFormatRg8Snorm;
- case ast::TexelFormat::kRg8Uint:
- push_capability(SpvCapabilityStorageImageExtendedFormats);
- return SpvImageFormatRg8ui;
- case ast::TexelFormat::kRg8Sint:
- push_capability(SpvCapabilityStorageImageExtendedFormats);
- return SpvImageFormatRg8i;
case ast::TexelFormat::kR32Uint:
return SpvImageFormatR32ui;
case ast::TexelFormat::kR32Sint:
return SpvImageFormatR32i;
case ast::TexelFormat::kR32Float:
return SpvImageFormatR32f;
- case ast::TexelFormat::kRg16Uint:
- push_capability(SpvCapabilityStorageImageExtendedFormats);
- return SpvImageFormatRg16ui;
- case ast::TexelFormat::kRg16Sint:
- push_capability(SpvCapabilityStorageImageExtendedFormats);
- return SpvImageFormatRg16i;
- case ast::TexelFormat::kRg16Float:
- push_capability(SpvCapabilityStorageImageExtendedFormats);
- return SpvImageFormatRg16f;
case ast::TexelFormat::kRgba8Unorm:
return SpvImageFormatRgba8;
- case ast::TexelFormat::kRgba8UnormSrgb:
- return SpvImageFormatUnknown;
case ast::TexelFormat::kRgba8Snorm:
return SpvImageFormatRgba8Snorm;
case ast::TexelFormat::kRgba8Uint:
return SpvImageFormatRgba8ui;
case ast::TexelFormat::kRgba8Sint:
return SpvImageFormatRgba8i;
- case ast::TexelFormat::kBgra8Unorm:
- return SpvImageFormatUnknown;
- case ast::TexelFormat::kBgra8UnormSrgb:
- return SpvImageFormatUnknown;
- case ast::TexelFormat::kRgb10A2Unorm:
- push_capability(SpvCapabilityStorageImageExtendedFormats);
- return SpvImageFormatRgb10A2;
- case ast::TexelFormat::kRg11B10Float:
- push_capability(SpvCapabilityStorageImageExtendedFormats);
- return SpvImageFormatR11fG11fB10f;
case ast::TexelFormat::kRg32Uint:
push_capability(SpvCapabilityStorageImageExtendedFormats);
return SpvImageFormatRg32ui;
diff --git a/src/writer/spirv/builder_format_conversion_test.cc b/src/writer/spirv/builder_format_conversion_test.cc
index c7ec41f..0c4b67b 100644
--- a/src/writer/spirv/builder_format_conversion_test.cc
+++ b/src/writer/spirv/builder_format_conversion_test.cc
@@ -51,33 +51,34 @@
BuilderTest,
ImageFormatConversionTest,
testing::Values(
- TestData{ast::TexelFormat::kR8Unorm, SpvImageFormatR8, true},
- TestData{ast::TexelFormat::kR8Snorm, SpvImageFormatR8Snorm, true},
- TestData{ast::TexelFormat::kR8Uint, SpvImageFormatR8ui, true},
- TestData{ast::TexelFormat::kR8Sint, SpvImageFormatR8i, true},
- TestData{ast::TexelFormat::kR16Uint, SpvImageFormatR16ui, true},
- TestData{ast::TexelFormat::kR16Sint, SpvImageFormatR16i, true},
- TestData{ast::TexelFormat::kR16Float, SpvImageFormatR16f, true},
- TestData{ast::TexelFormat::kRg8Unorm, SpvImageFormatRg8, true},
- TestData{ast::TexelFormat::kRg8Snorm, SpvImageFormatRg8Snorm, true},
- TestData{ast::TexelFormat::kRg8Uint, SpvImageFormatRg8ui, true},
- TestData{ast::TexelFormat::kRg8Sint, SpvImageFormatRg8i, true},
+ /* WGSL unsupported formats
+ TestData{ast::TexelFormat::kR8Unorm, SpvImageFormatR8, true},
+ TestData{ast::TexelFormat::kR8Snorm, SpvImageFormatR8Snorm, true},
+ TestData{ast::TexelFormat::kR8Uint, SpvImageFormatR8ui, true},
+ TestData{ast::TexelFormat::kR8Sint, SpvImageFormatR8i, true},
+ TestData{ast::TexelFormat::kR16Uint, SpvImageFormatR16ui, true},
+ TestData{ast::TexelFormat::kR16Sint, SpvImageFormatR16i, true},
+ TestData{ast::TexelFormat::kR16Float, SpvImageFormatR16f, true},
+ TestData{ast::TexelFormat::kRg8Unorm, SpvImageFormatRg8, true},
+ TestData{ast::TexelFormat::kRg8Snorm, SpvImageFormatRg8Snorm, true},
+ TestData{ast::TexelFormat::kRg8Uint, SpvImageFormatRg8ui, true},
+ TestData{ast::TexelFormat::kRg8Sint, SpvImageFormatRg8i, true},
+ TestData{ast::TexelFormat::kRg16Uint, SpvImageFormatRg16ui, true},
+ TestData{ast::TexelFormat::kRg16Sint, SpvImageFormatRg16i, true},
+ TestData{ast::TexelFormat::kRg16Float, SpvImageFormatRg16f, true},
+ TestData{ast::TexelFormat::kRgba8UnormSrgb, SpvImageFormatUnknown},
+ TestData{ast::TexelFormat::kBgra8Unorm, SpvImageFormatUnknown},
+ TestData{ast::TexelFormat::kBgra8UnormSrgb, SpvImageFormatUnknown},
+ TestData{ast::TexelFormat::kRgb10A2Unorm, SpvImageFormatRgb10A2, true},
+ TestData{ast::TexelFormat::kRg11B10Float, SpvImageFormatR11fG11fB10f, true},
+*/
TestData{ast::TexelFormat::kR32Uint, SpvImageFormatR32ui},
TestData{ast::TexelFormat::kR32Sint, SpvImageFormatR32i},
TestData{ast::TexelFormat::kR32Float, SpvImageFormatR32f},
- TestData{ast::TexelFormat::kRg16Uint, SpvImageFormatRg16ui, true},
- TestData{ast::TexelFormat::kRg16Sint, SpvImageFormatRg16i, true},
- TestData{ast::TexelFormat::kRg16Float, SpvImageFormatRg16f, true},
TestData{ast::TexelFormat::kRgba8Unorm, SpvImageFormatRgba8},
- TestData{ast::TexelFormat::kRgba8UnormSrgb, SpvImageFormatUnknown},
TestData{ast::TexelFormat::kRgba8Snorm, SpvImageFormatRgba8Snorm},
TestData{ast::TexelFormat::kRgba8Uint, SpvImageFormatRgba8ui},
TestData{ast::TexelFormat::kRgba8Sint, SpvImageFormatRgba8i},
- TestData{ast::TexelFormat::kBgra8Unorm, SpvImageFormatUnknown},
- TestData{ast::TexelFormat::kBgra8UnormSrgb, SpvImageFormatUnknown},
- TestData{ast::TexelFormat::kRgb10A2Unorm, SpvImageFormatRgb10A2, true},
- TestData{ast::TexelFormat::kRg11B10Float, SpvImageFormatR11fG11fB10f,
- true},
TestData{ast::TexelFormat::kRg32Uint, SpvImageFormatRg32ui, true},
TestData{ast::TexelFormat::kRg32Sint, SpvImageFormatRg32i, true},
TestData{ast::TexelFormat::kRg32Float, SpvImageFormatRg32f, true},
diff --git a/src/writer/wgsl/generator_impl_type_test.cc b/src/writer/wgsl/generator_impl_type_test.cc
index 2b84826..236c1b1 100644
--- a/src/writer/wgsl/generator_impl_type_test.cc
+++ b/src/writer/wgsl/generator_impl_type_test.cc
@@ -489,32 +489,13 @@
WgslGeneratorImplTest,
WgslGenerator_ImageFormatTest,
testing::Values(
- ImageFormatData{ast::TexelFormat::kR8Unorm, "r8unorm"},
- ImageFormatData{ast::TexelFormat::kR8Snorm, "r8snorm"},
- ImageFormatData{ast::TexelFormat::kR8Uint, "r8uint"},
- ImageFormatData{ast::TexelFormat::kR8Sint, "r8sint"},
- ImageFormatData{ast::TexelFormat::kR16Uint, "r16uint"},
- ImageFormatData{ast::TexelFormat::kR16Sint, "r16sint"},
- ImageFormatData{ast::TexelFormat::kR16Float, "r16float"},
- ImageFormatData{ast::TexelFormat::kRg8Unorm, "rg8unorm"},
- ImageFormatData{ast::TexelFormat::kRg8Snorm, "rg8snorm"},
- ImageFormatData{ast::TexelFormat::kRg8Uint, "rg8uint"},
- ImageFormatData{ast::TexelFormat::kRg8Sint, "rg8sint"},
ImageFormatData{ast::TexelFormat::kR32Uint, "r32uint"},
ImageFormatData{ast::TexelFormat::kR32Sint, "r32sint"},
ImageFormatData{ast::TexelFormat::kR32Float, "r32float"},
- ImageFormatData{ast::TexelFormat::kRg16Uint, "rg16uint"},
- ImageFormatData{ast::TexelFormat::kRg16Sint, "rg16sint"},
- ImageFormatData{ast::TexelFormat::kRg16Float, "rg16float"},
ImageFormatData{ast::TexelFormat::kRgba8Unorm, "rgba8unorm"},
- ImageFormatData{ast::TexelFormat::kRgba8UnormSrgb, "rgba8unorm_srgb"},
ImageFormatData{ast::TexelFormat::kRgba8Snorm, "rgba8snorm"},
ImageFormatData{ast::TexelFormat::kRgba8Uint, "rgba8uint"},
ImageFormatData{ast::TexelFormat::kRgba8Sint, "rgba8sint"},
- ImageFormatData{ast::TexelFormat::kBgra8Unorm, "bgra8unorm"},
- ImageFormatData{ast::TexelFormat::kBgra8UnormSrgb, "bgra8unorm_srgb"},
- ImageFormatData{ast::TexelFormat::kRgb10A2Unorm, "rgb10a2unorm"},
- ImageFormatData{ast::TexelFormat::kRg11B10Float, "rg11b10float"},
ImageFormatData{ast::TexelFormat::kRg32Uint, "rg32uint"},
ImageFormatData{ast::TexelFormat::kRg32Sint, "rg32sint"},
ImageFormatData{ast::TexelFormat::kRg32Float, "rg32float"},