[tint] Implement support for r8unorm
Bug: dawn:2101
Change-Id: I0ebb48c577f114efd9e2564ac818c4869852a927
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/176042
Reviewed-by: James Price <jrprice@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
diff --git a/src/tint/lang/hlsl/writer/ast_printer/ast_printer.cc b/src/tint/lang/hlsl/writer/ast_printer/ast_printer.cc
index 658beeb..387ddb9 100644
--- a/src/tint/lang/hlsl/writer/ast_printer/ast_printer.cc
+++ b/src/tint/lang/hlsl/writer/ast_printer/ast_printer.cc
@@ -105,8 +105,9 @@
const char kTempNamePrefix[] = "tint_tmp";
-const char* image_format_to_rwtexture_type(core::TexelFormat image_format) {
+const char* ImageFormatToRWtextureType(core::TexelFormat image_format) {
switch (image_format) {
+ case core::TexelFormat::kR8Unorm:
case core::TexelFormat::kBgra8Unorm:
case core::TexelFormat::kRgba8Unorm:
case core::TexelFormat::kRgba8Snorm:
@@ -388,11 +389,12 @@
"HLSL", builder_.AST(), diagnostics_,
Vector{
wgsl::Extension::kChromiumDisableUniformityAnalysis,
+ wgsl::Extension::kChromiumExperimentalPixelLocal,
wgsl::Extension::kChromiumExperimentalPushConstant,
wgsl::Extension::kChromiumExperimentalSubgroups,
- wgsl::Extension::kF16,
wgsl::Extension::kChromiumInternalDualSourceBlending,
- wgsl::Extension::kChromiumExperimentalPixelLocal,
+ wgsl::Extension::kChromiumInternalGraphite,
+ wgsl::Extension::kF16,
})) {
return false;
}
@@ -3459,7 +3461,7 @@
return false;
}
out << "RasterizerOrderedTexture2D";
- auto* component = image_format_to_rwtexture_type(storage->texel_format());
+ auto* component = ImageFormatToRWtextureType(storage->texel_format());
if (TINT_UNLIKELY(!component)) {
TINT_ICE() << "Unsupported StorageTexture TexelFormat: "
<< static_cast<int>(storage->texel_format());
@@ -4460,7 +4462,7 @@
}
if (storage) {
- auto* component = image_format_to_rwtexture_type(storage->texel_format());
+ auto* component = ImageFormatToRWtextureType(storage->texel_format());
if (TINT_UNLIKELY(!component)) {
TINT_ICE() << "Unsupported StorageTexture TexelFormat: "
<< static_cast<int>(storage->texel_format());