[spirv-reader] Add missing texture format conversions.

Add conversions for the texture-tier1 and texture-tier2 formats when
converting from SPIR-V.

Fixed: 471578058
Change-Id: Ifd81a7e8b9d227833503aa34c74e8bc7242b9f4d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/283155
Reviewed-by: James Price <jrprice@google.com>
Commit-Queue: James Price <jrprice@google.com>
Auto-Submit: dan sinclair <dsinclair@chromium.org>
Commit-Queue: dan sinclair <dsinclair@chromium.org>
diff --git a/src/tint/lang/spirv/reader/parser/parser.cc b/src/tint/lang/spirv/reader/parser/parser.cc
index f90a67d..87c7d59 100644
--- a/src/tint/lang/spirv/reader/parser/parser.cc
+++ b/src/tint/lang/spirv/reader/parser/parser.cc
@@ -822,14 +822,52 @@
                 return core::TexelFormat::kRgba8Sint;
             case spv::ImageFormat::R8:
                 return core::TexelFormat::kR8Unorm;
+            case spv::ImageFormat::R8i:
+                return core::TexelFormat::kR8Sint;
+            case spv::ImageFormat::R8ui:
+                return core::TexelFormat::kR8Uint;
+            case spv::ImageFormat::R8Snorm:
+                return core::TexelFormat::kR8Snorm;
+            case spv::ImageFormat::Rg8:
+                return core::TexelFormat::kRg8Unorm;
+            case spv::ImageFormat::Rg8Snorm:
+                return core::TexelFormat::kRg8Snorm;
+            case spv::ImageFormat::Rg8i:
+                return core::TexelFormat::kRg8Sint;
+            case spv::ImageFormat::Rg8ui:
+                return core::TexelFormat::kRg8Uint;
 
             // 16 bit channels
+            case spv::ImageFormat::R16:
+                return core::TexelFormat::kR16Unorm;
+            case spv::ImageFormat::R16f:
+                return core::TexelFormat::kR16Float;
+            case spv::ImageFormat::R16i:
+                return core::TexelFormat::kR16Sint;
+            case spv::ImageFormat::R16ui:
+                return core::TexelFormat::kR16Uint;
+            case spv::ImageFormat::R16Snorm:
+                return core::TexelFormat::kR16Snorm;
+            case spv::ImageFormat::Rgba16:
+                return core::TexelFormat::kRgba16Unorm;
             case spv::ImageFormat::Rgba16ui:
                 return core::TexelFormat::kRgba16Uint;
             case spv::ImageFormat::Rgba16i:
                 return core::TexelFormat::kRgba16Sint;
             case spv::ImageFormat::Rgba16f:
                 return core::TexelFormat::kRgba16Float;
+            case spv::ImageFormat::Rgba16Snorm:
+                return core::TexelFormat::kRgba16Snorm;
+            case spv::ImageFormat::Rg16:
+                return core::TexelFormat::kRg16Unorm;
+            case spv::ImageFormat::Rg16i:
+                return core::TexelFormat::kRg16Sint;
+            case spv::ImageFormat::Rg16ui:
+                return core::TexelFormat::kRg16Uint;
+            case spv::ImageFormat::Rg16f:
+                return core::TexelFormat::kRg16Float;
+            case spv::ImageFormat::Rg16Snorm:
+                return core::TexelFormat::kRg16Snorm;
 
             // 32 bit channels
             case spv::ImageFormat::R32ui:
@@ -850,6 +888,12 @@
                 return core::TexelFormat::kRgba32Sint;
             case spv::ImageFormat::Rgba32f:
                 return core::TexelFormat::kRgba32Float;
+            case spv::ImageFormat::Rgb10A2:
+                return core::TexelFormat::kRgb10A2Unorm;
+            case spv::ImageFormat::Rgb10a2ui:
+                return core::TexelFormat::kRgb10A2Uint;
+            case spv::ImageFormat::R11fG11fB10f:
+                return core::TexelFormat::kRg11B10Ufloat;
             default:
                 break;
         }