ast: Rename ImageFormat to TexelFormat
This is what its called in the spec.
Issue: tint:1361
Change-Id: I512c4224191fd2bbf04522da2093872f79ee02a6
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/75581
Reviewed-by: David Neto <dneto@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
diff --git a/samples/main.cc b/samples/main.cc
index bcbbe3e..076ea2b 100644
--- a/samples/main.cc
+++ b/samples/main.cc
@@ -253,80 +253,80 @@
return "Unknown";
}
-std::string ImageFormatToString(
- tint::inspector::ResourceBinding::ImageFormat format) {
+std::string TexelFormatToString(
+ tint::inspector::ResourceBinding::TexelFormat format) {
switch (format) {
- case tint::inspector::ResourceBinding::ImageFormat::kR8Unorm:
+ case tint::inspector::ResourceBinding::TexelFormat::kR8Unorm:
return "R8Unorm";
- case tint::inspector::ResourceBinding::ImageFormat::kR8Snorm:
+ case tint::inspector::ResourceBinding::TexelFormat::kR8Snorm:
return "R8Snorm";
- case tint::inspector::ResourceBinding::ImageFormat::kR8Uint:
+ case tint::inspector::ResourceBinding::TexelFormat::kR8Uint:
return "R8Uint";
- case tint::inspector::ResourceBinding::ImageFormat::kR8Sint:
+ case tint::inspector::ResourceBinding::TexelFormat::kR8Sint:
return "R8Sint";
- case tint::inspector::ResourceBinding::ImageFormat::kR16Uint:
+ case tint::inspector::ResourceBinding::TexelFormat::kR16Uint:
return "R16Uint";
- case tint::inspector::ResourceBinding::ImageFormat::kR16Sint:
+ case tint::inspector::ResourceBinding::TexelFormat::kR16Sint:
return "R16Sint";
- case tint::inspector::ResourceBinding::ImageFormat::kR16Float:
+ case tint::inspector::ResourceBinding::TexelFormat::kR16Float:
return "R16Float";
- case tint::inspector::ResourceBinding::ImageFormat::kRg8Unorm:
+ case tint::inspector::ResourceBinding::TexelFormat::kRg8Unorm:
return "Rg8Unorm";
- case tint::inspector::ResourceBinding::ImageFormat::kRg8Snorm:
+ case tint::inspector::ResourceBinding::TexelFormat::kRg8Snorm:
return "Rg8Snorm";
- case tint::inspector::ResourceBinding::ImageFormat::kRg8Uint:
+ case tint::inspector::ResourceBinding::TexelFormat::kRg8Uint:
return "Rg8Uint";
- case tint::inspector::ResourceBinding::ImageFormat::kRg8Sint:
+ case tint::inspector::ResourceBinding::TexelFormat::kRg8Sint:
return "Rg8Sint";
- case tint::inspector::ResourceBinding::ImageFormat::kR32Uint:
+ case tint::inspector::ResourceBinding::TexelFormat::kR32Uint:
return "R32Uint";
- case tint::inspector::ResourceBinding::ImageFormat::kR32Sint:
+ case tint::inspector::ResourceBinding::TexelFormat::kR32Sint:
return "R32Sint";
- case tint::inspector::ResourceBinding::ImageFormat::kR32Float:
+ case tint::inspector::ResourceBinding::TexelFormat::kR32Float:
return "R32Float";
- case tint::inspector::ResourceBinding::ImageFormat::kRg16Uint:
+ case tint::inspector::ResourceBinding::TexelFormat::kRg16Uint:
return "Rg16Uint";
- case tint::inspector::ResourceBinding::ImageFormat::kRg16Sint:
+ case tint::inspector::ResourceBinding::TexelFormat::kRg16Sint:
return "Rg16Sint";
- case tint::inspector::ResourceBinding::ImageFormat::kRg16Float:
+ case tint::inspector::ResourceBinding::TexelFormat::kRg16Float:
return "Rg16Float";
- case tint::inspector::ResourceBinding::ImageFormat::kRgba8Unorm:
+ case tint::inspector::ResourceBinding::TexelFormat::kRgba8Unorm:
return "Rgba8Unorm";
- case tint::inspector::ResourceBinding::ImageFormat::kRgba8UnormSrgb:
+ case tint::inspector::ResourceBinding::TexelFormat::kRgba8UnormSrgb:
return "Rgba8UnormSrgb";
- case tint::inspector::ResourceBinding::ImageFormat::kRgba8Snorm:
+ case tint::inspector::ResourceBinding::TexelFormat::kRgba8Snorm:
return "Rgba8Snorm";
- case tint::inspector::ResourceBinding::ImageFormat::kRgba8Uint:
+ case tint::inspector::ResourceBinding::TexelFormat::kRgba8Uint:
return "Rgba8Uint";
- case tint::inspector::ResourceBinding::ImageFormat::kRgba8Sint:
+ case tint::inspector::ResourceBinding::TexelFormat::kRgba8Sint:
return "Rgba8Sint";
- case tint::inspector::ResourceBinding::ImageFormat::kBgra8Unorm:
+ case tint::inspector::ResourceBinding::TexelFormat::kBgra8Unorm:
return "Bgra8Unorm";
- case tint::inspector::ResourceBinding::ImageFormat::kBgra8UnormSrgb:
+ case tint::inspector::ResourceBinding::TexelFormat::kBgra8UnormSrgb:
return "Bgra8UnormSrgb";
- case tint::inspector::ResourceBinding::ImageFormat::kRgb10A2Unorm:
+ case tint::inspector::ResourceBinding::TexelFormat::kRgb10A2Unorm:
return "Rgb10A2Unorm";
- case tint::inspector::ResourceBinding::ImageFormat::kRg11B10Float:
+ case tint::inspector::ResourceBinding::TexelFormat::kRg11B10Float:
return "Rg11B10Float";
- case tint::inspector::ResourceBinding::ImageFormat::kRg32Uint:
+ case tint::inspector::ResourceBinding::TexelFormat::kRg32Uint:
return "Rg32Uint";
- case tint::inspector::ResourceBinding::ImageFormat::kRg32Sint:
+ case tint::inspector::ResourceBinding::TexelFormat::kRg32Sint:
return "Rg32Sint";
- case tint::inspector::ResourceBinding::ImageFormat::kRg32Float:
+ case tint::inspector::ResourceBinding::TexelFormat::kRg32Float:
return "Rg32Float";
- case tint::inspector::ResourceBinding::ImageFormat::kRgba16Uint:
+ case tint::inspector::ResourceBinding::TexelFormat::kRgba16Uint:
return "Rgba16Uint";
- case tint::inspector::ResourceBinding::ImageFormat::kRgba16Sint:
+ case tint::inspector::ResourceBinding::TexelFormat::kRgba16Sint:
return "Rgba16Sint";
- case tint::inspector::ResourceBinding::ImageFormat::kRgba16Float:
+ case tint::inspector::ResourceBinding::TexelFormat::kRgba16Float:
return "Rgba16Float";
- case tint::inspector::ResourceBinding::ImageFormat::kRgba32Uint:
+ case tint::inspector::ResourceBinding::TexelFormat::kRgba32Uint:
return "Rgba32Uint";
- case tint::inspector::ResourceBinding::ImageFormat::kRgba32Sint:
+ case tint::inspector::ResourceBinding::TexelFormat::kRgba32Sint:
return "Rgba32Sint";
- case tint::inspector::ResourceBinding::ImageFormat::kRgba32Float:
+ case tint::inspector::ResourceBinding::TexelFormat::kRgba32Float:
return "Rgba32Float";
- case tint::inspector::ResourceBinding::ImageFormat::kNone:
+ case tint::inspector::ResourceBinding::TexelFormat::kNone:
return "None";
}
return "Unknown";
@@ -1162,7 +1162,7 @@
std::cout << "\t\t sampled_kind = "
<< SampledKindToString(binding.sampled_kind) << std::endl;
std::cout << "\t\t image_format = "
- << ImageFormatToString(binding.image_format) << std::endl;
+ << TexelFormatToString(binding.image_format) << std::endl;
}
}
std::cout << std::string(80, '-') << std::endl;
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 62fd9fc..4bea019 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -840,7 +840,6 @@
reader/wgsl/parser_impl_global_decl_test.cc
reader/wgsl/parser_impl_global_variable_decl_test.cc
reader/wgsl/parser_impl_if_stmt_test.cc
- reader/wgsl/parser_impl_image_storage_type_test.cc
reader/wgsl/parser_impl_inclusive_or_expression_test.cc
reader/wgsl/parser_impl_logical_and_expression_test.cc
reader/wgsl/parser_impl_logical_or_expression_test.cc
@@ -872,6 +871,7 @@
reader/wgsl/parser_impl_test.cc
reader/wgsl/parser_impl_test_helper.cc
reader/wgsl/parser_impl_test_helper.h
+ reader/wgsl/parser_impl_texel_format_test.cc
reader/wgsl/parser_impl_texture_sampler_types_test.cc
reader/wgsl/parser_impl_type_alias_test.cc
reader/wgsl/parser_impl_type_decl_test.cc
diff --git a/src/ast/intrinsic_texture_helper_test.cc b/src/ast/intrinsic_texture_helper_test.cc
index 76c9a73..4273f1e 100644
--- a/src/ast/intrinsic_texture_helper_test.cc
+++ b/src/ast/intrinsic_texture_helper_test.cc
@@ -63,7 +63,7 @@
ValidTextureOverload o,
const char* d,
Access acc,
- ast::ImageFormat i,
+ ast::TexelFormat fmt,
ast::TextureDimension dims,
TextureDataType datatype,
const char* f,
@@ -72,7 +72,7 @@
description(d),
texture_kind(TextureKind::kStorage),
access(acc),
- image_format(i),
+ texel_format(fmt),
texture_dimension(dims),
texture_data_type(datatype),
function(f),
@@ -128,7 +128,7 @@
}
out << "\n";
out << "access: " << data.access << "\n";
- out << "image_format: " << data.image_format << "\n";
+ out << "texel_format: " << data.texel_format << "\n";
out << "texture_dimension: " << data.texture_dimension << "\n";
out << "texture_data_type: " << data.texture_data_type << "\n";
return out;
@@ -179,7 +179,7 @@
decos);
case ast::intrinsic::test::TextureKind::kStorage: {
- auto* st = b->ty.storage_texture(texture_dimension, image_format, access);
+ auto* st = b->ty.storage_texture(texture_dimension, texel_format, access);
return b->Global("texture", st, decos);
}
}
@@ -422,7 +422,7 @@
ValidTextureOverload::kDimensionsStorageWO1d,
"textureDimensions(t : texture_storage_1d<rgba32float>) -> i32",
ast::Access::kWrite,
- ast::ImageFormat::kRgba32Float,
+ ast::TexelFormat::kRgba32Float,
ast::TextureDimension::k1d,
TextureDataType::kF32,
"textureDimensions",
@@ -433,7 +433,7 @@
"textureDimensions(t : texture_storage_2d<rgba32float>) -> "
"vec2<i32>",
ast::Access::kWrite,
- ast::ImageFormat::kRgba32Float,
+ ast::TexelFormat::kRgba32Float,
ast::TextureDimension::k2d,
TextureDataType::kF32,
"textureDimensions",
@@ -444,7 +444,7 @@
"textureDimensions(t : texture_storage_2d_array<rgba32float>) -> "
"vec2<i32>",
ast::Access::kWrite,
- ast::ImageFormat::kRgba32Float,
+ ast::TexelFormat::kRgba32Float,
ast::TextureDimension::k2dArray,
TextureDataType::kF32,
"textureDimensions",
@@ -455,7 +455,7 @@
"textureDimensions(t : texture_storage_3d<rgba32float>) -> "
"vec3<i32>",
ast::Access::kWrite,
- ast::ImageFormat::kRgba32Float,
+ ast::TexelFormat::kRgba32Float,
ast::TextureDimension::k3d,
TextureDataType::kF32,
"textureDimensions",
@@ -848,7 +848,7 @@
ValidTextureOverload::kNumLayersStorageWO2dArray,
"textureNumLayers(t : texture_storage_2d_array<rgba32float>) -> i32",
ast::Access::kWrite,
- ast::ImageFormat::kRgba32Float,
+ ast::TexelFormat::kRgba32Float,
ast::TextureDimension::k2dArray,
TextureDataType::kF32,
"textureNumLayers",
@@ -2205,7 +2205,7 @@
" coords : i32,\n"
" value : vec4<T>)",
ast::Access::kWrite,
- ast::ImageFormat::kRgba32Float,
+ ast::TexelFormat::kRgba32Float,
ast::TextureDimension::k1d,
TextureDataType::kF32,
"textureStore",
@@ -2221,7 +2221,7 @@
" coords : vec2<i32>,\n"
" value : vec4<T>)",
ast::Access::kWrite,
- ast::ImageFormat::kRgba32Float,
+ ast::TexelFormat::kRgba32Float,
ast::TextureDimension::k2d,
TextureDataType::kF32,
"textureStore",
@@ -2238,7 +2238,7 @@
" array_index : i32,\n"
" value : vec4<T>)",
ast::Access::kWrite,
- ast::ImageFormat::kRgba32Float,
+ ast::TexelFormat::kRgba32Float,
ast::TextureDimension::k2dArray,
TextureDataType::kF32,
"textureStore",
@@ -2255,7 +2255,7 @@
" coords : vec3<i32>,\n"
" value : vec4<T>)",
ast::Access::kWrite,
- ast::ImageFormat::kRgba32Float,
+ ast::TexelFormat::kRgba32Float,
ast::TextureDimension::k3d,
TextureDataType::kF32,
"textureStore",
diff --git a/src/ast/intrinsic_texture_helper_test.h b/src/ast/intrinsic_texture_helper_test.h
index 64b995a..b5f4a34 100644
--- a/src/ast/intrinsic_texture_helper_test.h
+++ b/src/ast/intrinsic_texture_helper_test.h
@@ -207,7 +207,7 @@
TextureOverloadCase(ValidTextureOverload,
const char*,
Access,
- ast::ImageFormat,
+ ast::TexelFormat,
ast::TextureDimension,
TextureDataType,
const char*,
@@ -248,7 +248,7 @@
Access const access = Access::kReadWrite;
/// The image format for the storage texture
/// Used only when texture_kind is kStorage
- ast::ImageFormat const image_format = ast::ImageFormat::kNone;
+ ast::TexelFormat const texel_format = ast::TexelFormat::kNone;
/// The dimensions of the texture parameter
ast::TextureDimension const texture_dimension;
/// The data type of the texture parameter
diff --git a/src/ast/storage_texture.cc b/src/ast/storage_texture.cc
index 5b8fdcd..b074f5d 100644
--- a/src/ast/storage_texture.cc
+++ b/src/ast/storage_texture.cc
@@ -26,114 +26,114 @@
// Note, these names match the names in the WGSL spec. This behaviour is used
// in the WGSL writer to emit the texture format names.
-std::ostream& operator<<(std::ostream& out, ImageFormat format) {
+std::ostream& operator<<(std::ostream& out, TexelFormat format) {
switch (format) {
- case ImageFormat::kNone:
+ case TexelFormat::kNone:
out << "none";
break;
- case ImageFormat::kR8Unorm:
+ case TexelFormat::kR8Unorm:
out << "r8unorm";
break;
- case ImageFormat::kR8Snorm:
+ case TexelFormat::kR8Snorm:
out << "r8snorm";
break;
- case ImageFormat::kR8Uint:
+ case TexelFormat::kR8Uint:
out << "r8uint";
break;
- case ImageFormat::kR8Sint:
+ case TexelFormat::kR8Sint:
out << "r8sint";
break;
- case ImageFormat::kR16Uint:
+ case TexelFormat::kR16Uint:
out << "r16uint";
break;
- case ImageFormat::kR16Sint:
+ case TexelFormat::kR16Sint:
out << "r16sint";
break;
- case ImageFormat::kR16Float:
+ case TexelFormat::kR16Float:
out << "r16float";
break;
- case ImageFormat::kRg8Unorm:
+ case TexelFormat::kRg8Unorm:
out << "rg8unorm";
break;
- case ImageFormat::kRg8Snorm:
+ case TexelFormat::kRg8Snorm:
out << "rg8snorm";
break;
- case ImageFormat::kRg8Uint:
+ case TexelFormat::kRg8Uint:
out << "rg8uint";
break;
- case ImageFormat::kRg8Sint:
+ case TexelFormat::kRg8Sint:
out << "rg8sint";
break;
- case ImageFormat::kR32Uint:
+ case TexelFormat::kR32Uint:
out << "r32uint";
break;
- case ImageFormat::kR32Sint:
+ case TexelFormat::kR32Sint:
out << "r32sint";
break;
- case ImageFormat::kR32Float:
+ case TexelFormat::kR32Float:
out << "r32float";
break;
- case ImageFormat::kRg16Uint:
+ case TexelFormat::kRg16Uint:
out << "rg16uint";
break;
- case ImageFormat::kRg16Sint:
+ case TexelFormat::kRg16Sint:
out << "rg16sint";
break;
- case ImageFormat::kRg16Float:
+ case TexelFormat::kRg16Float:
out << "rg16float";
break;
- case ImageFormat::kRgba8Unorm:
+ case TexelFormat::kRgba8Unorm:
out << "rgba8unorm";
break;
- case ImageFormat::kRgba8UnormSrgb:
+ case TexelFormat::kRgba8UnormSrgb:
out << "rgba8unorm_srgb";
break;
- case ImageFormat::kRgba8Snorm:
+ case TexelFormat::kRgba8Snorm:
out << "rgba8snorm";
break;
- case ImageFormat::kRgba8Uint:
+ case TexelFormat::kRgba8Uint:
out << "rgba8uint";
break;
- case ImageFormat::kRgba8Sint:
+ case TexelFormat::kRgba8Sint:
out << "rgba8sint";
break;
- case ImageFormat::kBgra8Unorm:
+ case TexelFormat::kBgra8Unorm:
out << "bgra8unorm";
break;
- case ImageFormat::kBgra8UnormSrgb:
+ case TexelFormat::kBgra8UnormSrgb:
out << "bgra8unorm_srgb";
break;
- case ImageFormat::kRgb10A2Unorm:
+ case TexelFormat::kRgb10A2Unorm:
out << "rgb10a2unorm";
break;
- case ImageFormat::kRg11B10Float:
+ case TexelFormat::kRg11B10Float:
out << "rg11b10float";
break;
- case ImageFormat::kRg32Uint:
+ case TexelFormat::kRg32Uint:
out << "rg32uint";
break;
- case ImageFormat::kRg32Sint:
+ case TexelFormat::kRg32Sint:
out << "rg32sint";
break;
- case ImageFormat::kRg32Float:
+ case TexelFormat::kRg32Float:
out << "rg32float";
break;
- case ImageFormat::kRgba16Uint:
+ case TexelFormat::kRgba16Uint:
out << "rgba16uint";
break;
- case ImageFormat::kRgba16Sint:
+ case TexelFormat::kRgba16Sint:
out << "rgba16sint";
break;
- case ImageFormat::kRgba16Float:
+ case TexelFormat::kRgba16Float:
out << "rgba16float";
break;
- case ImageFormat::kRgba32Uint:
+ case TexelFormat::kRgba32Uint:
out << "rgba32uint";
break;
- case ImageFormat::kRgba32Sint:
+ case TexelFormat::kRgba32Sint:
out << "rgba32sint";
break;
- case ImageFormat::kRgba32Float:
+ case TexelFormat::kRgba32Float:
out << "rgba32float";
break;
}
@@ -143,7 +143,7 @@
StorageTexture::StorageTexture(ProgramID pid,
const Source& src,
TextureDimension d,
- ImageFormat fmt,
+ TexelFormat fmt,
const Type* subtype,
Access ac)
: Base(pid, src, d), format(fmt), type(subtype), access(ac) {}
@@ -165,53 +165,53 @@
return ctx->dst->create<StorageTexture>(src, dim, format, ty, access);
}
-Type* StorageTexture::SubtypeFor(ImageFormat format, ProgramBuilder& builder) {
+Type* StorageTexture::SubtypeFor(TexelFormat format, ProgramBuilder& builder) {
switch (format) {
- case ImageFormat::kR8Uint:
- case ImageFormat::kR16Uint:
- case ImageFormat::kRg8Uint:
- case ImageFormat::kR32Uint:
- case ImageFormat::kRg16Uint:
- case ImageFormat::kRgba8Uint:
- case ImageFormat::kRg32Uint:
- case ImageFormat::kRgba16Uint:
- case ImageFormat::kRgba32Uint: {
+ case TexelFormat::kR8Uint:
+ case TexelFormat::kR16Uint:
+ case TexelFormat::kRg8Uint:
+ case TexelFormat::kR32Uint:
+ case TexelFormat::kRg16Uint:
+ case TexelFormat::kRgba8Uint:
+ case TexelFormat::kRg32Uint:
+ case TexelFormat::kRgba16Uint:
+ case TexelFormat::kRgba32Uint: {
return builder.create<U32>();
}
- case ImageFormat::kR8Sint:
- case ImageFormat::kR16Sint:
- case ImageFormat::kRg8Sint:
- case ImageFormat::kR32Sint:
- case ImageFormat::kRg16Sint:
- case ImageFormat::kRgba8Sint:
- case ImageFormat::kRg32Sint:
- case ImageFormat::kRgba16Sint:
- case ImageFormat::kRgba32Sint: {
+ case TexelFormat::kR8Sint:
+ case TexelFormat::kR16Sint:
+ case TexelFormat::kRg8Sint:
+ case TexelFormat::kR32Sint:
+ case TexelFormat::kRg16Sint:
+ case TexelFormat::kRgba8Sint:
+ case TexelFormat::kRg32Sint:
+ case TexelFormat::kRgba16Sint:
+ case TexelFormat::kRgba32Sint: {
return builder.create<I32>();
}
- case ImageFormat::kR8Unorm:
- case ImageFormat::kRg8Unorm:
- case ImageFormat::kRgba8Unorm:
- case ImageFormat::kRgba8UnormSrgb:
- case ImageFormat::kBgra8Unorm:
- case ImageFormat::kBgra8UnormSrgb:
- case ImageFormat::kRgb10A2Unorm:
- case ImageFormat::kR8Snorm:
- case ImageFormat::kRg8Snorm:
- case ImageFormat::kRgba8Snorm:
- case ImageFormat::kR16Float:
- case ImageFormat::kR32Float:
- case ImageFormat::kRg16Float:
- case ImageFormat::kRg11B10Float:
- case ImageFormat::kRg32Float:
- case ImageFormat::kRgba16Float:
- case ImageFormat::kRgba32Float: {
+ 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: {
return builder.create<F32>();
}
- case ImageFormat::kNone:
+ case TexelFormat::kNone:
break;
}
diff --git a/src/ast/storage_texture.h b/src/ast/storage_texture.h
index 5e56aba..46cd2c8 100644
--- a/src/ast/storage_texture.h
+++ b/src/ast/storage_texture.h
@@ -23,10 +23,8 @@
namespace tint {
namespace ast {
-class Manager;
-
-/// The image format in the storage texture
-enum class ImageFormat {
+/// The texel format in the storage texture
+enum class TexelFormat {
kNone = -1,
kR8Unorm,
kR8Snorm,
@@ -66,9 +64,9 @@
};
/// @param out the std::ostream to write to
-/// @param format the ImageFormat
+/// @param format the TexelFormat
/// @return the std::ostream so calls can be chained
-std::ostream& operator<<(std::ostream& out, ImageFormat format);
+std::ostream& operator<<(std::ostream& out, TexelFormat format);
/// A storage texture type.
class StorageTexture : public Castable<StorageTexture, Texture> {
@@ -83,7 +81,7 @@
StorageTexture(ProgramID pid,
const Source& src,
TextureDimension dim,
- ImageFormat format,
+ TexelFormat format,
const Type* subtype,
Access access_control);
@@ -103,11 +101,11 @@
/// @param format the storage texture image format
/// @param builder the ProgramBuilder used to build the returned type
- /// @returns the storage texture subtype for the given ImageFormat
- static Type* SubtypeFor(ImageFormat format, ProgramBuilder& builder);
+ /// @returns the storage texture subtype for the given TexelFormat
+ static Type* SubtypeFor(TexelFormat format, ProgramBuilder& builder);
/// The image format
- const ImageFormat format;
+ const TexelFormat format;
/// The storage subtype
const Type* const type;
diff --git a/src/ast/storage_texture_test.cc b/src/ast/storage_texture_test.cc
index ecd2c13..2fbf8cc 100644
--- a/src/ast/storage_texture_test.cc
+++ b/src/ast/storage_texture_test.cc
@@ -23,45 +23,45 @@
using AstStorageTextureTest = TestHelper;
TEST_F(AstStorageTextureTest, IsTexture) {
- auto* subtype = StorageTexture::SubtypeFor(ImageFormat::kRgba32Float, *this);
+ auto* subtype = StorageTexture::SubtypeFor(TexelFormat::kRgba32Float, *this);
Texture* ty =
create<StorageTexture>(TextureDimension::k2dArray,
- ImageFormat::kRgba32Float, subtype, Access::kRead);
+ TexelFormat::kRgba32Float, subtype, Access::kRead);
EXPECT_FALSE(ty->Is<DepthTexture>());
EXPECT_FALSE(ty->Is<SampledTexture>());
EXPECT_TRUE(ty->Is<StorageTexture>());
}
TEST_F(AstStorageTextureTest, Dim) {
- auto* subtype = StorageTexture::SubtypeFor(ImageFormat::kRgba32Float, *this);
+ auto* subtype = StorageTexture::SubtypeFor(TexelFormat::kRgba32Float, *this);
auto* s =
create<StorageTexture>(TextureDimension::k2dArray,
- ImageFormat::kRgba32Float, subtype, Access::kRead);
+ TexelFormat::kRgba32Float, subtype, Access::kRead);
EXPECT_EQ(s->dim, TextureDimension::k2dArray);
}
TEST_F(AstStorageTextureTest, Format) {
- auto* subtype = StorageTexture::SubtypeFor(ImageFormat::kRgba32Float, *this);
+ auto* subtype = StorageTexture::SubtypeFor(TexelFormat::kRgba32Float, *this);
auto* s =
create<StorageTexture>(TextureDimension::k2dArray,
- ImageFormat::kRgba32Float, subtype, Access::kRead);
- EXPECT_EQ(s->format, ImageFormat::kRgba32Float);
+ TexelFormat::kRgba32Float, subtype, Access::kRead);
+ EXPECT_EQ(s->format, TexelFormat::kRgba32Float);
}
TEST_F(AstStorageTextureTest, FriendlyName) {
- auto* subtype = StorageTexture::SubtypeFor(ImageFormat::kRgba32Float, *this);
+ auto* subtype = StorageTexture::SubtypeFor(TexelFormat::kRgba32Float, *this);
auto* s =
create<StorageTexture>(TextureDimension::k2dArray,
- ImageFormat::kRgba32Float, subtype, Access::kRead);
+ TexelFormat::kRgba32Float, subtype, Access::kRead);
EXPECT_EQ(s->FriendlyName(Symbols()),
"texture_storage_2d_array<rgba32float, read>");
}
TEST_F(AstStorageTextureTest, F32) {
- auto* subtype = StorageTexture::SubtypeFor(ImageFormat::kRgba32Float, *this);
+ auto* subtype = StorageTexture::SubtypeFor(TexelFormat::kRgba32Float, *this);
Type* s =
create<StorageTexture>(TextureDimension::k2dArray,
- ImageFormat::kRgba32Float, subtype, Access::kRead);
+ TexelFormat::kRgba32Float, subtype, Access::kRead);
ASSERT_TRUE(s->Is<Texture>());
ASSERT_TRUE(s->Is<StorageTexture>());
@@ -69,9 +69,9 @@
}
TEST_F(AstStorageTextureTest, U32) {
- auto* subtype = StorageTexture::SubtypeFor(ImageFormat::kRg32Uint, *this);
+ auto* subtype = StorageTexture::SubtypeFor(TexelFormat::kRg32Uint, *this);
Type* s =
- create<StorageTexture>(TextureDimension::k2dArray, ImageFormat::kRg32Uint,
+ create<StorageTexture>(TextureDimension::k2dArray, TexelFormat::kRg32Uint,
subtype, Access::kRead);
ASSERT_TRUE(s->Is<Texture>());
@@ -80,10 +80,10 @@
}
TEST_F(AstStorageTextureTest, I32) {
- auto* subtype = StorageTexture::SubtypeFor(ImageFormat::kRgba32Sint, *this);
+ auto* subtype = StorageTexture::SubtypeFor(TexelFormat::kRgba32Sint, *this);
Type* s =
create<StorageTexture>(TextureDimension::k2dArray,
- ImageFormat::kRgba32Sint, subtype, Access::kRead);
+ TexelFormat::kRgba32Sint, subtype, Access::kRead);
ASSERT_TRUE(s->Is<Texture>());
ASSERT_TRUE(s->Is<StorageTexture>());
diff --git a/src/inspector/inspector.cc b/src/inspector/inspector.cc
index c011a8e..a9f2f65 100644
--- a/src/inspector/inspector.cc
+++ b/src/inspector/inspector.cc
@@ -757,8 +757,8 @@
auto* base_type = texture_type->type();
entry.sampled_kind = BaseTypeToSampledKind(base_type);
- entry.image_format = TypeImageFormatToResourceBindingImageFormat(
- texture_type->image_format());
+ entry.image_format = TypeTexelFormatToResourceBindingTexelFormat(
+ texture_type->texel_format());
result.push_back(entry);
}
diff --git a/src/inspector/inspector_test.cc b/src/inspector/inspector_test.cc
index e2c0eae..1c2d6da 100644
--- a/src/inspector/inspector_test.cc
+++ b/src/inspector/inspector_test.cc
@@ -130,11 +130,11 @@
typedef std::tuple<ast::TextureDimension, ResourceBinding::TextureDimension>
DimensionParams;
-typedef std::tuple<ast::ImageFormat,
- ResourceBinding::ImageFormat,
+typedef std::tuple<ast::TexelFormat,
+ ResourceBinding::TexelFormat,
ResourceBinding::SampledKind>
- ImageFormatParams;
-typedef std::tuple<DimensionParams, ImageFormatParams>
+ TexelFormatParams;
+typedef std::tuple<DimensionParams, TexelFormatParams>
GetStorageTextureTestParams;
class InspectorGetStorageTextureResourceBindingsTestWithParam
: public InspectorBuilder,
@@ -1292,7 +1292,7 @@
Func("depth_ms_func", {}, ty.void_(), {Ignore("depth_ms_texture")});
auto* st_type = MakeStorageTextureTypes(ast::TextureDimension::k2d,
- ast::ImageFormat::kR32Uint);
+ ast::TexelFormat::kR32Uint);
AddStorageTexture("st_var", st_type, 4, 0);
MakeStorageTextureBodyFunction("st_func", "st_var", ty.vec2<i32>(), {});
@@ -2379,15 +2379,15 @@
TEST_P(InspectorGetStorageTextureResourceBindingsTestWithParam, Simple) {
DimensionParams dim_params;
- ImageFormatParams format_params;
+ TexelFormatParams format_params;
std::tie(dim_params, format_params) = GetParam();
ast::TextureDimension dim;
ResourceBinding::TextureDimension expected_dim;
std::tie(dim, expected_dim) = dim_params;
- ast::ImageFormat format;
- ResourceBinding::ImageFormat expected_format;
+ ast::TexelFormat format;
+ ResourceBinding::TexelFormat expected_format;
ResourceBinding::SampledKind expected_kind;
std::tie(format, expected_format, expected_kind) = format_params;
@@ -2445,53 +2445,53 @@
std::make_tuple(ast::TextureDimension::k3d,
ResourceBinding::TextureDimension::k3d)),
testing::Values(
- std::make_tuple(ast::ImageFormat::kR32Float,
- ResourceBinding::ImageFormat::kR32Float,
+ std::make_tuple(ast::TexelFormat::kR32Float,
+ ResourceBinding::TexelFormat::kR32Float,
ResourceBinding::SampledKind::kFloat),
- std::make_tuple(ast::ImageFormat::kR32Sint,
- ResourceBinding::ImageFormat::kR32Sint,
+ std::make_tuple(ast::TexelFormat::kR32Sint,
+ ResourceBinding::TexelFormat::kR32Sint,
ResourceBinding::SampledKind::kSInt),
- std::make_tuple(ast::ImageFormat::kR32Uint,
- ResourceBinding::ImageFormat::kR32Uint,
+ std::make_tuple(ast::TexelFormat::kR32Uint,
+ ResourceBinding::TexelFormat::kR32Uint,
ResourceBinding::SampledKind::kUInt),
- std::make_tuple(ast::ImageFormat::kRg32Float,
- ResourceBinding::ImageFormat::kRg32Float,
+ std::make_tuple(ast::TexelFormat::kRg32Float,
+ ResourceBinding::TexelFormat::kRg32Float,
ResourceBinding::SampledKind::kFloat),
- std::make_tuple(ast::ImageFormat::kRg32Sint,
- ResourceBinding::ImageFormat::kRg32Sint,
+ std::make_tuple(ast::TexelFormat::kRg32Sint,
+ ResourceBinding::TexelFormat::kRg32Sint,
ResourceBinding::SampledKind::kSInt),
- std::make_tuple(ast::ImageFormat::kRg32Uint,
- ResourceBinding::ImageFormat::kRg32Uint,
+ std::make_tuple(ast::TexelFormat::kRg32Uint,
+ ResourceBinding::TexelFormat::kRg32Uint,
ResourceBinding::SampledKind::kUInt),
- std::make_tuple(ast::ImageFormat::kRgba16Float,
- ResourceBinding::ImageFormat::kRgba16Float,
+ std::make_tuple(ast::TexelFormat::kRgba16Float,
+ ResourceBinding::TexelFormat::kRgba16Float,
ResourceBinding::SampledKind::kFloat),
- std::make_tuple(ast::ImageFormat::kRgba16Sint,
- ResourceBinding::ImageFormat::kRgba16Sint,
+ std::make_tuple(ast::TexelFormat::kRgba16Sint,
+ ResourceBinding::TexelFormat::kRgba16Sint,
ResourceBinding::SampledKind::kSInt),
- std::make_tuple(ast::ImageFormat::kRgba16Uint,
- ResourceBinding::ImageFormat::kRgba16Uint,
+ std::make_tuple(ast::TexelFormat::kRgba16Uint,
+ ResourceBinding::TexelFormat::kRgba16Uint,
ResourceBinding::SampledKind::kUInt),
- std::make_tuple(ast::ImageFormat::kRgba32Float,
- ResourceBinding::ImageFormat::kRgba32Float,
+ std::make_tuple(ast::TexelFormat::kRgba32Float,
+ ResourceBinding::TexelFormat::kRgba32Float,
ResourceBinding::SampledKind::kFloat),
- std::make_tuple(ast::ImageFormat::kRgba32Sint,
- ResourceBinding::ImageFormat::kRgba32Sint,
+ std::make_tuple(ast::TexelFormat::kRgba32Sint,
+ ResourceBinding::TexelFormat::kRgba32Sint,
ResourceBinding::SampledKind::kSInt),
- std::make_tuple(ast::ImageFormat::kRgba32Uint,
- ResourceBinding::ImageFormat::kRgba32Uint,
+ std::make_tuple(ast::TexelFormat::kRgba32Uint,
+ ResourceBinding::TexelFormat::kRgba32Uint,
ResourceBinding::SampledKind::kUInt),
- std::make_tuple(ast::ImageFormat::kRgba8Sint,
- ResourceBinding::ImageFormat::kRgba8Sint,
+ std::make_tuple(ast::TexelFormat::kRgba8Sint,
+ ResourceBinding::TexelFormat::kRgba8Sint,
ResourceBinding::SampledKind::kSInt),
- std::make_tuple(ast::ImageFormat::kRgba8Snorm,
- ResourceBinding::ImageFormat::kRgba8Snorm,
+ std::make_tuple(ast::TexelFormat::kRgba8Snorm,
+ ResourceBinding::TexelFormat::kRgba8Snorm,
ResourceBinding::SampledKind::kFloat),
- std::make_tuple(ast::ImageFormat::kRgba8Uint,
- ResourceBinding::ImageFormat::kRgba8Uint,
+ std::make_tuple(ast::TexelFormat::kRgba8Uint,
+ ResourceBinding::TexelFormat::kRgba8Uint,
ResourceBinding::SampledKind::kUInt),
- std::make_tuple(ast::ImageFormat::kRgba8Unorm,
- ResourceBinding::ImageFormat::kRgba8Unorm,
+ std::make_tuple(ast::TexelFormat::kRgba8Unorm,
+ ResourceBinding::TexelFormat::kRgba8Unorm,
ResourceBinding::SampledKind::kFloat))));
TEST_P(InspectorGetDepthTextureResourceBindingsTestWithParam,
diff --git a/src/inspector/resource_binding.cc b/src/inspector/resource_binding.cc
index e9f6e8a..e0862ba 100644
--- a/src/inspector/resource_binding.cc
+++ b/src/inspector/resource_binding.cc
@@ -71,83 +71,83 @@
}
}
-ResourceBinding::ImageFormat TypeImageFormatToResourceBindingImageFormat(
- const ast::ImageFormat& image_format) {
+ResourceBinding::TexelFormat TypeTexelFormatToResourceBindingTexelFormat(
+ const ast::TexelFormat& image_format) {
switch (image_format) {
- case ast::ImageFormat::kR8Unorm:
- return ResourceBinding::ImageFormat::kR8Unorm;
- case ast::ImageFormat::kR8Snorm:
- return ResourceBinding::ImageFormat::kR8Snorm;
- case ast::ImageFormat::kR8Uint:
- return ResourceBinding::ImageFormat::kR8Uint;
- case ast::ImageFormat::kR8Sint:
- return ResourceBinding::ImageFormat::kR8Sint;
- case ast::ImageFormat::kR16Uint:
- return ResourceBinding::ImageFormat::kR16Uint;
- case ast::ImageFormat::kR16Sint:
- return ResourceBinding::ImageFormat::kR16Sint;
- case ast::ImageFormat::kR16Float:
- return ResourceBinding::ImageFormat::kR16Float;
- case ast::ImageFormat::kRg8Unorm:
- return ResourceBinding::ImageFormat::kRg8Unorm;
- case ast::ImageFormat::kRg8Snorm:
- return ResourceBinding::ImageFormat::kRg8Snorm;
- case ast::ImageFormat::kRg8Uint:
- return ResourceBinding::ImageFormat::kRg8Uint;
- case ast::ImageFormat::kRg8Sint:
- return ResourceBinding::ImageFormat::kRg8Sint;
- case ast::ImageFormat::kR32Uint:
- return ResourceBinding::ImageFormat::kR32Uint;
- case ast::ImageFormat::kR32Sint:
- return ResourceBinding::ImageFormat::kR32Sint;
- case ast::ImageFormat::kR32Float:
- return ResourceBinding::ImageFormat::kR32Float;
- case ast::ImageFormat::kRg16Uint:
- return ResourceBinding::ImageFormat::kRg16Uint;
- case ast::ImageFormat::kRg16Sint:
- return ResourceBinding::ImageFormat::kRg16Sint;
- case ast::ImageFormat::kRg16Float:
- return ResourceBinding::ImageFormat::kRg16Float;
- case ast::ImageFormat::kRgba8Unorm:
- return ResourceBinding::ImageFormat::kRgba8Unorm;
- case ast::ImageFormat::kRgba8UnormSrgb:
- return ResourceBinding::ImageFormat::kRgba8UnormSrgb;
- case ast::ImageFormat::kRgba8Snorm:
- return ResourceBinding::ImageFormat::kRgba8Snorm;
- case ast::ImageFormat::kRgba8Uint:
- return ResourceBinding::ImageFormat::kRgba8Uint;
- case ast::ImageFormat::kRgba8Sint:
- return ResourceBinding::ImageFormat::kRgba8Sint;
- case ast::ImageFormat::kBgra8Unorm:
- return ResourceBinding::ImageFormat::kBgra8Unorm;
- case ast::ImageFormat::kBgra8UnormSrgb:
- return ResourceBinding::ImageFormat::kBgra8UnormSrgb;
- case ast::ImageFormat::kRgb10A2Unorm:
- return ResourceBinding::ImageFormat::kRgb10A2Unorm;
- case ast::ImageFormat::kRg11B10Float:
- return ResourceBinding::ImageFormat::kRg11B10Float;
- case ast::ImageFormat::kRg32Uint:
- return ResourceBinding::ImageFormat::kRg32Uint;
- case ast::ImageFormat::kRg32Sint:
- return ResourceBinding::ImageFormat::kRg32Sint;
- case ast::ImageFormat::kRg32Float:
- return ResourceBinding::ImageFormat::kRg32Float;
- case ast::ImageFormat::kRgba16Uint:
- return ResourceBinding::ImageFormat::kRgba16Uint;
- case ast::ImageFormat::kRgba16Sint:
- return ResourceBinding::ImageFormat::kRgba16Sint;
- case ast::ImageFormat::kRgba16Float:
- return ResourceBinding::ImageFormat::kRgba16Float;
- case ast::ImageFormat::kRgba32Uint:
- return ResourceBinding::ImageFormat::kRgba32Uint;
- case ast::ImageFormat::kRgba32Sint:
- return ResourceBinding::ImageFormat::kRgba32Sint;
- case ast::ImageFormat::kRgba32Float:
- return ResourceBinding::ImageFormat::kRgba32Float;
- case ast::ImageFormat::kNone:
- return ResourceBinding::ImageFormat::kNone;
+ 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:
+ return ResourceBinding::TexelFormat::kRg32Sint;
+ case ast::TexelFormat::kRg32Float:
+ return ResourceBinding::TexelFormat::kRg32Float;
+ case ast::TexelFormat::kRgba16Uint:
+ return ResourceBinding::TexelFormat::kRgba16Uint;
+ case ast::TexelFormat::kRgba16Sint:
+ return ResourceBinding::TexelFormat::kRgba16Sint;
+ case ast::TexelFormat::kRgba16Float:
+ return ResourceBinding::TexelFormat::kRgba16Float;
+ case ast::TexelFormat::kRgba32Uint:
+ return ResourceBinding::TexelFormat::kRgba32Uint;
+ case ast::TexelFormat::kRgba32Sint:
+ return ResourceBinding::TexelFormat::kRgba32Sint;
+ case ast::TexelFormat::kRgba32Float:
+ return ResourceBinding::TexelFormat::kRgba32Float;
+ case ast::TexelFormat::kNone:
+ return ResourceBinding::TexelFormat::kNone;
}
- return ResourceBinding::ImageFormat::kNone;
+ return ResourceBinding::TexelFormat::kNone;
}
} // namespace inspector
diff --git a/src/inspector/resource_binding.h b/src/inspector/resource_binding.h
index 6558019..cb84917 100644
--- a/src/inspector/resource_binding.h
+++ b/src/inspector/resource_binding.h
@@ -47,8 +47,8 @@
/// in SPIR-V OpTypeImage.
enum class SampledKind { kUnknown = -1, kFloat, kUInt, kSInt };
- /// Enumerator of texture image formats
- enum class ImageFormat {
+ /// Enumerator of texel image formats
+ enum class TexelFormat {
kNone = -1,
kR8Unorm,
kR8Snorm,
@@ -87,6 +87,9 @@
kRgba32Float,
};
+ /// Renamed field [DEPRECATED]
+ using ImageFormat = TexelFormat;
+
/// kXXX maps to entries returned by GetXXXResourceBindings call.
enum class ResourceType {
kUniformBuffer,
@@ -118,7 +121,7 @@
/// Kind of data being sampled, if defined.
SampledKind sampled_kind;
/// Format of data, if defined.
- ImageFormat image_format;
+ TexelFormat image_format;
};
/// Convert from internal ast::TextureDimension to public
@@ -134,12 +137,12 @@
/// @returns the publicly visible equivalent
ResourceBinding::SampledKind BaseTypeToSampledKind(const sem::Type* base_type);
-/// Convert from internal ast::ImageFormat to public
-/// ResourceBinding::ImageFormat
+/// Convert from internal ast::TexelFormat to public
+/// ResourceBinding::TexelFormat
/// @param image_format internal value to convert from
/// @returns the publicly visible equivalent
-ResourceBinding::ImageFormat TypeImageFormatToResourceBindingImageFormat(
- const ast::ImageFormat& image_format);
+ResourceBinding::TexelFormat TypeTexelFormatToResourceBindingTexelFormat(
+ const ast::TexelFormat& image_format);
} // namespace inspector
} // namespace tint
diff --git a/src/inspector/test_inspector_builder.cc b/src/inspector/test_inspector_builder.cc
index 55c16f6..3548eea 100644
--- a/src/inspector/test_inspector_builder.cc
+++ b/src/inspector/test_inspector_builder.cc
@@ -321,7 +321,7 @@
const ast::Type* InspectorBuilder::MakeStorageTextureTypes(
ast::TextureDimension dim,
- ast::ImageFormat format) {
+ ast::TexelFormat format) {
return ty.storage_texture(dim, format, ast::Access::kWrite);
}
diff --git a/src/inspector/test_inspector_builder.h b/src/inspector/test_inspector_builder.h
index e3783ab..b041419 100644
--- a/src/inspector/test_inspector_builder.h
+++ b/src/inspector/test_inspector_builder.h
@@ -332,10 +332,10 @@
/// Generates appropriate types for a Read-Only StorageTexture
/// @param dim the texture dimension of the storage texture
- /// @param format the image format of the storage texture
+ /// @param format the texel format of the storage texture
/// @returns the storage texture type
const ast::Type* MakeStorageTextureTypes(ast::TextureDimension dim,
- ast::ImageFormat format);
+ ast::TexelFormat format);
/// Adds a storage texture variable to the program
/// @param name the name of the variable
diff --git a/src/intrinsic_table.cc b/src/intrinsic_table.cc
index 7c0f13d..23c9e30 100644
--- a/src/intrinsic_table.cc
+++ b/src/intrinsic_table.cc
@@ -290,7 +290,7 @@
// TODO(bclayton): See if we can move more of this hand-rolled code to the
// template
////////////////////////////////////////////////////////////////////////////////
-using TexelFormat = ast::ImageFormat;
+using TexelFormat = ast::TexelFormat;
using Access = ast::Access;
using StorageClass = ast::StorageClass;
using ParameterUsage = sem::ParameterUsage;
@@ -619,7 +619,7 @@
}
if (auto* v = ty->As<sem::StorageTexture>()) {
if (v->dim() == dim) {
- F = Number(static_cast<uint32_t>(v->image_format()));
+ F = Number(static_cast<uint32_t>(v->texel_format()));
A = Number(static_cast<uint32_t>(v->access()));
return true;
}
diff --git a/src/intrinsic_table_test.cc b/src/intrinsic_table_test.cc
index e1614b0..dbb759e 100644
--- a/src/intrinsic_table_test.cc
+++ b/src/intrinsic_table_test.cc
@@ -394,9 +394,9 @@
auto* vec2_i32 = create<sem::Vector>(i32, 2);
auto* vec4_f32 = create<sem::Vector>(f32, 4);
auto* subtype =
- sem::StorageTexture::SubtypeFor(ast::ImageFormat::kR32Float, Types());
+ sem::StorageTexture::SubtypeFor(ast::TexelFormat::kR32Float, Types());
auto* tex = create<sem::StorageTexture>(ast::TextureDimension::k2d,
- ast::ImageFormat::kR32Float,
+ ast::TexelFormat::kR32Float,
ast::Access::kWrite, subtype);
auto* result = table->Lookup(IntrinsicType::kTextureStore,
diff --git a/src/program_builder.h b/src/program_builder.h
index b724328..2d97ad6 100644
--- a/src/program_builder.h
+++ b/src/program_builder.h
@@ -901,11 +901,11 @@
}
/// @param dims the dimensionality of the texture
- /// @param format the image format of the texture
+ /// @param format the texel format of the texture
/// @param access the access control of the texture
/// @returns the storage texture
const ast::StorageTexture* storage_texture(ast::TextureDimension dims,
- ast::ImageFormat format,
+ ast::TexelFormat format,
ast::Access access) const {
auto* subtype = ast::StorageTexture::SubtypeFor(format, *builder);
return builder->create<ast::StorageTexture>(dims, format, subtype,
@@ -914,12 +914,12 @@
/// @param source the Source of the node
/// @param dims the dimensionality of the texture
- /// @param format the image format of the texture
+ /// @param format the texel format of the texture
/// @param access the access control of the texture
/// @returns the storage texture
const ast::StorageTexture* storage_texture(const Source& source,
ast::TextureDimension dims,
- ast::ImageFormat format,
+ ast::TexelFormat format,
ast::Access access) const {
auto* subtype = ast::StorageTexture::SubtypeFor(format, *builder);
return builder->create<ast::StorageTexture>(source, dims, format, subtype,
diff --git a/src/reader/spirv/enum_converter.cc b/src/reader/spirv/enum_converter.cc
index 82421cc..843076e 100644
--- a/src/reader/spirv/enum_converter.cc
+++ b/src/reader/spirv/enum_converter.cc
@@ -130,53 +130,53 @@
return ast::TextureDimension::kNone;
}
-ast::ImageFormat EnumConverter::ToImageFormat(SpvImageFormat fmt) {
+ast::TexelFormat EnumConverter::ToTexelFormat(SpvImageFormat fmt) {
switch (fmt) {
case SpvImageFormatUnknown:
- return ast::ImageFormat::kNone;
+ return ast::TexelFormat::kNone;
// 8 bit channels
case SpvImageFormatRgba8:
- return ast::ImageFormat::kRgba8Unorm;
+ return ast::TexelFormat::kRgba8Unorm;
case SpvImageFormatRgba8Snorm:
- return ast::ImageFormat::kRgba8Snorm;
+ return ast::TexelFormat::kRgba8Snorm;
case SpvImageFormatRgba8ui:
- return ast::ImageFormat::kRgba8Uint;
+ return ast::TexelFormat::kRgba8Uint;
case SpvImageFormatRgba8i:
- return ast::ImageFormat::kRgba8Sint;
+ return ast::TexelFormat::kRgba8Sint;
// 16 bit channels
case SpvImageFormatRgba16ui:
- return ast::ImageFormat::kRgba16Uint;
+ return ast::TexelFormat::kRgba16Uint;
case SpvImageFormatRgba16i:
- return ast::ImageFormat::kRgba16Sint;
+ return ast::TexelFormat::kRgba16Sint;
case SpvImageFormatRgba16f:
- return ast::ImageFormat::kRgba16Float;
+ return ast::TexelFormat::kRgba16Float;
// 32 bit channels
case SpvImageFormatR32ui:
- return ast::ImageFormat::kR32Uint;
+ return ast::TexelFormat::kR32Uint;
case SpvImageFormatR32i:
- return ast::ImageFormat::kR32Sint;
+ return ast::TexelFormat::kR32Sint;
case SpvImageFormatR32f:
- return ast::ImageFormat::kR32Float;
+ return ast::TexelFormat::kR32Float;
case SpvImageFormatRg32ui:
- return ast::ImageFormat::kRg32Uint;
+ return ast::TexelFormat::kRg32Uint;
case SpvImageFormatRg32i:
- return ast::ImageFormat::kRg32Sint;
+ return ast::TexelFormat::kRg32Sint;
case SpvImageFormatRg32f:
- return ast::ImageFormat::kRg32Float;
+ return ast::TexelFormat::kRg32Float;
case SpvImageFormatRgba32ui:
- return ast::ImageFormat::kRgba32Uint;
+ return ast::TexelFormat::kRgba32Uint;
case SpvImageFormatRgba32i:
- return ast::ImageFormat::kRgba32Sint;
+ return ast::TexelFormat::kRgba32Sint;
case SpvImageFormatRgba32f:
- return ast::ImageFormat::kRgba32Float;
+ return ast::TexelFormat::kRgba32Float;
default:
break;
}
Fail() << "invalid image format: " << int(fmt);
- return ast::ImageFormat::kNone;
+ return ast::TexelFormat::kNone;
}
} // namespace spirv
diff --git a/src/reader/spirv/enum_converter.h b/src/reader/spirv/enum_converter.h
index 25b4971..66f0c7b 100644
--- a/src/reader/spirv/enum_converter.h
+++ b/src/reader/spirv/enum_converter.h
@@ -60,11 +60,11 @@
/// @returns a Tint AST texture dimension
ast::TextureDimension ToDim(SpvDim dim, bool arrayed);
- /// Converts a SPIR-V Image Format to a Tint ImageFormat
+ /// Converts a SPIR-V Image Format to a TexelFormat
/// On failure, logs an error and returns kNone
/// @param fmt the SPIR-V format
/// @returns a Tint AST format
- ast::ImageFormat ToImageFormat(SpvImageFormat fmt);
+ ast::TexelFormat ToTexelFormat(SpvImageFormat fmt);
private:
/// Registers a failure and returns a stream for log diagnostics.
diff --git a/src/reader/spirv/enum_converter_test.cc b/src/reader/spirv/enum_converter_test.cc
index d19054e..4c9cf5c 100644
--- a/src/reader/spirv/enum_converter_test.cc
+++ b/src/reader/spirv/enum_converter_test.cc
@@ -312,21 +312,21 @@
DimCase{SpvDimBuffer, true, false, ast::TextureDimension::kNone},
DimCase{SpvDimSubpassData, true, false, ast::TextureDimension::kNone}));
-// ImageFormat
+// TexelFormat
-struct ImageFormatCase {
+struct TexelFormatCase {
SpvImageFormat format;
bool expect_success;
- ast::ImageFormat expected;
+ ast::TexelFormat expected;
};
-inline std::ostream& operator<<(std::ostream& out, ImageFormatCase ifc) {
- out << "ImageFormatCase{ SpvImageFormat:" << int(ifc.format)
+inline std::ostream& operator<<(std::ostream& out, TexelFormatCase ifc) {
+ out << "TexelFormatCase{ SpvImageFormat:" << int(ifc.format)
<< " expect_success?:" << int(ifc.expect_success)
<< " expected:" << int(ifc.expected) << "}";
return out;
}
-class SpvImageFormatTest : public testing::TestWithParam<ImageFormatCase> {
+class SpvImageFormatTest : public testing::TestWithParam<TexelFormatCase> {
public:
SpvImageFormatTest()
: success_(true),
@@ -345,7 +345,7 @@
TEST_P(SpvImageFormatTest, Samples) {
const auto params = GetParam();
- const auto result = converter_.ToImageFormat(params.format);
+ const auto result = converter_.ToTexelFormat(params.format);
EXPECT_EQ(success_, params.expect_success) << params;
if (params.expect_success) {
EXPECT_EQ(result, params.expected);
@@ -361,68 +361,68 @@
SpvImageFormatTest,
testing::Values(
// Unknown. This is used for sampled images.
- ImageFormatCase{SpvImageFormatUnknown, true, ast::ImageFormat::kNone},
+ TexelFormatCase{SpvImageFormatUnknown, true, ast::TexelFormat::kNone},
// 8 bit channels
- ImageFormatCase{SpvImageFormatRgba8, true,
- ast::ImageFormat::kRgba8Unorm},
- ImageFormatCase{SpvImageFormatRgba8Snorm, true,
- ast::ImageFormat::kRgba8Snorm},
- ImageFormatCase{SpvImageFormatRgba8ui, true,
- ast::ImageFormat::kRgba8Uint},
- ImageFormatCase{SpvImageFormatRgba8i, true,
- ast::ImageFormat::kRgba8Sint},
+ TexelFormatCase{SpvImageFormatRgba8, true,
+ ast::TexelFormat::kRgba8Unorm},
+ TexelFormatCase{SpvImageFormatRgba8Snorm, true,
+ ast::TexelFormat::kRgba8Snorm},
+ TexelFormatCase{SpvImageFormatRgba8ui, true,
+ ast::TexelFormat::kRgba8Uint},
+ TexelFormatCase{SpvImageFormatRgba8i, true,
+ ast::TexelFormat::kRgba8Sint},
// 16 bit channels
- ImageFormatCase{SpvImageFormatRgba16ui, true,
- ast::ImageFormat::kRgba16Uint},
- ImageFormatCase{SpvImageFormatRgba16i, true,
- ast::ImageFormat::kRgba16Sint},
- ImageFormatCase{SpvImageFormatRgba16f, true,
- ast::ImageFormat::kRgba16Float},
+ TexelFormatCase{SpvImageFormatRgba16ui, true,
+ ast::TexelFormat::kRgba16Uint},
+ TexelFormatCase{SpvImageFormatRgba16i, true,
+ ast::TexelFormat::kRgba16Sint},
+ TexelFormatCase{SpvImageFormatRgba16f, true,
+ ast::TexelFormat::kRgba16Float},
// 32 bit channels
// ... 1 channel
- ImageFormatCase{SpvImageFormatR32ui, true, ast::ImageFormat::kR32Uint},
- ImageFormatCase{SpvImageFormatR32i, true, ast::ImageFormat::kR32Sint},
- ImageFormatCase{SpvImageFormatR32f, true, ast::ImageFormat::kR32Float},
+ TexelFormatCase{SpvImageFormatR32ui, true, ast::TexelFormat::kR32Uint},
+ TexelFormatCase{SpvImageFormatR32i, true, ast::TexelFormat::kR32Sint},
+ TexelFormatCase{SpvImageFormatR32f, true, ast::TexelFormat::kR32Float},
// ... 2 channels
- ImageFormatCase{SpvImageFormatRg32ui, true,
- ast::ImageFormat::kRg32Uint},
- ImageFormatCase{SpvImageFormatRg32i, true, ast::ImageFormat::kRg32Sint},
- ImageFormatCase{SpvImageFormatRg32f, true,
- ast::ImageFormat::kRg32Float},
+ TexelFormatCase{SpvImageFormatRg32ui, true,
+ ast::TexelFormat::kRg32Uint},
+ TexelFormatCase{SpvImageFormatRg32i, true, ast::TexelFormat::kRg32Sint},
+ TexelFormatCase{SpvImageFormatRg32f, true,
+ ast::TexelFormat::kRg32Float},
// ... 4 channels
- ImageFormatCase{SpvImageFormatRgba32ui, true,
- ast::ImageFormat::kRgba32Uint},
- ImageFormatCase{SpvImageFormatRgba32i, true,
- ast::ImageFormat::kRgba32Sint},
- ImageFormatCase{SpvImageFormatRgba32f, true,
- ast::ImageFormat::kRgba32Float}));
+ TexelFormatCase{SpvImageFormatRgba32ui, true,
+ ast::TexelFormat::kRgba32Uint},
+ TexelFormatCase{SpvImageFormatRgba32i, true,
+ ast::TexelFormat::kRgba32Sint},
+ TexelFormatCase{SpvImageFormatRgba32f, true,
+ ast::TexelFormat::kRgba32Float}));
INSTANTIATE_TEST_SUITE_P(
EnumConverterBad,
SpvImageFormatTest,
testing::Values(
// Scanning in order from the SPIR-V spec.
- ImageFormatCase{SpvImageFormatRg16f, false, ast::ImageFormat::kNone},
- ImageFormatCase{SpvImageFormatR11fG11fB10f, false,
- ast::ImageFormat::kNone},
- ImageFormatCase{SpvImageFormatR16f, false, ast::ImageFormat::kNone},
- ImageFormatCase{SpvImageFormatRgb10A2, false, ast::ImageFormat::kNone},
- ImageFormatCase{SpvImageFormatRg16, false, ast::ImageFormat::kNone},
- ImageFormatCase{SpvImageFormatRg8, false, ast::ImageFormat::kNone},
- ImageFormatCase{SpvImageFormatR16, false, ast::ImageFormat::kNone},
- ImageFormatCase{SpvImageFormatR8, false, ast::ImageFormat::kNone},
- ImageFormatCase{SpvImageFormatRgba16Snorm, false,
- ast::ImageFormat::kNone},
- ImageFormatCase{SpvImageFormatRg16Snorm, false,
- ast::ImageFormat::kNone},
- ImageFormatCase{SpvImageFormatRg8Snorm, false, ast::ImageFormat::kNone},
- ImageFormatCase{SpvImageFormatRg16i, false, ast::ImageFormat::kNone},
- ImageFormatCase{SpvImageFormatRg8i, false, ast::ImageFormat::kNone},
- ImageFormatCase{SpvImageFormatR8i, false, ast::ImageFormat::kNone},
- ImageFormatCase{SpvImageFormatRgb10a2ui, false,
- ast::ImageFormat::kNone},
- ImageFormatCase{SpvImageFormatRg16ui, false, ast::ImageFormat::kNone},
- ImageFormatCase{SpvImageFormatRg8ui, false, ast::ImageFormat::kNone}));
+ TexelFormatCase{SpvImageFormatRg16f, false, ast::TexelFormat::kNone},
+ TexelFormatCase{SpvImageFormatR11fG11fB10f, false,
+ ast::TexelFormat::kNone},
+ TexelFormatCase{SpvImageFormatR16f, false, ast::TexelFormat::kNone},
+ TexelFormatCase{SpvImageFormatRgb10A2, false, ast::TexelFormat::kNone},
+ TexelFormatCase{SpvImageFormatRg16, false, ast::TexelFormat::kNone},
+ TexelFormatCase{SpvImageFormatRg8, false, ast::TexelFormat::kNone},
+ TexelFormatCase{SpvImageFormatR16, false, ast::TexelFormat::kNone},
+ TexelFormatCase{SpvImageFormatR8, false, ast::TexelFormat::kNone},
+ TexelFormatCase{SpvImageFormatRgba16Snorm, false,
+ ast::TexelFormat::kNone},
+ TexelFormatCase{SpvImageFormatRg16Snorm, false,
+ ast::TexelFormat::kNone},
+ TexelFormatCase{SpvImageFormatRg8Snorm, false, ast::TexelFormat::kNone},
+ TexelFormatCase{SpvImageFormatRg16i, false, ast::TexelFormat::kNone},
+ TexelFormatCase{SpvImageFormatRg8i, false, ast::TexelFormat::kNone},
+ TexelFormatCase{SpvImageFormatR8i, false, ast::TexelFormat::kNone},
+ TexelFormatCase{SpvImageFormatRgb10a2ui, false,
+ ast::TexelFormat::kNone},
+ TexelFormatCase{SpvImageFormatRg16ui, false, ast::TexelFormat::kNone},
+ TexelFormatCase{SpvImageFormatRg8ui, false, ast::TexelFormat::kNone}));
} // namespace
} // namespace spirv
diff --git a/src/reader/spirv/parser_impl.cc b/src/reader/spirv/parser_impl.cc
index 92e57d1..8a5f48b 100644
--- a/src/reader/spirv/parser_impl.cc
+++ b/src/reader/spirv/parser_impl.cc
@@ -2505,8 +2505,8 @@
}
} else {
const auto access = ast::Access::kWrite;
- const auto format = enum_converter_.ToImageFormat(image_type->format());
- if (format == ast::ImageFormat::kNone) {
+ const auto format = enum_converter_.ToTexelFormat(image_type->format());
+ if (format == ast::TexelFormat::kNone) {
return nullptr;
}
ast_store_type = ty_.StorageTexture(dim, format, access);
@@ -2526,47 +2526,47 @@
return result;
}
-const Type* ParserImpl::GetComponentTypeForFormat(ast::ImageFormat format) {
+const Type* ParserImpl::GetComponentTypeForFormat(ast::TexelFormat format) {
switch (format) {
- case ast::ImageFormat::kR8Uint:
- case ast::ImageFormat::kR16Uint:
- case ast::ImageFormat::kRg8Uint:
- case ast::ImageFormat::kR32Uint:
- case ast::ImageFormat::kRg16Uint:
- case ast::ImageFormat::kRgba8Uint:
- case ast::ImageFormat::kRg32Uint:
- case ast::ImageFormat::kRgba16Uint:
- case ast::ImageFormat::kRgba32Uint:
+ 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::ImageFormat::kR8Sint:
- case ast::ImageFormat::kR16Sint:
- case ast::ImageFormat::kRg8Sint:
- case ast::ImageFormat::kR32Sint:
- case ast::ImageFormat::kRg16Sint:
- case ast::ImageFormat::kRgba8Sint:
- case ast::ImageFormat::kRg32Sint:
- case ast::ImageFormat::kRgba16Sint:
- case ast::ImageFormat::kRgba32Sint:
+ 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::ImageFormat::kR8Unorm:
- case ast::ImageFormat::kRg8Unorm:
- case ast::ImageFormat::kRgba8Unorm:
- case ast::ImageFormat::kRgba8UnormSrgb:
- case ast::ImageFormat::kBgra8Unorm:
- case ast::ImageFormat::kBgra8UnormSrgb:
- case ast::ImageFormat::kRgb10A2Unorm:
- case ast::ImageFormat::kR8Snorm:
- case ast::ImageFormat::kRg8Snorm:
- case ast::ImageFormat::kRgba8Snorm:
- case ast::ImageFormat::kR16Float:
- case ast::ImageFormat::kR32Float:
- case ast::ImageFormat::kRg16Float:
- case ast::ImageFormat::kRg11B10Float:
- case ast::ImageFormat::kRg32Float:
- case ast::ImageFormat::kRgba16Float:
- case ast::ImageFormat::kRgba32Float:
+ 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:
return ty_.F32();
default:
break;
@@ -2575,49 +2575,49 @@
return nullptr;
}
-unsigned ParserImpl::GetChannelCountForFormat(ast::ImageFormat format) {
+unsigned ParserImpl::GetChannelCountForFormat(ast::TexelFormat format) {
switch (format) {
- case ast::ImageFormat::kR16Float:
- case ast::ImageFormat::kR16Sint:
- case ast::ImageFormat::kR16Uint:
- case ast::ImageFormat::kR32Float:
- case ast::ImageFormat::kR32Sint:
- case ast::ImageFormat::kR32Uint:
- case ast::ImageFormat::kR8Sint:
- case ast::ImageFormat::kR8Snorm:
- case ast::ImageFormat::kR8Uint:
- case ast::ImageFormat::kR8Unorm:
+ 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::ImageFormat::kRg11B10Float:
- case ast::ImageFormat::kRg16Float:
- case ast::ImageFormat::kRg16Sint:
- case ast::ImageFormat::kRg16Uint:
- case ast::ImageFormat::kRg32Float:
- case ast::ImageFormat::kRg32Sint:
- case ast::ImageFormat::kRg32Uint:
- case ast::ImageFormat::kRg8Sint:
- case ast::ImageFormat::kRg8Snorm:
- case ast::ImageFormat::kRg8Uint:
- case ast::ImageFormat::kRg8Unorm:
+ 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::ImageFormat::kBgra8Unorm:
- case ast::ImageFormat::kBgra8UnormSrgb:
- case ast::ImageFormat::kRgb10A2Unorm:
- case ast::ImageFormat::kRgba16Float:
- case ast::ImageFormat::kRgba16Sint:
- case ast::ImageFormat::kRgba16Uint:
- case ast::ImageFormat::kRgba32Float:
- case ast::ImageFormat::kRgba32Sint:
- case ast::ImageFormat::kRgba32Uint:
- case ast::ImageFormat::kRgba8Sint:
- case ast::ImageFormat::kRgba8Snorm:
- case ast::ImageFormat::kRgba8Uint:
- case ast::ImageFormat::kRgba8Unorm:
- case ast::ImageFormat::kRgba8UnormSrgb:
+ case ast::TexelFormat::kBgra8Unorm:
+ case ast::TexelFormat::kBgra8UnormSrgb:
+ case ast::TexelFormat::kRgb10A2Unorm:
+ case ast::TexelFormat::kRgba16Float:
+ case ast::TexelFormat::kRgba16Sint:
+ case ast::TexelFormat::kRgba16Uint:
+ case ast::TexelFormat::kRgba32Float:
+ case ast::TexelFormat::kRgba32Sint:
+ case ast::TexelFormat::kRgba32Uint:
+ case ast::TexelFormat::kRgba8Sint:
+ case ast::TexelFormat::kRgba8Snorm:
+ case ast::TexelFormat::kRgba8Uint:
+ case ast::TexelFormat::kRgba8Unorm:
+ case ast::TexelFormat::kRgba8UnormSrgb:
// Four channels
return 4;
@@ -2628,7 +2628,7 @@
return 0;
}
-const Type* ParserImpl::GetTexelTypeForFormat(ast::ImageFormat format) {
+const Type* ParserImpl::GetTexelTypeForFormat(ast::TexelFormat format) {
const auto* component_type = GetComponentTypeForFormat(format);
if (!component_type) {
return nullptr;
diff --git a/src/reader/spirv/parser_impl.h b/src/reader/spirv/parser_impl.h
index de9f71a..4a31473 100644
--- a/src/reader/spirv/parser_impl.h
+++ b/src/reader/spirv/parser_impl.h
@@ -637,19 +637,19 @@
/// format.
/// @param format image texel format
/// @returns the component type, one of f32, i32, u32
- const Type* GetComponentTypeForFormat(ast::ImageFormat format);
+ const Type* GetComponentTypeForFormat(ast::TexelFormat format);
/// Returns the number of channels in the given image format.
/// @param format image texel format
/// @returns the number of channels in the format
- unsigned GetChannelCountForFormat(ast::ImageFormat format);
+ unsigned GetChannelCountForFormat(ast::TexelFormat format);
/// Returns the texel type corresponding to the given image format.
/// This the WGSL type used for the texel parameter to textureStore.
/// It's always a 4-element vector.
/// @param format image texel format
/// @returns the texel format
- const Type* GetTexelTypeForFormat(ast::ImageFormat format);
+ const Type* GetTexelTypeForFormat(ast::TexelFormat format);
/// Returns the SPIR-V instruction with the given ID, or nullptr.
/// @param id the SPIR-V result ID
diff --git a/src/reader/spirv/parser_type.cc b/src/reader/spirv/parser_type.cc
index 63d5123..846ad69 100644
--- a/src/reader/spirv/parser_type.cc
+++ b/src/reader/spirv/parser_type.cc
@@ -19,8 +19,8 @@
#include <utility>
#include "src/program_builder.h"
-#include "src/utils/map.h"
#include "src/utils/hash.h"
+#include "src/utils/map.h"
TINT_INSTANTIATE_TYPEINFO(tint::reader::spirv::Type);
TINT_INSTANTIATE_TYPEINFO(tint::reader::spirv::Void);
@@ -237,7 +237,7 @@
}
StorageTexture::StorageTexture(ast::TextureDimension d,
- ast::ImageFormat f,
+ ast::TexelFormat f,
ast::Access a)
: Base(d), format(f), access(a) {}
StorageTexture::StorageTexture(const StorageTexture&) = default;
@@ -532,7 +532,7 @@
const spirv::StorageTexture* TypeManager::StorageTexture(
ast::TextureDimension dims,
- ast::ImageFormat fmt,
+ ast::TexelFormat fmt,
ast::Access access) {
return utils::GetOrCreate(
state->storage_textures_, spirv::StorageTexture(dims, fmt, access), [&] {
diff --git a/src/reader/spirv/parser_type.h b/src/reader/spirv/parser_type.h
index 4466a63..9317dde 100644
--- a/src/reader/spirv/parser_type.h
+++ b/src/reader/spirv/parser_type.h
@@ -422,7 +422,7 @@
/// @param d the texture dimensions
/// @param f the storage image format
/// @param a the access control
- StorageTexture(ast::TextureDimension d, ast::ImageFormat f, ast::Access a);
+ StorageTexture(ast::TextureDimension d, ast::TexelFormat f, ast::Access a);
/// Copy constructor
/// @param other the other type to copy
@@ -438,7 +438,7 @@
#endif // NDEBUG
/// the storage image format
- ast::ImageFormat const format;
+ ast::TexelFormat const format;
/// the access control
ast::Access const access;
@@ -595,7 +595,7 @@
/// @return a StorageTexture type. Repeated calls with the same arguments will
/// return the same pointer.
const spirv::StorageTexture* StorageTexture(ast::TextureDimension d,
- ast::ImageFormat f,
+ ast::TexelFormat f,
ast::Access a);
private:
diff --git a/src/reader/spirv/parser_type_test.cc b/src/reader/spirv/parser_type_test.cc
index 8818e3f..c683cdd 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::ImageFormat::kR16Sint, ast::Access::kRead),
+ ast::TexelFormat::kR16Sint, ast::Access::kRead),
ty.StorageTexture(ast::TextureDimension::k2d,
- ast::ImageFormat::kR16Sint, ast::Access::kRead));
+ ast::TexelFormat::kR16Sint, 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::ImageFormat::kR16Sint, ast::Access::kRead),
+ ast::TexelFormat::kR16Sint, ast::Access::kRead),
ty.StorageTexture(ast::TextureDimension::k3d,
- ast::ImageFormat::kR16Sint, ast::Access::kRead));
+ ast::TexelFormat::kR16Sint, ast::Access::kRead));
EXPECT_NE(ty.StorageTexture(ast::TextureDimension::k2d,
- ast::ImageFormat::kR16Sint, ast::Access::kRead),
+ ast::TexelFormat::kR16Sint, ast::Access::kRead),
ty.StorageTexture(ast::TextureDimension::k2d,
- ast::ImageFormat::kR32Sint, ast::Access::kRead));
+ ast::TexelFormat::kR32Sint, ast::Access::kRead));
EXPECT_NE(ty.StorageTexture(ast::TextureDimension::k2d,
- ast::ImageFormat::kR16Sint, ast::Access::kRead),
+ ast::TexelFormat::kR16Sint, ast::Access::kRead),
ty.StorageTexture(ast::TextureDimension::k2d,
- ast::ImageFormat::kR16Sint, ast::Access::kWrite));
+ ast::TexelFormat::kR16Sint, ast::Access::kWrite));
}
} // namespace
diff --git a/src/reader/wgsl/parser_impl.cc b/src/reader/wgsl/parser_impl.cc
index 725312d..adb259b 100644
--- a/src/reader/wgsl/parser_impl.cc
+++ b/src/reader/wgsl/parser_impl.cc
@@ -563,7 +563,7 @@
// | depth_texture_type
// | sampled_texture_type LESS_THAN type_decl GREATER_THAN
// | multisampled_texture_type LESS_THAN type_decl GREATER_THAN
-// | storage_texture_type LESS_THAN image_storage_type
+// | storage_texture_type LESS_THAN texel_format
// COMMA access GREATER_THAN
Maybe<const ast::Type*> ParserImpl::texture_sampler_types() {
auto type = sampler_type();
@@ -607,9 +607,9 @@
if (storage.matched) {
const char* use = "storage texture type";
using StorageTextureInfo =
- std::pair<tint::ast::ImageFormat, tint::ast::Access>;
+ std::pair<tint::ast::TexelFormat, tint::ast::Access>;
auto params = expect_lt_gt_block(use, [&]() -> Expect<StorageTextureInfo> {
- auto format = expect_image_storage_type(use);
+ auto format = expect_texel_format(use);
if (format.errored) {
return Failure::kErrored;
}
@@ -781,115 +781,115 @@
// | RGBA32UINT
// | RGBA32SINT
// | RGBA32FLOAT
-Expect<ast::ImageFormat> ParserImpl::expect_image_storage_type(
+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::ImageFormat::kBgra8Unorm;
+ return ast::TexelFormat::kBgra8Unorm;
}
if (s == "bgra8unorm_srgb") {
- return ast::ImageFormat::kBgra8UnormSrgb;
+ return ast::TexelFormat::kBgra8UnormSrgb;
}
if (s == "r16float") {
- return ast::ImageFormat::kR16Float;
+ return ast::TexelFormat::kR16Float;
}
if (s == "r16sint") {
- return ast::ImageFormat::kR16Sint;
+ return ast::TexelFormat::kR16Sint;
}
if (s == "r16uint") {
- return ast::ImageFormat::kR16Uint;
+ return ast::TexelFormat::kR16Uint;
}
if (s == "r32float") {
- return ast::ImageFormat::kR32Float;
+ return ast::TexelFormat::kR32Float;
}
if (s == "r32sint") {
- return ast::ImageFormat::kR32Sint;
+ return ast::TexelFormat::kR32Sint;
}
if (s == "r32uint") {
- return ast::ImageFormat::kR32Uint;
+ return ast::TexelFormat::kR32Uint;
}
if (s == "r8sint") {
- return ast::ImageFormat::kR8Sint;
+ return ast::TexelFormat::kR8Sint;
}
if (s == "r8snorm") {
- return ast::ImageFormat::kR8Snorm;
+ return ast::TexelFormat::kR8Snorm;
}
if (s == "r8uint") {
- return ast::ImageFormat::kR8Uint;
+ return ast::TexelFormat::kR8Uint;
}
if (s == "r8unorm") {
- return ast::ImageFormat::kR8Unorm;
+ return ast::TexelFormat::kR8Unorm;
}
if (s == "rg11b10float") {
- return ast::ImageFormat::kRg11B10Float;
+ return ast::TexelFormat::kRg11B10Float;
}
if (s == "rg16float") {
- return ast::ImageFormat::kRg16Float;
+ return ast::TexelFormat::kRg16Float;
}
if (s == "rg16sint") {
- return ast::ImageFormat::kRg16Sint;
+ return ast::TexelFormat::kRg16Sint;
}
if (s == "rg16uint") {
- return ast::ImageFormat::kRg16Uint;
+ return ast::TexelFormat::kRg16Uint;
}
if (s == "rg32float") {
- return ast::ImageFormat::kRg32Float;
+ return ast::TexelFormat::kRg32Float;
}
if (s == "rg32sint") {
- return ast::ImageFormat::kRg32Sint;
+ return ast::TexelFormat::kRg32Sint;
}
if (s == "rg32uint") {
- return ast::ImageFormat::kRg32Uint;
+ return ast::TexelFormat::kRg32Uint;
}
if (s == "rg8sint") {
- return ast::ImageFormat::kRg8Sint;
+ return ast::TexelFormat::kRg8Sint;
}
if (s == "rg8snorm") {
- return ast::ImageFormat::kRg8Snorm;
+ return ast::TexelFormat::kRg8Snorm;
}
if (s == "rg8uint") {
- return ast::ImageFormat::kRg8Uint;
+ return ast::TexelFormat::kRg8Uint;
}
if (s == "rg8unorm") {
- return ast::ImageFormat::kRg8Unorm;
+ return ast::TexelFormat::kRg8Unorm;
}
if (s == "rgb10a2unorm") {
- return ast::ImageFormat::kRgb10A2Unorm;
+ return ast::TexelFormat::kRgb10A2Unorm;
}
if (s == "rgba16float") {
- return ast::ImageFormat::kRgba16Float;
+ return ast::TexelFormat::kRgba16Float;
}
if (s == "rgba16sint") {
- return ast::ImageFormat::kRgba16Sint;
+ return ast::TexelFormat::kRgba16Sint;
}
if (s == "rgba16uint") {
- return ast::ImageFormat::kRgba16Uint;
+ return ast::TexelFormat::kRgba16Uint;
}
if (s == "rgba32float") {
- return ast::ImageFormat::kRgba32Float;
+ return ast::TexelFormat::kRgba32Float;
}
if (s == "rgba32sint") {
- return ast::ImageFormat::kRgba32Sint;
+ return ast::TexelFormat::kRgba32Sint;
}
if (s == "rgba32uint") {
- return ast::ImageFormat::kRgba32Uint;
+ return ast::TexelFormat::kRgba32Uint;
}
if (s == "rgba8sint") {
- return ast::ImageFormat::kRgba8Sint;
+ return ast::TexelFormat::kRgba8Sint;
}
if (s == "rgba8snorm") {
- return ast::ImageFormat::kRgba8Snorm;
+ return ast::TexelFormat::kRgba8Snorm;
}
if (s == "rgba8uint") {
- return ast::ImageFormat::kRgba8Uint;
+ return ast::TexelFormat::kRgba8Uint;
}
if (s == "rgba8unorm") {
- return ast::ImageFormat::kRgba8Unorm;
+ return ast::TexelFormat::kRgba8Unorm;
}
if (s == "rgba8unorm_srgb") {
- return ast::ImageFormat::kRgba8UnormSrgb;
+ return ast::TexelFormat::kRgba8UnormSrgb;
}
}
return add_error(tok.source(), "invalid format", use);
diff --git a/src/reader/wgsl/parser_impl.h b/src/reader/wgsl/parser_impl.h
index 6f51e0e..2037150 100644
--- a/src/reader/wgsl/parser_impl.h
+++ b/src/reader/wgsl/parser_impl.h
@@ -469,10 +469,10 @@
/// Parses a 'texture_external_type' grammar element
/// @returns the parsed Type or nullptr if none matched
Maybe<const ast::Type*> external_texture_type();
- /// Parses a `image_storage_type` grammar element
+ /// Parses a `texel_format` grammar element
/// @param use a description of what was being parsed if an error was raised
- /// @returns returns the image format or kNone if none matched.
- Expect<ast::ImageFormat> expect_image_storage_type(const std::string& use);
+ /// @returns returns the texel format or kNone if none matched.
+ Expect<ast::TexelFormat> expect_texel_format(const std::string& use);
/// Parses a `function_header` grammar element
/// @returns the parsed function header
Maybe<FunctionHeader> function_header();
diff --git a/src/reader/wgsl/parser_impl_image_storage_type_test.cc b/src/reader/wgsl/parser_impl_texel_format_test.cc
similarity index 63%
rename from src/reader/wgsl/parser_impl_image_storage_type_test.cc
rename to src/reader/wgsl/parser_impl_texel_format_test.cc
index bafb777..8a0d5a7 100644
--- a/src/reader/wgsl/parser_impl_image_storage_type_test.cc
+++ b/src/reader/wgsl/parser_impl_texel_format_test.cc
@@ -21,7 +21,7 @@
TEST_F(ParserImplTest, ImageStorageType_Invalid) {
auto p = parser("1234");
- auto t = p->expect_image_storage_type("test");
+ auto t = p->expect_texel_format("test");
EXPECT_TRUE(t.errored);
EXPECT_TRUE(p->has_error());
EXPECT_EQ(p->error(), "1:1: invalid format for test");
@@ -29,281 +29,281 @@
TEST_F(ParserImplTest, ImageStorageType_R8Unorm) {
auto p = parser("r8unorm");
- auto t = p->expect_image_storage_type("test");
+ auto t = p->expect_texel_format("test");
EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::ImageFormat::kR8Unorm);
+ 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_image_storage_type("test");
+ auto t = p->expect_texel_format("test");
EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::ImageFormat::kR8Snorm);
+ 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_image_storage_type("test");
+ auto t = p->expect_texel_format("test");
EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::ImageFormat::kR8Uint);
+ 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_image_storage_type("test");
+ auto t = p->expect_texel_format("test");
EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::ImageFormat::kR8Sint);
+ 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_image_storage_type("test");
+ auto t = p->expect_texel_format("test");
EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::ImageFormat::kR16Uint);
+ 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_image_storage_type("test");
+ auto t = p->expect_texel_format("test");
EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::ImageFormat::kR16Sint);
+ 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_image_storage_type("test");
+ auto t = p->expect_texel_format("test");
EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::ImageFormat::kR16Float);
+ 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_image_storage_type("test");
+ auto t = p->expect_texel_format("test");
EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::ImageFormat::kRg8Unorm);
+ 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_image_storage_type("test");
+ auto t = p->expect_texel_format("test");
EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::ImageFormat::kRg8Snorm);
+ 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_image_storage_type("test");
+ auto t = p->expect_texel_format("test");
EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::ImageFormat::kRg8Uint);
+ 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_image_storage_type("test");
+ auto t = p->expect_texel_format("test");
EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::ImageFormat::kRg8Sint);
+ 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_image_storage_type("test");
+ auto t = p->expect_texel_format("test");
EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::ImageFormat::kR32Uint);
+ EXPECT_EQ(t.value, ast::TexelFormat::kR32Uint);
EXPECT_FALSE(p->has_error());
}
TEST_F(ParserImplTest, ImageStorageType_R32Sint) {
auto p = parser("r32sint");
- auto t = p->expect_image_storage_type("test");
+ auto t = p->expect_texel_format("test");
EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::ImageFormat::kR32Sint);
+ EXPECT_EQ(t.value, ast::TexelFormat::kR32Sint);
EXPECT_FALSE(p->has_error());
}
TEST_F(ParserImplTest, ImageStorageType_R32Float) {
auto p = parser("r32float");
- auto t = p->expect_image_storage_type("test");
+ auto t = p->expect_texel_format("test");
EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::ImageFormat::kR32Float);
+ EXPECT_EQ(t.value, ast::TexelFormat::kR32Float);
EXPECT_FALSE(p->has_error());
}
TEST_F(ParserImplTest, ImageStorageType_Rg16Uint) {
auto p = parser("rg16uint");
- auto t = p->expect_image_storage_type("test");
+ auto t = p->expect_texel_format("test");
EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::ImageFormat::kRg16Uint);
+ 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_image_storage_type("test");
+ auto t = p->expect_texel_format("test");
EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::ImageFormat::kRg16Sint);
+ 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_image_storage_type("test");
+ auto t = p->expect_texel_format("test");
EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::ImageFormat::kRg16Float);
+ 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_image_storage_type("test");
+ auto t = p->expect_texel_format("test");
EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::ImageFormat::kRgba8Unorm);
+ EXPECT_EQ(t.value, ast::TexelFormat::kRgba8Unorm);
EXPECT_FALSE(p->has_error());
}
TEST_F(ParserImplTest, ImageStorageType_Rgba8UnormSrgb) {
auto p = parser("rgba8unorm_srgb");
- auto t = p->expect_image_storage_type("test");
+ auto t = p->expect_texel_format("test");
EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::ImageFormat::kRgba8UnormSrgb);
+ 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_image_storage_type("test");
+ auto t = p->expect_texel_format("test");
EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::ImageFormat::kRgba8Snorm);
+ EXPECT_EQ(t.value, ast::TexelFormat::kRgba8Snorm);
EXPECT_FALSE(p->has_error());
}
TEST_F(ParserImplTest, ImageStorageType_Rgba8Uint) {
auto p = parser("rgba8uint");
- auto t = p->expect_image_storage_type("test");
+ auto t = p->expect_texel_format("test");
EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::ImageFormat::kRgba8Uint);
+ EXPECT_EQ(t.value, ast::TexelFormat::kRgba8Uint);
EXPECT_FALSE(p->has_error());
}
TEST_F(ParserImplTest, ImageStorageType_Rgba8Sint) {
auto p = parser("rgba8sint");
- auto t = p->expect_image_storage_type("test");
+ auto t = p->expect_texel_format("test");
EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::ImageFormat::kRgba8Sint);
+ EXPECT_EQ(t.value, ast::TexelFormat::kRgba8Sint);
EXPECT_FALSE(p->has_error());
}
TEST_F(ParserImplTest, ImageStorageType_Bgra8Unorm) {
auto p = parser("bgra8unorm");
- auto t = p->expect_image_storage_type("test");
+ auto t = p->expect_texel_format("test");
EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::ImageFormat::kBgra8Unorm);
+ 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_image_storage_type("test");
+ auto t = p->expect_texel_format("test");
EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::ImageFormat::kBgra8UnormSrgb);
+ 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_image_storage_type("test");
+ auto t = p->expect_texel_format("test");
EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::ImageFormat::kRgb10A2Unorm);
+ 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_image_storage_type("test");
+ auto t = p->expect_texel_format("test");
EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::ImageFormat::kRg11B10Float);
+ 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_image_storage_type("test");
+ auto t = p->expect_texel_format("test");
EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::ImageFormat::kRg32Uint);
+ EXPECT_EQ(t.value, ast::TexelFormat::kRg32Uint);
EXPECT_FALSE(p->has_error());
}
TEST_F(ParserImplTest, ImageStorageType_Rg32Sint) {
auto p = parser("rg32sint");
- auto t = p->expect_image_storage_type("test");
+ auto t = p->expect_texel_format("test");
EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::ImageFormat::kRg32Sint);
+ EXPECT_EQ(t.value, ast::TexelFormat::kRg32Sint);
EXPECT_FALSE(p->has_error());
}
TEST_F(ParserImplTest, ImageStorageType_Rg32Float) {
auto p = parser("rg32float");
- auto t = p->expect_image_storage_type("test");
+ auto t = p->expect_texel_format("test");
EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::ImageFormat::kRg32Float);
+ EXPECT_EQ(t.value, ast::TexelFormat::kRg32Float);
EXPECT_FALSE(p->has_error());
}
TEST_F(ParserImplTest, ImageStorageType_Rgba16Uint) {
auto p = parser("rgba16uint");
- auto t = p->expect_image_storage_type("test");
+ auto t = p->expect_texel_format("test");
EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::ImageFormat::kRgba16Uint);
+ EXPECT_EQ(t.value, ast::TexelFormat::kRgba16Uint);
EXPECT_FALSE(p->has_error());
}
TEST_F(ParserImplTest, ImageStorageType_Rgba16Sint) {
auto p = parser("rgba16sint");
- auto t = p->expect_image_storage_type("test");
+ auto t = p->expect_texel_format("test");
EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::ImageFormat::kRgba16Sint);
+ EXPECT_EQ(t.value, ast::TexelFormat::kRgba16Sint);
EXPECT_FALSE(p->has_error());
}
TEST_F(ParserImplTest, ImageStorageType_Rgba16Float) {
auto p = parser("rgba16float");
- auto t = p->expect_image_storage_type("test");
+ auto t = p->expect_texel_format("test");
EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::ImageFormat::kRgba16Float);
+ EXPECT_EQ(t.value, ast::TexelFormat::kRgba16Float);
EXPECT_FALSE(p->has_error());
}
TEST_F(ParserImplTest, ImageStorageType_Rgba32Uint) {
auto p = parser("rgba32uint");
- auto t = p->expect_image_storage_type("test");
+ auto t = p->expect_texel_format("test");
EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::ImageFormat::kRgba32Uint);
+ EXPECT_EQ(t.value, ast::TexelFormat::kRgba32Uint);
EXPECT_FALSE(p->has_error());
}
TEST_F(ParserImplTest, ImageStorageType_Rgba32Sint) {
auto p = parser("rgba32sint");
- auto t = p->expect_image_storage_type("test");
+ auto t = p->expect_texel_format("test");
EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::ImageFormat::kRgba32Sint);
+ EXPECT_EQ(t.value, ast::TexelFormat::kRgba32Sint);
EXPECT_FALSE(p->has_error());
}
TEST_F(ParserImplTest, ImageStorageType_Rgba32Float) {
auto p = parser("rgba32float");
- auto t = p->expect_image_storage_type("test");
+ auto t = p->expect_texel_format("test");
EXPECT_FALSE(t.errored);
- EXPECT_EQ(t.value, ast::ImageFormat::kRgba32Float);
+ EXPECT_EQ(t.value, ast::TexelFormat::kRgba32Float);
EXPECT_FALSE(p->has_error());
}
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 fbd8127..0b4af5c 100644
--- a/src/reader/wgsl/parser_impl_texture_sampler_types_test.cc
+++ b/src/reader/wgsl/parser_impl_texture_sampler_types_test.cc
@@ -194,7 +194,7 @@
ASSERT_TRUE(t->Is<ast::Texture>());
ASSERT_TRUE(t->Is<ast::StorageTexture>());
- EXPECT_EQ(t->As<ast::StorageTexture>()->format, ast::ImageFormat::kR8Unorm);
+ EXPECT_EQ(t->As<ast::StorageTexture>()->format, ast::TexelFormat::kR8Unorm);
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}}));
@@ -210,7 +210,7 @@
ASSERT_TRUE(t->Is<ast::Texture>());
ASSERT_TRUE(t->Is<ast::StorageTexture>());
- EXPECT_EQ(t->As<ast::StorageTexture>()->format, ast::ImageFormat::kR16Float);
+ EXPECT_EQ(t->As<ast::StorageTexture>()->format, ast::TexelFormat::kR16Float);
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}}));
diff --git a/src/resolver/assignment_validation_test.cc b/src/resolver/assignment_validation_test.cc
index 1981c87..f573161 100644
--- a/src/resolver/assignment_validation_test.cc
+++ b/src/resolver/assignment_validation_test.cc
@@ -227,7 +227,7 @@
auto make_type = [&] {
return ty.storage_texture(ast::TextureDimension::k1d,
- ast::ImageFormat::kRgba8Unorm,
+ ast::TexelFormat::kRgba8Unorm,
ast::Access::kWrite);
};
diff --git a/src/resolver/dependency_graph_test.cc b/src/resolver/dependency_graph_test.cc
index dcbcd72..7186ef9 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::ImageFormat::kR16Float,
+ ast::TexelFormat::kR16Float,
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 c0ba99d..ffe9388 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::ImageFormat format = ast::ImageFormat::kR16Float;
+ ast::TexelFormat format = ast::TexelFormat::kR16Float;
};
inline std::ostream& operator<<(std::ostream& out, TextureTestParams data) {
out << data.dim << "_" << data.type;
diff --git a/src/resolver/resolver_validation.cc b/src/resolver/resolver_validation.cc
index 117eb25..a457ec3 100644
--- a/src/resolver/resolver_validation.cc
+++ b/src/resolver/resolver_validation.cc
@@ -95,24 +95,24 @@
}
}
-bool IsValidStorageTextureImageFormat(ast::ImageFormat format) {
+bool IsValidStorageTextureTexelFormat(ast::TexelFormat format) {
switch (format) {
- case ast::ImageFormat::kR32Uint:
- case ast::ImageFormat::kR32Sint:
- case ast::ImageFormat::kR32Float:
- case ast::ImageFormat::kRg32Uint:
- case ast::ImageFormat::kRg32Sint:
- case ast::ImageFormat::kRg32Float:
- case ast::ImageFormat::kRgba8Unorm:
- case ast::ImageFormat::kRgba8Snorm:
- case ast::ImageFormat::kRgba8Uint:
- case ast::ImageFormat::kRgba8Sint:
- case ast::ImageFormat::kRgba16Uint:
- case ast::ImageFormat::kRgba16Sint:
- case ast::ImageFormat::kRgba16Float:
- case ast::ImageFormat::kRgba32Uint:
- case ast::ImageFormat::kRgba32Sint:
- case ast::ImageFormat::kRgba32Float:
+ case ast::TexelFormat::kR32Uint:
+ case ast::TexelFormat::kR32Sint:
+ case ast::TexelFormat::kR32Float:
+ case ast::TexelFormat::kRg32Uint:
+ case ast::TexelFormat::kRg32Sint:
+ case ast::TexelFormat::kRg32Float:
+ case ast::TexelFormat::kRgba8Unorm:
+ case ast::TexelFormat::kRgba8Snorm:
+ case ast::TexelFormat::kRgba8Uint:
+ case ast::TexelFormat::kRgba8Sint:
+ case ast::TexelFormat::kRgba16Uint:
+ case ast::TexelFormat::kRgba16Sint:
+ case ast::TexelFormat::kRgba16Float:
+ case ast::TexelFormat::kRgba32Uint:
+ case ast::TexelFormat::kRgba32Sint:
+ case ast::TexelFormat::kRgba32Float:
return true;
default:
return false;
@@ -182,7 +182,7 @@
return false;
}
- if (!IsValidStorageTextureImageFormat(t->format)) {
+ if (!IsValidStorageTextureTexelFormat(t->format)) {
AddError(
"image format must be one of the texel formats specified for storage "
"textues in https://gpuweb.github.io/gpuweb/wgsl/#texel-formats",
diff --git a/src/resolver/type_validation_test.cc b/src/resolver/type_validation_test.cc
index aa9a7be..9da7dfa 100644
--- a/src/resolver/type_validation_test.cc
+++ b/src/resolver/type_validation_test.cc
@@ -837,7 +837,7 @@
auto* st =
ty.storage_texture(Source{{12, 34}}, params.dim,
- ast::ImageFormat::kR32Uint, ast::Access::kWrite);
+ ast::TexelFormat::kR32Uint, ast::Access::kWrite);
Global("a", st, ast::StorageClass::kNone,
ast::DecorationList{GroupAndBinding(0, 0)});
@@ -856,46 +856,46 @@
testing::ValuesIn(Dimension_cases));
struct FormatParams {
- ast::ImageFormat format;
+ ast::TexelFormat format;
bool is_valid;
};
static constexpr FormatParams format_cases[] = {
- FormatParams{ast::ImageFormat::kBgra8Unorm, false},
- FormatParams{ast::ImageFormat::kBgra8UnormSrgb, false},
- FormatParams{ast::ImageFormat::kR16Float, false},
- FormatParams{ast::ImageFormat::kR16Sint, false},
- FormatParams{ast::ImageFormat::kR16Uint, false},
- FormatParams{ast::ImageFormat::kR32Float, true},
- FormatParams{ast::ImageFormat::kR32Sint, true},
- FormatParams{ast::ImageFormat::kR32Uint, true},
- FormatParams{ast::ImageFormat::kR8Sint, false},
- FormatParams{ast::ImageFormat::kR8Snorm, false},
- FormatParams{ast::ImageFormat::kR8Uint, false},
- FormatParams{ast::ImageFormat::kR8Unorm, false},
- FormatParams{ast::ImageFormat::kRg11B10Float, false},
- FormatParams{ast::ImageFormat::kRg16Float, false},
- FormatParams{ast::ImageFormat::kRg16Sint, false},
- FormatParams{ast::ImageFormat::kRg16Uint, false},
- FormatParams{ast::ImageFormat::kRg32Float, true},
- FormatParams{ast::ImageFormat::kRg32Sint, true},
- FormatParams{ast::ImageFormat::kRg32Uint, true},
- FormatParams{ast::ImageFormat::kRg8Sint, false},
- FormatParams{ast::ImageFormat::kRg8Snorm, false},
- FormatParams{ast::ImageFormat::kRg8Uint, false},
- FormatParams{ast::ImageFormat::kRg8Unorm, false},
- FormatParams{ast::ImageFormat::kRgb10A2Unorm, false},
- FormatParams{ast::ImageFormat::kRgba16Float, true},
- FormatParams{ast::ImageFormat::kRgba16Sint, true},
- FormatParams{ast::ImageFormat::kRgba16Uint, true},
- FormatParams{ast::ImageFormat::kRgba32Float, true},
- FormatParams{ast::ImageFormat::kRgba32Sint, true},
- FormatParams{ast::ImageFormat::kRgba32Uint, true},
- FormatParams{ast::ImageFormat::kRgba8Sint, true},
- FormatParams{ast::ImageFormat::kRgba8Snorm, true},
- FormatParams{ast::ImageFormat::kRgba8Uint, true},
- FormatParams{ast::ImageFormat::kRgba8Unorm, true},
- FormatParams{ast::ImageFormat::kRgba8UnormSrgb, false}};
+ 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},
+ FormatParams{ast::TexelFormat::kRgba32Float, true},
+ FormatParams{ast::TexelFormat::kRgba32Sint, true},
+ FormatParams{ast::TexelFormat::kRgba32Uint, true},
+ 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}};
using StorageTextureFormatTest = ResolverTestWithParam<FormatParams>;
TEST_P(StorageTextureFormatTest, All) {
@@ -951,7 +951,7 @@
auto* st =
ty.storage_texture(Source{{12, 34}}, ast::TextureDimension::k1d,
- ast::ImageFormat::kR32Uint, ast::Access::kUndefined);
+ ast::TexelFormat::kR32Uint, ast::Access::kUndefined);
Global("a", st, ast::StorageClass::kNone,
ast::DecorationList{GroupAndBinding(0, 0)});
@@ -967,7 +967,7 @@
auto* st =
ty.storage_texture(Source{{12, 34}}, ast::TextureDimension::k1d,
- ast::ImageFormat::kR32Uint, ast::Access::kReadWrite);
+ ast::TexelFormat::kR32Uint, ast::Access::kReadWrite);
Global("a", st, ast::StorageClass::kNone, nullptr,
ast::DecorationList{GroupAndBinding(0, 0)});
@@ -983,7 +983,7 @@
// var a : texture_storage_1d<ru32int, read>;
auto* st = ty.storage_texture(Source{{12, 34}}, ast::TextureDimension::k1d,
- ast::ImageFormat::kR32Uint, ast::Access::kRead);
+ ast::TexelFormat::kR32Uint, ast::Access::kRead);
Global("a", st, ast::StorageClass::kNone, nullptr,
ast::DecorationList{GroupAndBinding(0, 0)});
@@ -999,7 +999,7 @@
// var a : texture_storage_1d<ru32int, write>;
auto* st =
- ty.storage_texture(ast::TextureDimension::k1d, ast::ImageFormat::kR32Uint,
+ ty.storage_texture(ast::TextureDimension::k1d, ast::TexelFormat::kR32Uint,
ast::Access::kWrite);
Global("a", st, ast::StorageClass::kNone, nullptr,
diff --git a/src/sem/storage_texture_type.cc b/src/sem/storage_texture_type.cc
index d690354..8f796db 100644
--- a/src/sem/storage_texture_type.cc
+++ b/src/sem/storage_texture_type.cc
@@ -22,10 +22,10 @@
namespace sem {
StorageTexture::StorageTexture(ast::TextureDimension dim,
- ast::ImageFormat format,
+ ast::TexelFormat format,
ast::Access access,
sem::Type* subtype)
- : Base(dim), image_format_(format), access_(access), subtype_(subtype) {}
+ : Base(dim), texel_format_(format), access_(access), subtype_(subtype) {}
StorageTexture::StorageTexture(StorageTexture&&) = default;
@@ -33,66 +33,66 @@
std::string StorageTexture::type_name() const {
std::ostringstream out;
- out << "__storage_texture_" << dim() << "_" << image_format_ << "_"
+ out << "__storage_texture_" << dim() << "_" << texel_format_ << "_"
<< access_;
return out.str();
}
std::string StorageTexture::FriendlyName(const SymbolTable&) const {
std::ostringstream out;
- out << "texture_storage_" << dim() << "<" << image_format_ << ", " << access_
+ out << "texture_storage_" << dim() << "<" << texel_format_ << ", " << access_
<< ">";
return out.str();
}
-sem::Type* StorageTexture::SubtypeFor(ast::ImageFormat format,
+sem::Type* StorageTexture::SubtypeFor(ast::TexelFormat format,
sem::Manager& type_mgr) {
switch (format) {
- case ast::ImageFormat::kR8Uint:
- case ast::ImageFormat::kR16Uint:
- case ast::ImageFormat::kRg8Uint:
- case ast::ImageFormat::kR32Uint:
- case ast::ImageFormat::kRg16Uint:
- case ast::ImageFormat::kRgba8Uint:
- case ast::ImageFormat::kRg32Uint:
- case ast::ImageFormat::kRgba16Uint:
- case ast::ImageFormat::kRgba32Uint: {
+ 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 type_mgr.Get<sem::U32>();
}
- case ast::ImageFormat::kR8Sint:
- case ast::ImageFormat::kR16Sint:
- case ast::ImageFormat::kRg8Sint:
- case ast::ImageFormat::kR32Sint:
- case ast::ImageFormat::kRg16Sint:
- case ast::ImageFormat::kRgba8Sint:
- case ast::ImageFormat::kRg32Sint:
- case ast::ImageFormat::kRgba16Sint:
- case ast::ImageFormat::kRgba32Sint: {
+ 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 type_mgr.Get<sem::I32>();
}
- case ast::ImageFormat::kR8Unorm:
- case ast::ImageFormat::kRg8Unorm:
- case ast::ImageFormat::kRgba8Unorm:
- case ast::ImageFormat::kRgba8UnormSrgb:
- case ast::ImageFormat::kBgra8Unorm:
- case ast::ImageFormat::kBgra8UnormSrgb:
- case ast::ImageFormat::kRgb10A2Unorm:
- case ast::ImageFormat::kR8Snorm:
- case ast::ImageFormat::kRg8Snorm:
- case ast::ImageFormat::kRgba8Snorm:
- case ast::ImageFormat::kR16Float:
- case ast::ImageFormat::kR32Float:
- case ast::ImageFormat::kRg16Float:
- case ast::ImageFormat::kRg11B10Float:
- case ast::ImageFormat::kRg32Float:
- case ast::ImageFormat::kRgba16Float:
- case ast::ImageFormat::kRgba32Float: {
+ 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: {
return type_mgr.Get<sem::F32>();
}
- case ast::ImageFormat::kNone:
+ case ast::TexelFormat::kNone:
break;
}
diff --git a/src/sem/storage_texture_type.h b/src/sem/storage_texture_type.h
index 216ed28..4881db8 100644
--- a/src/sem/storage_texture_type.h
+++ b/src/sem/storage_texture_type.h
@@ -31,11 +31,11 @@
public:
/// Constructor
/// @param dim the dimensionality of the texture
- /// @param format the image format of the texture
+ /// @param format the texel format of the texture
/// @param access the access control type of the texture
/// @param subtype the storage subtype. Use SubtypeFor() to calculate this.
StorageTexture(ast::TextureDimension dim,
- ast::ImageFormat format,
+ ast::TexelFormat format,
ast::Access access,
sem::Type* subtype);
@@ -46,8 +46,8 @@
/// @returns the storage subtype
Type* type() const { return subtype_; }
- /// @returns the image format
- ast::ImageFormat image_format() const { return image_format_; }
+ /// @returns the texel format
+ ast::TexelFormat texel_format() const { return texel_format_; }
/// @returns the access control
ast::Access access() const { return access_; }
@@ -62,11 +62,11 @@
/// @param format the storage texture image format
/// @param type_mgr the sem::Manager used to build the returned type
- /// @returns the storage texture subtype for the given ImageFormat
- static sem::Type* SubtypeFor(ast::ImageFormat format, sem::Manager& type_mgr);
+ /// @returns the storage texture subtype for the given TexelFormat
+ static sem::Type* SubtypeFor(ast::TexelFormat format, sem::Manager& type_mgr);
private:
- ast::ImageFormat const image_format_;
+ ast::TexelFormat const texel_format_;
ast::Access const access_;
Type* const subtype_;
};
diff --git a/src/sem/storage_texture_type_test.cc b/src/sem/storage_texture_type_test.cc
index 8917af0..45e75d6 100644
--- a/src/sem/storage_texture_type_test.cc
+++ b/src/sem/storage_texture_type_test.cc
@@ -27,27 +27,27 @@
TEST_F(StorageTextureTest, Dim) {
auto* subtype =
- StorageTexture::SubtypeFor(ast::ImageFormat::kRgba32Float, Types());
+ StorageTexture::SubtypeFor(ast::TexelFormat::kRgba32Float, Types());
auto* s = create<StorageTexture>(ast::TextureDimension::k2dArray,
- ast::ImageFormat::kRgba32Float,
+ ast::TexelFormat::kRgba32Float,
ast::Access::kReadWrite, subtype);
EXPECT_EQ(s->dim(), ast::TextureDimension::k2dArray);
}
TEST_F(StorageTextureTest, Format) {
auto* subtype =
- StorageTexture::SubtypeFor(ast::ImageFormat::kRgba32Float, Types());
+ StorageTexture::SubtypeFor(ast::TexelFormat::kRgba32Float, Types());
auto* s = create<StorageTexture>(ast::TextureDimension::k2dArray,
- ast::ImageFormat::kRgba32Float,
+ ast::TexelFormat::kRgba32Float,
ast::Access::kReadWrite, subtype);
- EXPECT_EQ(s->image_format(), ast::ImageFormat::kRgba32Float);
+ EXPECT_EQ(s->texel_format(), ast::TexelFormat::kRgba32Float);
}
TEST_F(StorageTextureTest, TypeName) {
auto* subtype =
- StorageTexture::SubtypeFor(ast::ImageFormat::kRgba32Float, Types());
+ StorageTexture::SubtypeFor(ast::TexelFormat::kRgba32Float, Types());
auto* s = create<StorageTexture>(ast::TextureDimension::k2dArray,
- ast::ImageFormat::kRgba32Float,
+ ast::TexelFormat::kRgba32Float,
ast::Access::kReadWrite, subtype);
EXPECT_EQ(s->type_name(),
"__storage_texture_2d_array_rgba32float_read_write");
@@ -55,9 +55,9 @@
TEST_F(StorageTextureTest, FriendlyName) {
auto* subtype =
- StorageTexture::SubtypeFor(ast::ImageFormat::kRgba32Float, Types());
+ StorageTexture::SubtypeFor(ast::TexelFormat::kRgba32Float, Types());
auto* s = create<StorageTexture>(ast::TextureDimension::k2dArray,
- ast::ImageFormat::kRgba32Float,
+ ast::TexelFormat::kRgba32Float,
ast::Access::kReadWrite, subtype);
EXPECT_EQ(s->FriendlyName(Symbols()),
"texture_storage_2d_array<rgba32float, read_write>");
@@ -65,9 +65,9 @@
TEST_F(StorageTextureTest, F32) {
auto* subtype =
- sem::StorageTexture::SubtypeFor(ast::ImageFormat::kRgba32Float, Types());
+ sem::StorageTexture::SubtypeFor(ast::TexelFormat::kRgba32Float, Types());
Type* s = create<StorageTexture>(ast::TextureDimension::k2dArray,
- ast::ImageFormat::kRgba32Float,
+ ast::TexelFormat::kRgba32Float,
ast::Access::kReadWrite, subtype);
auto program = Build();
@@ -80,9 +80,9 @@
TEST_F(StorageTextureTest, U32) {
auto* subtype =
- sem::StorageTexture::SubtypeFor(ast::ImageFormat::kRg32Uint, Types());
+ sem::StorageTexture::SubtypeFor(ast::TexelFormat::kRg32Uint, Types());
Type* s = create<StorageTexture>(ast::TextureDimension::k2dArray,
- ast::ImageFormat::kRg32Uint,
+ ast::TexelFormat::kRg32Uint,
ast::Access::kReadWrite, subtype);
auto program = Build();
@@ -95,9 +95,9 @@
TEST_F(StorageTextureTest, I32) {
auto* subtype =
- sem::StorageTexture::SubtypeFor(ast::ImageFormat::kRgba32Sint, Types());
+ sem::StorageTexture::SubtypeFor(ast::TexelFormat::kRgba32Sint, Types());
Type* s = create<StorageTexture>(ast::TextureDimension::k2dArray,
- ast::ImageFormat::kRgba32Sint,
+ ast::TexelFormat::kRgba32Sint,
ast::Access::kReadWrite, subtype);
auto program = Build();
diff --git a/src/transform/transform.cc b/src/transform/transform.cc
index bf94f08..a7ad0a2 100644
--- a/src/transform/transform.cc
+++ b/src/transform/transform.cc
@@ -152,7 +152,7 @@
}
if (auto* t = ty->As<sem::StorageTexture>()) {
return ctx.dst->create<ast::StorageTexture>(
- t->dim(), t->image_format(), CreateASTTypeFor(ctx, t->type()),
+ t->dim(), t->texel_format(), CreateASTTypeFor(ctx, t->type()),
t->access());
}
if (auto* s = ty->As<sem::Sampler>()) {
diff --git a/src/writer/glsl/generator_impl_type_test.cc b/src/writer/glsl/generator_impl_type_test.cc
index 32b2142..2a042cd 100644
--- a/src/writer/glsl/generator_impl_type_test.cc
+++ b/src/writer/glsl/generator_impl_type_test.cc
@@ -507,7 +507,7 @@
struct GlslStorageTextureData {
ast::TextureDimension dim;
- ast::ImageFormat imgfmt;
+ ast::TexelFormat imgfmt;
std::string result;
};
inline std::ostream& operator<<(std::ostream& out,
@@ -539,32 +539,32 @@
GlslStorageTexturesTest,
testing::Values(
GlslStorageTextureData{ast::TextureDimension::k1d,
- ast::ImageFormat::kRgba8Unorm, "image1D tex;"},
+ ast::TexelFormat::kRgba8Unorm, "image1D tex;"},
GlslStorageTextureData{ast::TextureDimension::k2d,
- ast::ImageFormat::kRgba16Float, "image2D tex;"},
+ ast::TexelFormat::kRgba16Float, "image2D tex;"},
GlslStorageTextureData{ast::TextureDimension::k2dArray,
- ast::ImageFormat::kR32Float,
+ ast::TexelFormat::kR32Float,
"image2DArray tex;"},
GlslStorageTextureData{ast::TextureDimension::k3d,
- ast::ImageFormat::kRg32Float, "image3D tex;"},
+ ast::TexelFormat::kRg32Float, "image3D tex;"},
GlslStorageTextureData{ast::TextureDimension::k1d,
- ast::ImageFormat::kRgba32Float, "image1D tex;"},
+ ast::TexelFormat::kRgba32Float, "image1D tex;"},
GlslStorageTextureData{ast::TextureDimension::k2d,
- ast::ImageFormat::kRgba16Uint, "image2D tex;"},
+ ast::TexelFormat::kRgba16Uint, "image2D tex;"},
GlslStorageTextureData{ast::TextureDimension::k2dArray,
- ast::ImageFormat::kR32Uint, "image2DArray tex;"},
+ ast::TexelFormat::kR32Uint, "image2DArray tex;"},
GlslStorageTextureData{ast::TextureDimension::k3d,
- ast::ImageFormat::kRg32Uint, "image3D tex;"},
+ ast::TexelFormat::kRg32Uint, "image3D tex;"},
GlslStorageTextureData{ast::TextureDimension::k1d,
- ast::ImageFormat::kRgba32Uint, "image1D tex;"},
+ ast::TexelFormat::kRgba32Uint, "image1D tex;"},
GlslStorageTextureData{ast::TextureDimension::k2d,
- ast::ImageFormat::kRgba16Sint, "image2D tex;"},
+ ast::TexelFormat::kRgba16Sint, "image2D tex;"},
GlslStorageTextureData{ast::TextureDimension::k2dArray,
- ast::ImageFormat::kR32Sint, "image2DArray tex;"},
+ ast::TexelFormat::kR32Sint, "image2DArray tex;"},
GlslStorageTextureData{ast::TextureDimension::k3d,
- ast::ImageFormat::kRg32Sint, "image3D tex;"},
+ ast::TexelFormat::kRg32Sint, "image3D tex;"},
GlslStorageTextureData{ast::TextureDimension::k1d,
- ast::ImageFormat::kRgba32Sint, "image1D tex;"}));
+ ast::TexelFormat::kRgba32Sint, "image1D tex;"}));
} // namespace
} // namespace glsl
diff --git a/src/writer/hlsl/generator_impl.cc b/src/writer/hlsl/generator_impl.cc
index 361684f..76dc529 100644
--- a/src/writer/hlsl/generator_impl.cc
+++ b/src/writer/hlsl/generator_impl.cc
@@ -76,26 +76,26 @@
const char kTempNamePrefix[] = "tint_tmp";
const char kSpecConstantPrefix[] = "WGSL_SPEC_CONSTANT_";
-const char* image_format_to_rwtexture_type(ast::ImageFormat image_format) {
+const char* image_format_to_rwtexture_type(ast::TexelFormat image_format) {
switch (image_format) {
- case ast::ImageFormat::kRgba8Unorm:
- case ast::ImageFormat::kRgba8Snorm:
- case ast::ImageFormat::kRgba16Float:
- case ast::ImageFormat::kR32Float:
- case ast::ImageFormat::kRg32Float:
- case ast::ImageFormat::kRgba32Float:
+ case ast::TexelFormat::kRgba8Unorm:
+ case ast::TexelFormat::kRgba8Snorm:
+ case ast::TexelFormat::kRgba16Float:
+ case ast::TexelFormat::kR32Float:
+ case ast::TexelFormat::kRg32Float:
+ case ast::TexelFormat::kRgba32Float:
return "float4";
- case ast::ImageFormat::kRgba8Uint:
- case ast::ImageFormat::kRgba16Uint:
- case ast::ImageFormat::kR32Uint:
- case ast::ImageFormat::kRg32Uint:
- case ast::ImageFormat::kRgba32Uint:
+ case ast::TexelFormat::kRgba8Uint:
+ case ast::TexelFormat::kRgba16Uint:
+ case ast::TexelFormat::kR32Uint:
+ case ast::TexelFormat::kRg32Uint:
+ case ast::TexelFormat::kRgba32Uint:
return "uint4";
- case ast::ImageFormat::kRgba8Sint:
- case ast::ImageFormat::kRgba16Sint:
- case ast::ImageFormat::kR32Sint:
- case ast::ImageFormat::kRg32Sint:
- case ast::ImageFormat::kRgba32Sint:
+ case ast::TexelFormat::kRgba8Sint:
+ case ast::TexelFormat::kRgba16Sint:
+ case ast::TexelFormat::kR32Sint:
+ case ast::TexelFormat::kRg32Sint:
+ case ast::TexelFormat::kRgba32Sint:
return "int4";
default:
return nullptr;
@@ -3623,11 +3623,11 @@
}
if (storage) {
- auto* component = image_format_to_rwtexture_type(storage->image_format());
+ auto* component = image_format_to_rwtexture_type(storage->texel_format());
if (component == nullptr) {
TINT_ICE(Writer, diagnostics_)
- << "Unsupported StorageTexture ImageFormat: "
- << static_cast<int>(storage->image_format());
+ << "Unsupported StorageTexture TexelFormat: "
+ << static_cast<int>(storage->texel_format());
return false;
}
out << "<" << component << ">";
diff --git a/src/writer/hlsl/generator_impl_type_test.cc b/src/writer/hlsl/generator_impl_type_test.cc
index 2ed4d66..5f8f55c 100644
--- a/src/writer/hlsl/generator_impl_type_test.cc
+++ b/src/writer/hlsl/generator_impl_type_test.cc
@@ -532,7 +532,7 @@
struct HlslStorageTextureData {
ast::TextureDimension dim;
- ast::ImageFormat imgfmt;
+ ast::TexelFormat imgfmt;
std::string result;
};
inline std::ostream& operator<<(std::ostream& out,
@@ -561,43 +561,43 @@
HlslStorageTexturesTest,
testing::Values(
HlslStorageTextureData{
- ast::TextureDimension::k1d, ast::ImageFormat::kRgba8Unorm,
+ ast::TextureDimension::k1d, ast::TexelFormat::kRgba8Unorm,
"RWTexture1D<float4> tex : register(u1, space2);"},
HlslStorageTextureData{
- ast::TextureDimension::k2d, ast::ImageFormat::kRgba16Float,
+ ast::TextureDimension::k2d, ast::TexelFormat::kRgba16Float,
"RWTexture2D<float4> tex : register(u1, space2);"},
HlslStorageTextureData{
- ast::TextureDimension::k2dArray, ast::ImageFormat::kR32Float,
+ ast::TextureDimension::k2dArray, ast::TexelFormat::kR32Float,
"RWTexture2DArray<float4> tex : register(u1, space2);"},
HlslStorageTextureData{
- ast::TextureDimension::k3d, ast::ImageFormat::kRg32Float,
+ ast::TextureDimension::k3d, ast::TexelFormat::kRg32Float,
"RWTexture3D<float4> tex : register(u1, space2);"},
HlslStorageTextureData{
- ast::TextureDimension::k1d, ast::ImageFormat::kRgba32Float,
+ ast::TextureDimension::k1d, ast::TexelFormat::kRgba32Float,
"RWTexture1D<float4> tex : register(u1, space2);"},
HlslStorageTextureData{
- ast::TextureDimension::k2d, ast::ImageFormat::kRgba16Uint,
+ ast::TextureDimension::k2d, ast::TexelFormat::kRgba16Uint,
"RWTexture2D<uint4> tex : register(u1, space2);"},
HlslStorageTextureData{
- ast::TextureDimension::k2dArray, ast::ImageFormat::kR32Uint,
+ ast::TextureDimension::k2dArray, ast::TexelFormat::kR32Uint,
"RWTexture2DArray<uint4> tex : register(u1, space2);"},
HlslStorageTextureData{
- ast::TextureDimension::k3d, ast::ImageFormat::kRg32Uint,
+ ast::TextureDimension::k3d, ast::TexelFormat::kRg32Uint,
"RWTexture3D<uint4> tex : register(u1, space2);"},
HlslStorageTextureData{
- ast::TextureDimension::k1d, ast::ImageFormat::kRgba32Uint,
+ ast::TextureDimension::k1d, ast::TexelFormat::kRgba32Uint,
"RWTexture1D<uint4> tex : register(u1, space2);"},
HlslStorageTextureData{ast::TextureDimension::k2d,
- ast::ImageFormat::kRgba16Sint,
+ ast::TexelFormat::kRgba16Sint,
"RWTexture2D<int4> tex : register(u1, space2);"},
HlslStorageTextureData{
- ast::TextureDimension::k2dArray, ast::ImageFormat::kR32Sint,
+ ast::TextureDimension::k2dArray, ast::TexelFormat::kR32Sint,
"RWTexture2DArray<int4> tex : register(u1, space2);"},
HlslStorageTextureData{ast::TextureDimension::k3d,
- ast::ImageFormat::kRg32Sint,
+ ast::TexelFormat::kRg32Sint,
"RWTexture3D<int4> tex : register(u1, space2);"},
HlslStorageTextureData{
- ast::TextureDimension::k1d, ast::ImageFormat::kRgba32Sint,
+ ast::TextureDimension::k1d, ast::TexelFormat::kRgba32Sint,
"RWTexture1D<int4> tex : register(u1, space2);"}));
} // namespace
diff --git a/src/writer/msl/generator_impl_type_test.cc b/src/writer/msl/generator_impl_type_test.cc
index f154f64..9815a58 100644
--- a/src/writer/msl/generator_impl_type_test.cc
+++ b/src/writer/msl/generator_impl_type_test.cc
@@ -852,7 +852,7 @@
TEST_P(MslStorageTexturesTest, Emit) {
auto params = GetParam();
- auto* s = ty.storage_texture(params.dim, ast::ImageFormat::kR32Float,
+ auto* s = ty.storage_texture(params.dim, ast::TexelFormat::kR32Float,
ast::Access::kWrite);
Global("test_var", s,
ast::DecorationList{
diff --git a/src/writer/spirv/builder.cc b/src/writer/spirv/builder.cc
index 1a1d883..19cae15 100644
--- a/src/writer/spirv/builder.cc
+++ b/src/writer/spirv/builder.cc
@@ -3916,17 +3916,17 @@
// the access type. Doing this ensures we de-dupe.
type_name_to_id_[builder_
.create<sem::StorageTexture>(
- st->dim(), st->image_format(),
+ st->dim(), st->texel_format(),
ast::Access::kRead, st->type())
->type_name()] = id;
type_name_to_id_[builder_
.create<sem::StorageTexture>(
- st->dim(), st->image_format(),
+ st->dim(), st->texel_format(),
ast::Access::kWrite, st->type())
->type_name()] = id;
type_name_to_id_[builder_
.create<sem::StorageTexture>(
- st->dim(), st->image_format(),
+ st->dim(), st->texel_format(),
ast::Access::kReadWrite, st->type())
->type_name()] = id;
}
@@ -4014,7 +4014,7 @@
uint32_t format_literal = SpvImageFormat_::SpvImageFormatUnknown;
if (auto* t = texture->As<sem::StorageTexture>()) {
- format_literal = convert_image_format_to_spv(t->image_format());
+ format_literal = convert_texel_format_to_spv(t->texel_format());
}
push_type(spv::Op::OpTypeImage,
@@ -4291,99 +4291,99 @@
}
}
-SpvImageFormat Builder::convert_image_format_to_spv(
- const ast::ImageFormat format) {
+SpvImageFormat Builder::convert_texel_format_to_spv(
+ const ast::TexelFormat format) {
switch (format) {
- case ast::ImageFormat::kR8Unorm:
+ case ast::TexelFormat::kR8Unorm:
push_capability(SpvCapabilityStorageImageExtendedFormats);
return SpvImageFormatR8;
- case ast::ImageFormat::kR8Snorm:
+ case ast::TexelFormat::kR8Snorm:
push_capability(SpvCapabilityStorageImageExtendedFormats);
return SpvImageFormatR8Snorm;
- case ast::ImageFormat::kR8Uint:
+ case ast::TexelFormat::kR8Uint:
push_capability(SpvCapabilityStorageImageExtendedFormats);
return SpvImageFormatR8ui;
- case ast::ImageFormat::kR8Sint:
+ case ast::TexelFormat::kR8Sint:
push_capability(SpvCapabilityStorageImageExtendedFormats);
return SpvImageFormatR8i;
- case ast::ImageFormat::kR16Uint:
+ case ast::TexelFormat::kR16Uint:
push_capability(SpvCapabilityStorageImageExtendedFormats);
return SpvImageFormatR16ui;
- case ast::ImageFormat::kR16Sint:
+ case ast::TexelFormat::kR16Sint:
push_capability(SpvCapabilityStorageImageExtendedFormats);
return SpvImageFormatR16i;
- case ast::ImageFormat::kR16Float:
+ case ast::TexelFormat::kR16Float:
push_capability(SpvCapabilityStorageImageExtendedFormats);
return SpvImageFormatR16f;
- case ast::ImageFormat::kRg8Unorm:
+ case ast::TexelFormat::kRg8Unorm:
push_capability(SpvCapabilityStorageImageExtendedFormats);
return SpvImageFormatRg8;
- case ast::ImageFormat::kRg8Snorm:
+ case ast::TexelFormat::kRg8Snorm:
push_capability(SpvCapabilityStorageImageExtendedFormats);
return SpvImageFormatRg8Snorm;
- case ast::ImageFormat::kRg8Uint:
+ case ast::TexelFormat::kRg8Uint:
push_capability(SpvCapabilityStorageImageExtendedFormats);
return SpvImageFormatRg8ui;
- case ast::ImageFormat::kRg8Sint:
+ case ast::TexelFormat::kRg8Sint:
push_capability(SpvCapabilityStorageImageExtendedFormats);
return SpvImageFormatRg8i;
- case ast::ImageFormat::kR32Uint:
+ case ast::TexelFormat::kR32Uint:
return SpvImageFormatR32ui;
- case ast::ImageFormat::kR32Sint:
+ case ast::TexelFormat::kR32Sint:
return SpvImageFormatR32i;
- case ast::ImageFormat::kR32Float:
+ case ast::TexelFormat::kR32Float:
return SpvImageFormatR32f;
- case ast::ImageFormat::kRg16Uint:
+ case ast::TexelFormat::kRg16Uint:
push_capability(SpvCapabilityStorageImageExtendedFormats);
return SpvImageFormatRg16ui;
- case ast::ImageFormat::kRg16Sint:
+ case ast::TexelFormat::kRg16Sint:
push_capability(SpvCapabilityStorageImageExtendedFormats);
return SpvImageFormatRg16i;
- case ast::ImageFormat::kRg16Float:
+ case ast::TexelFormat::kRg16Float:
push_capability(SpvCapabilityStorageImageExtendedFormats);
return SpvImageFormatRg16f;
- case ast::ImageFormat::kRgba8Unorm:
+ case ast::TexelFormat::kRgba8Unorm:
return SpvImageFormatRgba8;
- case ast::ImageFormat::kRgba8UnormSrgb:
+ case ast::TexelFormat::kRgba8UnormSrgb:
return SpvImageFormatUnknown;
- case ast::ImageFormat::kRgba8Snorm:
+ case ast::TexelFormat::kRgba8Snorm:
return SpvImageFormatRgba8Snorm;
- case ast::ImageFormat::kRgba8Uint:
+ case ast::TexelFormat::kRgba8Uint:
return SpvImageFormatRgba8ui;
- case ast::ImageFormat::kRgba8Sint:
+ case ast::TexelFormat::kRgba8Sint:
return SpvImageFormatRgba8i;
- case ast::ImageFormat::kBgra8Unorm:
+ case ast::TexelFormat::kBgra8Unorm:
return SpvImageFormatUnknown;
- case ast::ImageFormat::kBgra8UnormSrgb:
+ case ast::TexelFormat::kBgra8UnormSrgb:
return SpvImageFormatUnknown;
- case ast::ImageFormat::kRgb10A2Unorm:
+ case ast::TexelFormat::kRgb10A2Unorm:
push_capability(SpvCapabilityStorageImageExtendedFormats);
return SpvImageFormatRgb10A2;
- case ast::ImageFormat::kRg11B10Float:
+ case ast::TexelFormat::kRg11B10Float:
push_capability(SpvCapabilityStorageImageExtendedFormats);
return SpvImageFormatR11fG11fB10f;
- case ast::ImageFormat::kRg32Uint:
+ case ast::TexelFormat::kRg32Uint:
push_capability(SpvCapabilityStorageImageExtendedFormats);
return SpvImageFormatRg32ui;
- case ast::ImageFormat::kRg32Sint:
+ case ast::TexelFormat::kRg32Sint:
push_capability(SpvCapabilityStorageImageExtendedFormats);
return SpvImageFormatRg32i;
- case ast::ImageFormat::kRg32Float:
+ case ast::TexelFormat::kRg32Float:
push_capability(SpvCapabilityStorageImageExtendedFormats);
return SpvImageFormatRg32f;
- case ast::ImageFormat::kRgba16Uint:
+ case ast::TexelFormat::kRgba16Uint:
return SpvImageFormatRgba16ui;
- case ast::ImageFormat::kRgba16Sint:
+ case ast::TexelFormat::kRgba16Sint:
return SpvImageFormatRgba16i;
- case ast::ImageFormat::kRgba16Float:
+ case ast::TexelFormat::kRgba16Float:
return SpvImageFormatRgba16f;
- case ast::ImageFormat::kRgba32Uint:
+ case ast::TexelFormat::kRgba32Uint:
return SpvImageFormatRgba32ui;
- case ast::ImageFormat::kRgba32Sint:
+ case ast::TexelFormat::kRgba32Sint:
return SpvImageFormatRgba32i;
- case ast::ImageFormat::kRgba32Float:
+ case ast::TexelFormat::kRgba32Float:
return SpvImageFormatRgba32f;
- case ast::ImageFormat::kNone:
+ case ast::TexelFormat::kNone:
return SpvImageFormatUnknown;
}
return SpvImageFormatUnknown;
diff --git a/src/writer/spirv/builder.h b/src/writer/spirv/builder.h
index fdfc3b3..3c08ebe 100644
--- a/src/writer/spirv/builder.h
+++ b/src/writer/spirv/builder.h
@@ -555,10 +555,10 @@
const sem::Matrix* type,
spv::Op op);
- /// Converts AST image format to SPIR-V and pushes an appropriate capability.
+ /// Converts TexelFormat to SPIR-V and pushes an appropriate capability.
/// @param format AST image format type
/// @returns SPIR-V image format type
- SpvImageFormat convert_image_format_to_spv(const ast::ImageFormat format);
+ SpvImageFormat convert_texel_format_to_spv(const ast::TexelFormat format);
/// Determines if the given type constructor is created from constant values
/// @param expr the expression to check
diff --git a/src/writer/spirv/builder_format_conversion_test.cc b/src/writer/spirv/builder_format_conversion_test.cc
index 8bfbb73..c7ec41f 100644
--- a/src/writer/spirv/builder_format_conversion_test.cc
+++ b/src/writer/spirv/builder_format_conversion_test.cc
@@ -21,7 +21,7 @@
namespace {
struct TestData {
- ast::ImageFormat ast_format;
+ ast::TexelFormat ast_format;
SpvImageFormat_ spv_format;
bool extended_format = false;
};
@@ -36,7 +36,7 @@
spirv::Builder& b = Build();
- EXPECT_EQ(b.convert_image_format_to_spv(param.ast_format), param.spv_format);
+ EXPECT_EQ(b.convert_texel_format_to_spv(param.ast_format), param.spv_format);
if (param.extended_format) {
EXPECT_EQ(DumpInstructions(b.capabilities()),
@@ -51,42 +51,42 @@
BuilderTest,
ImageFormatConversionTest,
testing::Values(
- TestData{ast::ImageFormat::kR8Unorm, SpvImageFormatR8, true},
- TestData{ast::ImageFormat::kR8Snorm, SpvImageFormatR8Snorm, true},
- TestData{ast::ImageFormat::kR8Uint, SpvImageFormatR8ui, true},
- TestData{ast::ImageFormat::kR8Sint, SpvImageFormatR8i, true},
- TestData{ast::ImageFormat::kR16Uint, SpvImageFormatR16ui, true},
- TestData{ast::ImageFormat::kR16Sint, SpvImageFormatR16i, true},
- TestData{ast::ImageFormat::kR16Float, SpvImageFormatR16f, true},
- TestData{ast::ImageFormat::kRg8Unorm, SpvImageFormatRg8, true},
- TestData{ast::ImageFormat::kRg8Snorm, SpvImageFormatRg8Snorm, true},
- TestData{ast::ImageFormat::kRg8Uint, SpvImageFormatRg8ui, true},
- TestData{ast::ImageFormat::kRg8Sint, SpvImageFormatRg8i, true},
- TestData{ast::ImageFormat::kR32Uint, SpvImageFormatR32ui},
- TestData{ast::ImageFormat::kR32Sint, SpvImageFormatR32i},
- TestData{ast::ImageFormat::kR32Float, SpvImageFormatR32f},
- TestData{ast::ImageFormat::kRg16Uint, SpvImageFormatRg16ui, true},
- TestData{ast::ImageFormat::kRg16Sint, SpvImageFormatRg16i, true},
- TestData{ast::ImageFormat::kRg16Float, SpvImageFormatRg16f, true},
- TestData{ast::ImageFormat::kRgba8Unorm, SpvImageFormatRgba8},
- TestData{ast::ImageFormat::kRgba8UnormSrgb, SpvImageFormatUnknown},
- TestData{ast::ImageFormat::kRgba8Snorm, SpvImageFormatRgba8Snorm},
- TestData{ast::ImageFormat::kRgba8Uint, SpvImageFormatRgba8ui},
- TestData{ast::ImageFormat::kRgba8Sint, SpvImageFormatRgba8i},
- TestData{ast::ImageFormat::kBgra8Unorm, SpvImageFormatUnknown},
- TestData{ast::ImageFormat::kBgra8UnormSrgb, SpvImageFormatUnknown},
- TestData{ast::ImageFormat::kRgb10A2Unorm, SpvImageFormatRgb10A2, true},
- TestData{ast::ImageFormat::kRg11B10Float, SpvImageFormatR11fG11fB10f,
+ 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::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::ImageFormat::kRg32Uint, SpvImageFormatRg32ui, true},
- TestData{ast::ImageFormat::kRg32Sint, SpvImageFormatRg32i, true},
- TestData{ast::ImageFormat::kRg32Float, SpvImageFormatRg32f, true},
- TestData{ast::ImageFormat::kRgba16Uint, SpvImageFormatRgba16ui},
- TestData{ast::ImageFormat::kRgba16Sint, SpvImageFormatRgba16i},
- TestData{ast::ImageFormat::kRgba16Float, SpvImageFormatRgba16f},
- TestData{ast::ImageFormat::kRgba32Uint, SpvImageFormatRgba32ui},
- TestData{ast::ImageFormat::kRgba32Sint, SpvImageFormatRgba32i},
- TestData{ast::ImageFormat::kRgba32Float, SpvImageFormatRgba32f}));
+ TestData{ast::TexelFormat::kRg32Uint, SpvImageFormatRg32ui, true},
+ TestData{ast::TexelFormat::kRg32Sint, SpvImageFormatRg32i, true},
+ TestData{ast::TexelFormat::kRg32Float, SpvImageFormatRg32f, true},
+ TestData{ast::TexelFormat::kRgba16Uint, SpvImageFormatRgba16ui},
+ TestData{ast::TexelFormat::kRgba16Sint, SpvImageFormatRgba16i},
+ TestData{ast::TexelFormat::kRgba16Float, SpvImageFormatRgba16f},
+ TestData{ast::TexelFormat::kRgba32Uint, SpvImageFormatRgba32ui},
+ TestData{ast::TexelFormat::kRgba32Sint, SpvImageFormatRgba32i},
+ TestData{ast::TexelFormat::kRgba32Float, SpvImageFormatRgba32f}));
} // namespace
} // namespace spirv
diff --git a/src/writer/spirv/builder_global_variable_test.cc b/src/writer/spirv/builder_global_variable_test.cc
index 9e0cfd1..c372603 100644
--- a/src/writer/spirv/builder_global_variable_test.cc
+++ b/src/writer/spirv/builder_global_variable_test.cc
@@ -552,7 +552,7 @@
// var<uniform_constant> a : texture_storage_2d<r32uint, write>;
auto* type =
- ty.storage_texture(ast::TextureDimension::k2d, ast::ImageFormat::kR32Uint,
+ ty.storage_texture(ast::TextureDimension::k2d, ast::TexelFormat::kR32Uint,
ast::Access::kWrite);
auto* var_a = Global("a", type,
@@ -585,7 +585,7 @@
// var<uniform_constant> b : texture_storage_2d<r32uint, write>;
auto* type_a =
- ty.storage_texture(ast::TextureDimension::k2d, ast::ImageFormat::kR32Uint,
+ ty.storage_texture(ast::TextureDimension::k2d, ast::TexelFormat::kR32Uint,
ast::Access::kReadWrite);
auto* var_a = Global("a", type_a, ast::StorageClass::kNone,
ast::DecorationList{
@@ -594,7 +594,7 @@
});
auto* type_b =
- ty.storage_texture(ast::TextureDimension::k2d, ast::ImageFormat::kR32Uint,
+ ty.storage_texture(ast::TextureDimension::k2d, ast::TexelFormat::kR32Uint,
ast::Access::kWrite);
auto* var_b = Global("b", type_b, ast::StorageClass::kNone,
ast::DecorationList{
diff --git a/src/writer/spirv/builder_type_test.cc b/src/writer/spirv/builder_type_test.cc
index 9988365..9eb0815 100644
--- a/src/writer/spirv/builder_type_test.cc
+++ b/src/writer/spirv/builder_type_test.cc
@@ -791,7 +791,7 @@
TEST_F(BuilderTest_Type, StorageTexture_Generate_1d) {
auto* s =
ty.storage_texture(ast::TextureDimension::k1d,
- ast::ImageFormat::kR32Float, ast::Access::kWrite);
+ ast::TexelFormat::kR32Float, ast::Access::kWrite);
Global("test_var", s,
ast::DecorationList{
@@ -811,7 +811,7 @@
TEST_F(BuilderTest_Type, StorageTexture_Generate_2d) {
auto* s =
ty.storage_texture(ast::TextureDimension::k2d,
- ast::ImageFormat::kR32Float, ast::Access::kWrite);
+ ast::TexelFormat::kR32Float, ast::Access::kWrite);
Global("test_var", s,
ast::DecorationList{
@@ -831,7 +831,7 @@
TEST_F(BuilderTest_Type, StorageTexture_Generate_2dArray) {
auto* s =
ty.storage_texture(ast::TextureDimension::k2dArray,
- ast::ImageFormat::kR32Float, ast::Access::kWrite);
+ ast::TexelFormat::kR32Float, ast::Access::kWrite);
Global("test_var", s,
ast::DecorationList{
@@ -851,7 +851,7 @@
TEST_F(BuilderTest_Type, StorageTexture_Generate_3d) {
auto* s =
ty.storage_texture(ast::TextureDimension::k3d,
- ast::ImageFormat::kR32Float, ast::Access::kWrite);
+ ast::TexelFormat::kR32Float, ast::Access::kWrite);
Global("test_var", s,
ast::DecorationList{
@@ -872,7 +872,7 @@
StorageTexture_Generate_SampledTypeFloat_Format_r32float) {
auto* s =
ty.storage_texture(ast::TextureDimension::k2d,
- ast::ImageFormat::kR32Float, ast::Access::kWrite);
+ ast::TexelFormat::kR32Float, ast::Access::kWrite);
Global("test_var", s,
ast::DecorationList{
@@ -892,7 +892,7 @@
TEST_F(BuilderTest_Type,
StorageTexture_Generate_SampledTypeSint_Format_r32sint) {
auto* s = ty.storage_texture(ast::TextureDimension::k2d,
- ast::ImageFormat::kR32Sint, ast::Access::kWrite);
+ ast::TexelFormat::kR32Sint, ast::Access::kWrite);
Global("test_var", s,
ast::DecorationList{
@@ -912,7 +912,7 @@
TEST_F(BuilderTest_Type,
StorageTexture_Generate_SampledTypeUint_Format_r32uint) {
auto* s = ty.storage_texture(ast::TextureDimension::k2d,
- ast::ImageFormat::kR32Uint, ast::Access::kWrite);
+ ast::TexelFormat::kR32Uint, ast::Access::kWrite);
Global("test_var", s,
ast::DecorationList{
diff --git a/src/writer/wgsl/generator_impl.cc b/src/writer/wgsl/generator_impl.cc
index eef9aaa..a4c3ed9 100644
--- a/src/writer/wgsl/generator_impl.cc
+++ b/src/writer/wgsl/generator_impl.cc
@@ -336,9 +336,9 @@
}
bool GeneratorImpl::EmitImageFormat(std::ostream& out,
- const ast::ImageFormat fmt) {
+ const ast::TexelFormat fmt) {
switch (fmt) {
- case ast::ImageFormat::kNone:
+ case ast::TexelFormat::kNone:
diagnostics_.add_error(diag::System::Writer, "unknown image format");
return false;
default:
diff --git a/src/writer/wgsl/generator_impl.h b/src/writer/wgsl/generator_impl.h
index a88f263..80c8d9f 100644
--- a/src/writer/wgsl/generator_impl.h
+++ b/src/writer/wgsl/generator_impl.h
@@ -176,7 +176,7 @@
/// @param out the output of the expression stream
/// @param fmt the format to generate
/// @returns true if the format is emitted
- bool EmitImageFormat(std::ostream& out, const ast::ImageFormat fmt);
+ bool EmitImageFormat(std::ostream& out, const ast::TexelFormat fmt);
/// Handles emitting an access control
/// @param out the output of the expression stream
/// @param access the access to generate
diff --git a/src/writer/wgsl/generator_impl_type_test.cc b/src/writer/wgsl/generator_impl_type_test.cc
index 0a075ec..2b84826 100644
--- a/src/writer/wgsl/generator_impl_type_test.cc
+++ b/src/writer/wgsl/generator_impl_type_test.cc
@@ -423,7 +423,7 @@
"texture_multisampled_2d"}));
struct StorageTextureData {
- ast::ImageFormat fmt;
+ ast::TexelFormat fmt;
ast::TextureDimension dim;
ast::Access access;
const char* name;
@@ -453,21 +453,21 @@
WgslGeneratorImplTest,
WgslGenerator_StorageTextureTest,
testing::Values(
- StorageTextureData{ast::ImageFormat::kRgba8Sint,
+ StorageTextureData{ast::TexelFormat::kRgba8Sint,
ast::TextureDimension::k1d, ast::Access::kWrite,
"texture_storage_1d<rgba8sint, write>"},
- StorageTextureData{ast::ImageFormat::kRgba8Sint,
+ StorageTextureData{ast::TexelFormat::kRgba8Sint,
ast::TextureDimension::k2d, ast::Access::kWrite,
"texture_storage_2d<rgba8sint, write>"},
- StorageTextureData{ast::ImageFormat::kRgba8Sint,
+ StorageTextureData{ast::TexelFormat::kRgba8Sint,
ast::TextureDimension::k2dArray, ast::Access::kWrite,
"texture_storage_2d_array<rgba8sint, write>"},
- StorageTextureData{ast::ImageFormat::kRgba8Sint,
+ StorageTextureData{ast::TexelFormat::kRgba8Sint,
ast::TextureDimension::k3d, ast::Access::kWrite,
"texture_storage_3d<rgba8sint, write>"}));
struct ImageFormatData {
- ast::ImageFormat fmt;
+ ast::TexelFormat fmt;
const char* name;
};
inline std::ostream& operator<<(std::ostream& out, ImageFormatData data) {
@@ -489,41 +489,41 @@
WgslGeneratorImplTest,
WgslGenerator_ImageFormatTest,
testing::Values(
- ImageFormatData{ast::ImageFormat::kR8Unorm, "r8unorm"},
- ImageFormatData{ast::ImageFormat::kR8Snorm, "r8snorm"},
- ImageFormatData{ast::ImageFormat::kR8Uint, "r8uint"},
- ImageFormatData{ast::ImageFormat::kR8Sint, "r8sint"},
- ImageFormatData{ast::ImageFormat::kR16Uint, "r16uint"},
- ImageFormatData{ast::ImageFormat::kR16Sint, "r16sint"},
- ImageFormatData{ast::ImageFormat::kR16Float, "r16float"},
- ImageFormatData{ast::ImageFormat::kRg8Unorm, "rg8unorm"},
- ImageFormatData{ast::ImageFormat::kRg8Snorm, "rg8snorm"},
- ImageFormatData{ast::ImageFormat::kRg8Uint, "rg8uint"},
- ImageFormatData{ast::ImageFormat::kRg8Sint, "rg8sint"},
- ImageFormatData{ast::ImageFormat::kR32Uint, "r32uint"},
- ImageFormatData{ast::ImageFormat::kR32Sint, "r32sint"},
- ImageFormatData{ast::ImageFormat::kR32Float, "r32float"},
- ImageFormatData{ast::ImageFormat::kRg16Uint, "rg16uint"},
- ImageFormatData{ast::ImageFormat::kRg16Sint, "rg16sint"},
- ImageFormatData{ast::ImageFormat::kRg16Float, "rg16float"},
- ImageFormatData{ast::ImageFormat::kRgba8Unorm, "rgba8unorm"},
- ImageFormatData{ast::ImageFormat::kRgba8UnormSrgb, "rgba8unorm_srgb"},
- ImageFormatData{ast::ImageFormat::kRgba8Snorm, "rgba8snorm"},
- ImageFormatData{ast::ImageFormat::kRgba8Uint, "rgba8uint"},
- ImageFormatData{ast::ImageFormat::kRgba8Sint, "rgba8sint"},
- ImageFormatData{ast::ImageFormat::kBgra8Unorm, "bgra8unorm"},
- ImageFormatData{ast::ImageFormat::kBgra8UnormSrgb, "bgra8unorm_srgb"},
- ImageFormatData{ast::ImageFormat::kRgb10A2Unorm, "rgb10a2unorm"},
- ImageFormatData{ast::ImageFormat::kRg11B10Float, "rg11b10float"},
- ImageFormatData{ast::ImageFormat::kRg32Uint, "rg32uint"},
- ImageFormatData{ast::ImageFormat::kRg32Sint, "rg32sint"},
- ImageFormatData{ast::ImageFormat::kRg32Float, "rg32float"},
- ImageFormatData{ast::ImageFormat::kRgba16Uint, "rgba16uint"},
- ImageFormatData{ast::ImageFormat::kRgba16Sint, "rgba16sint"},
- ImageFormatData{ast::ImageFormat::kRgba16Float, "rgba16float"},
- ImageFormatData{ast::ImageFormat::kRgba32Uint, "rgba32uint"},
- ImageFormatData{ast::ImageFormat::kRgba32Sint, "rgba32sint"},
- ImageFormatData{ast::ImageFormat::kRgba32Float, "rgba32float"}));
+ 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"},
+ ImageFormatData{ast::TexelFormat::kRgba16Uint, "rgba16uint"},
+ ImageFormatData{ast::TexelFormat::kRgba16Sint, "rgba16sint"},
+ ImageFormatData{ast::TexelFormat::kRgba16Float, "rgba16float"},
+ ImageFormatData{ast::TexelFormat::kRgba32Uint, "rgba32uint"},
+ ImageFormatData{ast::TexelFormat::kRgba32Sint, "rgba32sint"},
+ ImageFormatData{ast::TexelFormat::kRgba32Float, "rgba32float"}));
TEST_F(WgslGeneratorImplTest, EmitType_Sampler) {
auto* sampler = ty.sampler(ast::SamplerKind::kSampler);
diff --git a/test/BUILD.gn b/test/BUILD.gn
index e85e787..9b72af6 100644
--- a/test/BUILD.gn
+++ b/test/BUILD.gn
@@ -477,7 +477,6 @@
"../src/reader/wgsl/parser_impl_global_decl_test.cc",
"../src/reader/wgsl/parser_impl_global_variable_decl_test.cc",
"../src/reader/wgsl/parser_impl_if_stmt_test.cc",
- "../src/reader/wgsl/parser_impl_image_storage_type_test.cc",
"../src/reader/wgsl/parser_impl_inclusive_or_expression_test.cc",
"../src/reader/wgsl/parser_impl_logical_and_expression_test.cc",
"../src/reader/wgsl/parser_impl_logical_or_expression_test.cc",
@@ -509,6 +508,7 @@
"../src/reader/wgsl/parser_impl_test.cc",
"../src/reader/wgsl/parser_impl_test_helper.cc",
"../src/reader/wgsl/parser_impl_test_helper.h",
+ "../src/reader/wgsl/parser_impl_texel_format_test.cc",
"../src/reader/wgsl/parser_impl_texture_sampler_types_test.cc",
"../src/reader/wgsl/parser_impl_type_alias_test.cc",
"../src/reader/wgsl/parser_impl_type_decl_test.cc",