Generate specific error when BGL storageTextureFormat is missing

Some WebGPU CTS tests were failing with invalid WGPUTextureFormat
when really the format was simply missing. This CL updates
the validation code so it is more clear.

Bug: dawn:433
Change-Id: Ie7aacd01ea424d9f5df0078703a474e98b72ce41
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/22543
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
diff --git a/src/dawn_native/BindGroupLayout.cpp b/src/dawn_native/BindGroupLayout.cpp
index a7d19fb..eb2cd06 100644
--- a/src/dawn_native/BindGroupLayout.cpp
+++ b/src/dawn_native/BindGroupLayout.cpp
@@ -68,6 +68,9 @@
         switch (bindingType) {
             case wgpu::BindingType::ReadonlyStorageTexture:
             case wgpu::BindingType::WriteonlyStorageTexture: {
+                if (storageTextureFormat == wgpu::TextureFormat::Undefined) {
+                    return DAWN_VALIDATION_ERROR("Storage texture format is missing");
+                }
                 DAWN_TRY(ValidateTextureFormat(storageTextureFormat));
 
                 const Format* format = nullptr;