[dawn][headers] Fix wire Texture properties reflection.

- Defaulting change in
  https://dawn-review.googlesource.com/c/dawn/+/230315
  broke some Chromium tests, but reverting that change is
  hard because it was submitted as a part of a large stack.
- This band-aid fix should fix the roll issue by manually
  defaulting the values in the injected Textures. I will
  follow up with a more global change to fix this issue
  because defaulting does not work the same as in native
  for the wire.

Bug: 404731192
Change-Id: I5348dfa0f4def9a6435478d742074236bf34631b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/231676
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Auto-Submit: Loko Kung <lokokung@google.com>
Commit-Queue: Loko Kung <lokokung@google.com>
diff --git a/src/dawn/native/Texture.cpp b/src/dawn/native/Texture.cpp
index 90c6ed0..fc2ee35 100644
--- a/src/dawn/native/Texture.cpp
+++ b/src/dawn/native/Texture.cpp
@@ -968,7 +968,8 @@
 
 // static
 Ref<TextureBase> TextureBase::MakeError(DeviceBase* device, const TextureDescriptor* descriptor) {
-    return AcquireRef(new TextureBase(device, descriptor, ObjectBase::kError));
+    TextureDescriptor reifiedDesc = descriptor->WithTrivialFrontendDefaults();
+    return AcquireRef(new TextureBase(device, &reifiedDesc, ObjectBase::kError));
 }
 
 ObjectType TextureBase::GetType() const {
diff --git a/src/dawn/tests/unittests/validation/TextureValidationTests.cpp b/src/dawn/tests/unittests/validation/TextureValidationTests.cpp
index 0c8e400..caf981a 100644
--- a/src/dawn/tests/unittests/validation/TextureValidationTests.cpp
+++ b/src/dawn/tests/unittests/validation/TextureValidationTests.cpp
@@ -995,7 +995,11 @@
     EXPECT_EQ(desc.size.depthOrArrayLayers, tex.GetDepthOrArrayLayers());
     EXPECT_EQ(desc.mipLevelCount, tex.GetMipLevelCount());
     EXPECT_EQ(desc.sampleCount, tex.GetSampleCount());
-    EXPECT_EQ(desc.dimension, tex.GetDimension());
+    if (desc.dimension == wgpu::TextureDimension::Undefined) {
+        EXPECT_EQ(wgpu::TextureDimension::e2D, tex.GetDimension());
+    } else {
+        EXPECT_EQ(desc.dimension, tex.GetDimension());
+    }
     EXPECT_EQ(desc.usage, tex.GetUsage());
     EXPECT_EQ(desc.format, tex.GetFormat());
 }
diff --git a/src/dawn/wire/client/Texture.cpp b/src/dawn/wire/client/Texture.cpp
index 48420ba..77d6e01 100644
--- a/src/dawn/wire/client/Texture.cpp
+++ b/src/dawn/wire/client/Texture.cpp
@@ -53,7 +53,8 @@
       mSize(descriptor->size),
       mMipLevelCount(descriptor->mipLevelCount),
       mSampleCount(descriptor->sampleCount),
-      mDimension(descriptor->dimension),
+      mDimension(descriptor->dimension == WGPUTextureDimension_Undefined ? WGPUTextureDimension_2D
+                                                                         : descriptor->dimension),
       mFormat(descriptor->format),
       mUsage(static_cast<WGPUTextureUsage>(descriptor->usage)) {}