Rename several parameters to match WebGPU IDL

This patch renames the following parameters to match the latest WebGPU
IDL:
- BindGroupDescriptor.numBindings -> bindingCount
- BindGroupLayoutDescriptor.numBindings -> bindingCount
- BindGroupDescriptor.numBindings -> bindingCount
- queue.submit(numCommands, ..) -> commandCount
- RenderPipelineDescriptor.numColorStates -> colorStateCount
- TextureDescriptor:
  arraySize -> arrayLayerCount
  levelCount -> mipLevelCount
- TextureViewDescriptor:
  levelCount -> mipLevelCount
  layerCount -> arrayLayerCount

BUG=dawn:80

Change-Id: I615842dd5754d1ae1ddff31e25403bb3161f0201
Reviewed-on: https://dawn-review.googlesource.com/c/4881
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
diff --git a/dawn.json b/dawn.json
index e328f5d..d1618ff 100644
--- a/dawn.json
+++ b/dawn.json
@@ -43,8 +43,8 @@
         "extensible": true,
         "members": [
             {"name": "layout", "type": "bind group layout"},
-            {"name": "num bindings", "type": "uint32_t"},
-            {"name": "bindings", "type": "bind group binding", "annotation": "const*", "length": "num bindings"}
+            {"name": "binding count", "type": "uint32_t"},
+            {"name": "bindings", "type": "bind group binding", "annotation": "const*", "length": "binding count"}
         ]
     },
     "bind group layout": {
@@ -63,8 +63,8 @@
         "category": "structure",
         "extensible": true,
         "members": [
-            {"name": "num bindings", "type": "uint32_t"},
-            {"name": "bindings", "type": "bind group layout binding", "annotation": "const*", "length": "num bindings"}
+            {"name": "binding count", "type": "uint32_t"},
+            {"name": "bindings", "type": "bind group layout binding", "annotation": "const*", "length": "binding count"}
         ]
     },
     "binding type": {
@@ -680,8 +680,8 @@
         "category": "structure",
         "extensible": true,
         "members": [
-            {"name": "num bind group layouts", "type": "uint32_t"},
-            {"name": "bind group layouts", "type": "bind group layout", "annotation": "const*", "length": "num bind group layouts"}
+            {"name": "bind group layout count", "type": "uint32_t"},
+            {"name": "bind group layouts", "type": "bind group layout", "annotation": "const*", "length": "bind group layout count"}
         ]
     },
     "pipeline stage descriptor": {
@@ -708,8 +708,8 @@
             {
                 "name": "submit",
                 "args": [
-                    {"name": "num commands", "type": "uint32_t"},
-                    {"name": "commands", "type": "command buffer", "annotation": "const*", "length": "num commands"}
+                    {"name": "command count", "type": "uint32_t"},
+                    {"name": "commands", "type": "command buffer", "annotation": "const*", "length": "command count"}
                 ]
             },
             {
@@ -894,8 +894,8 @@
             {"name": "primitive topology", "type": "primitive topology"},
             {"name": "sample count", "type": "uint32_t"},
             {"name": "depth stencil state", "type": "depth stencil state descriptor", "annotation": "const*", "optional": true},
-            {"name": "num color states", "type": "uint32_t"},
-            {"name": "color states", "type": "color state descriptor", "annotation": "const*const*", "length": "num color states"}
+            {"name": "color state count", "type": "uint32_t"},
+            {"name": "color states", "type": "color state descriptor", "annotation": "const*const*", "length": "color state count"}
         ]
     },
     "sampler": {
@@ -1040,9 +1040,9 @@
             {"name": "usage", "type": "texture usage bit"},
             {"name": "dimension", "type": "texture dimension"},
             {"name": "size", "type": "extent 3D"},
-            {"name": "array size", "type": "uint32_t"},
+            {"name": "array layer count", "type": "uint32_t"},
             {"name": "format", "type": "texture format"},
-            {"name": "level count", "type": "uint32_t"},
+            {"name": "mip level count", "type": "uint32_t"},
             {"name": "sample count", "type": "uint32_t"}
         ]
     },
@@ -1084,9 +1084,9 @@
             {"name": "format", "type": "texture format"},
             {"name": "dimension", "type": "texture view dimension"},
             {"name": "base mip level", "type": "uint32_t"},
-            {"name": "level count", "type": "uint32_t"},
+            {"name": "mip level count", "type": "uint32_t"},
             {"name": "base array layer", "type": "uint32_t"},
-            {"name": "layer count", "type": "uint32_t"}
+            {"name": "array layer count", "type": "uint32_t"}
         ],
         "TODO": [
             "jiawei.shao@intel.com: Allow choosing the aspect (depth vs. stencil)"
diff --git a/examples/CHelloTriangle.cpp b/examples/CHelloTriangle.cpp
index 302db61..4a9fe34 100644
--- a/examples/CHelloTriangle.cpp
+++ b/examples/CHelloTriangle.cpp
@@ -83,13 +83,13 @@
         colorStateDescriptor.colorBlend = blendDescriptor;
         colorStateDescriptor.colorWriteMask = DAWN_COLOR_WRITE_MASK_ALL;
 
-        descriptor.numColorStates = 1;
+        descriptor.colorStateCount = 1;
         dawnColorStateDescriptor* colorStatesPtr[] = {&colorStateDescriptor};
         descriptor.colorStates = colorStatesPtr;
 
         dawnPipelineLayoutDescriptor pl;
         pl.nextInChain = nullptr;
-        pl.numBindGroupLayouts = 0;
+        pl.bindGroupLayoutCount = 0;
         pl.bindGroupLayouts = nullptr;
         descriptor.layout = dawnDeviceCreatePipelineLayout(device, &pl);
 
diff --git a/examples/CppHelloTriangle.cpp b/examples/CppHelloTriangle.cpp
index e4f4bc1..00e14ae 100644
--- a/examples/CppHelloTriangle.cpp
+++ b/examples/CppHelloTriangle.cpp
@@ -54,10 +54,10 @@
     descriptor.size.width = 1024;
     descriptor.size.height = 1024;
     descriptor.size.depth = 1;
-    descriptor.arraySize = 1;
+    descriptor.arrayLayerCount = 1;
     descriptor.sampleCount = 1;
     descriptor.format = dawn::TextureFormat::R8G8B8A8Unorm;
-    descriptor.levelCount = 1;
+    descriptor.mipLevelCount = 1;
     descriptor.usage = dawn::TextureUsageBit::TransferDst | dawn::TextureUsageBit::Sampled;
     texture = device.CreateTexture(&descriptor);
 
diff --git a/examples/SampleUtils.cpp b/examples/SampleUtils.cpp
index 715e1b5..b78cf58 100644
--- a/examples/SampleUtils.cpp
+++ b/examples/SampleUtils.cpp
@@ -161,10 +161,10 @@
     descriptor.size.width = 640;
     descriptor.size.height = 480;
     descriptor.size.depth = 1;
-    descriptor.arraySize = 1;
+    descriptor.arrayLayerCount = 1;
     descriptor.sampleCount = 1;
     descriptor.format = dawn::TextureFormat::D32FloatS8Uint;
-    descriptor.levelCount = 1;
+    descriptor.mipLevelCount = 1;
     descriptor.usage = dawn::TextureUsageBit::OutputAttachment;
     auto depthStencilTexture = device.CreateTexture(&descriptor);
     return depthStencilTexture.CreateDefaultTextureView();
diff --git a/examples/glTFViewer/glTFViewer.cpp b/examples/glTFViewer/glTFViewer.cpp
index 127c324..2097e86 100644
--- a/examples/glTFViewer/glTFViewer.cpp
+++ b/examples/glTFViewer/glTFViewer.cpp
@@ -419,10 +419,10 @@
             descriptor.size.width = iImage.width;
             descriptor.size.height = iImage.height;
             descriptor.size.depth = 1;
-            descriptor.arraySize = 1;
+            descriptor.arrayLayerCount = 1;
             descriptor.sampleCount = 1;
             descriptor.format = format;
-            descriptor.levelCount = 1;
+            descriptor.mipLevelCount = 1;
             descriptor.usage = dawn::TextureUsageBit::TransferDst | dawn::TextureUsageBit::Sampled;
             auto oTexture = device.CreateTexture(&descriptor);
                 // TODO: release this texture
diff --git a/src/dawn_native/BindGroup.cpp b/src/dawn_native/BindGroup.cpp
index 8732c06..dc1fe6d 100644
--- a/src/dawn_native/BindGroup.cpp
+++ b/src/dawn_native/BindGroup.cpp
@@ -100,12 +100,12 @@
         const BindGroupLayoutBase::LayoutBindingInfo& layoutInfo =
             descriptor->layout->GetBindingInfo();
 
-        if (descriptor->numBindings != layoutInfo.mask.count()) {
+        if (descriptor->bindingCount != layoutInfo.mask.count()) {
             return DAWN_VALIDATION_ERROR("numBindings mismatch");
         }
 
         std::bitset<kMaxBindingsPerGroup> bindingsSet;
-        for (uint32_t i = 0; i < descriptor->numBindings; ++i) {
+        for (uint32_t i = 0; i < descriptor->bindingCount; ++i) {
             const BindGroupBinding& binding = descriptor->bindings[i];
             uint32_t bindingIndex = binding.binding;
 
@@ -155,7 +155,7 @@
 
     BindGroupBase::BindGroupBase(DeviceBase* device, const BindGroupDescriptor* descriptor)
         : ObjectBase(device), mLayout(descriptor->layout) {
-        for (uint32_t i = 0; i < descriptor->numBindings; ++i) {
+        for (uint32_t i = 0; i < descriptor->bindingCount; ++i) {
             const BindGroupBinding& binding = descriptor->bindings[i];
 
             uint32_t bindingIndex = binding.binding;
diff --git a/src/dawn_native/BindGroupLayout.cpp b/src/dawn_native/BindGroupLayout.cpp
index 9774340..dc3d65a 100644
--- a/src/dawn_native/BindGroupLayout.cpp
+++ b/src/dawn_native/BindGroupLayout.cpp
@@ -30,7 +30,7 @@
         }
 
         std::bitset<kMaxBindingsPerGroup> bindingsSet;
-        for (uint32_t i = 0; i < descriptor->numBindings; ++i) {
+        for (uint32_t i = 0; i < descriptor->bindingCount; ++i) {
             auto& binding = descriptor->bindings[i];
             DAWN_TRY(ValidateShaderStageBit(binding.visibility));
             DAWN_TRY(ValidateBindingType(binding.type));
@@ -80,7 +80,7 @@
                                              const BindGroupLayoutDescriptor* descriptor,
                                              bool blueprint)
         : ObjectBase(device), mIsBlueprint(blueprint) {
-        for (uint32_t i = 0; i < descriptor->numBindings; ++i) {
+        for (uint32_t i = 0; i < descriptor->bindingCount; ++i) {
             auto& binding = descriptor->bindings[i];
 
             uint32_t index = binding.binding;
diff --git a/src/dawn_native/PipelineLayout.cpp b/src/dawn_native/PipelineLayout.cpp
index 720273a..fd23df9 100644
--- a/src/dawn_native/PipelineLayout.cpp
+++ b/src/dawn_native/PipelineLayout.cpp
@@ -26,11 +26,11 @@
             return DAWN_VALIDATION_ERROR("nextInChain must be nullptr");
         }
 
-        if (descriptor->numBindGroupLayouts > kMaxBindGroups) {
+        if (descriptor->bindGroupLayoutCount > kMaxBindGroups) {
             return DAWN_VALIDATION_ERROR("too many bind group layouts");
         }
 
-        for (uint32_t i = 0; i < descriptor->numBindGroupLayouts; ++i) {
+        for (uint32_t i = 0; i < descriptor->bindGroupLayoutCount; ++i) {
             DAWN_TRY(device->ValidateObject(descriptor->bindGroupLayouts[i]));
         }
         return {};
@@ -41,8 +41,8 @@
     PipelineLayoutBase::PipelineLayoutBase(DeviceBase* device,
                                            const PipelineLayoutDescriptor* descriptor)
         : ObjectBase(device) {
-        ASSERT(descriptor->numBindGroupLayouts <= kMaxBindGroups);
-        for (uint32_t group = 0; group < descriptor->numBindGroupLayouts; ++group) {
+        ASSERT(descriptor->bindGroupLayoutCount <= kMaxBindGroups);
+        for (uint32_t group = 0; group < descriptor->bindGroupLayoutCount; ++group) {
             mBindGroupLayouts[group] = descriptor->bindGroupLayouts[group];
             mMask.set(group);
         }
diff --git a/src/dawn_native/Queue.cpp b/src/dawn_native/Queue.cpp
index ae070e3..bd4f43b 100644
--- a/src/dawn_native/Queue.cpp
+++ b/src/dawn_native/Queue.cpp
@@ -28,13 +28,13 @@
     QueueBase::QueueBase(DeviceBase* device) : ObjectBase(device) {
     }
 
-    void QueueBase::Submit(uint32_t numCommands, CommandBufferBase* const* commands) {
-        if (GetDevice()->ConsumedError(ValidateSubmit(numCommands, commands))) {
+    void QueueBase::Submit(uint32_t commandCount, CommandBufferBase* const* commands) {
+        if (GetDevice()->ConsumedError(ValidateSubmit(commandCount, commands))) {
             return;
         }
         ASSERT(!IsError());
 
-        SubmitImpl(numCommands, commands);
+        SubmitImpl(commandCount, commands);
     }
 
     void QueueBase::Signal(FenceBase* fence, uint64_t signalValue) {
@@ -47,10 +47,11 @@
         GetDevice()->GetFenceSignalTracker()->UpdateFenceOnComplete(fence, signalValue);
     }
 
-    MaybeError QueueBase::ValidateSubmit(uint32_t numCommands, CommandBufferBase* const* commands) {
+    MaybeError QueueBase::ValidateSubmit(uint32_t commandCount,
+                                         CommandBufferBase* const* commands) {
         DAWN_TRY(GetDevice()->ValidateObject(this));
 
-        for (uint32_t i = 0; i < numCommands; ++i) {
+        for (uint32_t i = 0; i < commandCount; ++i) {
             // TODO(cwallez@chromium.org): Remove this once CommandBufferBuilder doesn't use the
             // builder mechanism anymore.
             if (commands[i] == nullptr) {
diff --git a/src/dawn_native/Queue.h b/src/dawn_native/Queue.h
index 0a85af4..3a31367 100644
--- a/src/dawn_native/Queue.h
+++ b/src/dawn_native/Queue.h
@@ -29,13 +29,13 @@
         QueueBase(DeviceBase* device);
 
         // Dawn API
-        void Submit(uint32_t numCommands, CommandBufferBase* const* commands);
+        void Submit(uint32_t commandCount, CommandBufferBase* const* commands);
         void Signal(FenceBase* fence, uint64_t signalValue);
 
       private:
-        virtual void SubmitImpl(uint32_t numCommands, CommandBufferBase* const* commands) = 0;
+        virtual void SubmitImpl(uint32_t commandCount, CommandBufferBase* const* commands) = 0;
 
-        MaybeError ValidateSubmit(uint32_t numCommands, CommandBufferBase* const* commands);
+        MaybeError ValidateSubmit(uint32_t commandCount, CommandBufferBase* const* commands);
         MaybeError ValidateSignal(const FenceBase* fence, uint64_t signalValue);
     };
 
diff --git a/src/dawn_native/RenderPipeline.cpp b/src/dawn_native/RenderPipeline.cpp
index f954159..cebe557 100644
--- a/src/dawn_native/RenderPipeline.cpp
+++ b/src/dawn_native/RenderPipeline.cpp
@@ -122,15 +122,15 @@
             return DAWN_VALIDATION_ERROR("Sample count must be one");
         }
 
-        if (descriptor->numColorStates > kMaxColorAttachments) {
+        if (descriptor->colorStateCount > kMaxColorAttachments) {
             return DAWN_VALIDATION_ERROR("Color States number exceeds maximum");
         }
 
-        if (descriptor->numColorStates == 0 && !descriptor->depthStencilState) {
+        if (descriptor->colorStateCount == 0 && !descriptor->depthStencilState) {
             return DAWN_VALIDATION_ERROR("Should have at least one attachment");
         }
 
-        for (uint32_t i = 0; i < descriptor->numColorStates; ++i) {
+        for (uint32_t i = 0; i < descriptor->colorStateCount; ++i) {
             DAWN_TRY(ValidateColorStateDescriptor(descriptor->colorStates[i]));
         }
 
@@ -195,7 +195,7 @@
         ExtractModuleData(dawn::ShaderStage::Vertex, descriptor->vertexStage->module);
         ExtractModuleData(dawn::ShaderStage::Fragment, descriptor->fragmentStage->module);
 
-        for (uint32_t i = 0; i < descriptor->numColorStates; ++i) {
+        for (uint32_t i = 0; i < descriptor->colorStateCount; ++i) {
             mColorAttachmentsSet.set(i);
             mColorStates[i] = *descriptor->colorStates[i];
         }
diff --git a/src/dawn_native/SwapChain.cpp b/src/dawn_native/SwapChain.cpp
index 952306e..9832fc3 100644
--- a/src/dawn_native/SwapChain.cpp
+++ b/src/dawn_native/SwapChain.cpp
@@ -110,10 +110,10 @@
         descriptor.size.width = mWidth;
         descriptor.size.height = mHeight;
         descriptor.size.depth = 1;
-        descriptor.arraySize = 1;
+        descriptor.arrayLayerCount = 1;
         descriptor.sampleCount = 1;
         descriptor.format = mFormat;
-        descriptor.levelCount = 1;
+        descriptor.mipLevelCount = 1;
         descriptor.usage = mAllowedUsage;
 
         auto* texture = GetNextTextureImpl(&descriptor);
diff --git a/src/dawn_native/Texture.cpp b/src/dawn_native/Texture.cpp
index 74cc696..a97536a 100644
--- a/src/dawn_native/Texture.cpp
+++ b/src/dawn_native/Texture.cpp
@@ -95,7 +95,7 @@
             const TextureBase* texture,
             const TextureViewDescriptor* descriptor) {
             if (!IsArrayLayerValidForTextureViewDimension(descriptor->dimension,
-                                                          descriptor->layerCount)) {
+                                                          descriptor->arrayLayerCount)) {
                 return DAWN_VALIDATION_ERROR(
                     "The dimension of the texture view is not compatible with the layer count");
             }
@@ -121,9 +121,9 @@
             TextureViewDescriptor descriptor;
             descriptor.format = texture->GetFormat();
             descriptor.baseArrayLayer = 0;
-            descriptor.layerCount = texture->GetArrayLayers();
+            descriptor.arrayLayerCount = texture->GetArrayLayers();
             descriptor.baseMipLevel = 0;
-            descriptor.levelCount = texture->GetNumMipLevels();
+            descriptor.mipLevelCount = texture->GetNumMipLevels();
 
             // TODO(jiawei.shao@intel.com): support all texture dimensions.
             switch (texture->GetDimension()) {
@@ -155,8 +155,8 @@
 
         // TODO(jiawei.shao@intel.com): check stuff based on the dimension
         if (descriptor->size.width == 0 || descriptor->size.height == 0 ||
-            descriptor->size.depth == 0 || descriptor->arraySize == 0 ||
-            descriptor->levelCount == 0) {
+            descriptor->size.depth == 0 || descriptor->arrayLayerCount == 0 ||
+            descriptor->mipLevelCount == 0) {
             return DAWN_VALIDATION_ERROR("Cannot create an empty texture");
         }
 
@@ -175,16 +175,16 @@
         DAWN_TRY(ValidateTextureFormat(descriptor->format));
 
         // TODO(jiawei.shao@intel.com): check stuff based on resource limits
-        if (descriptor->layerCount == 0 || descriptor->levelCount == 0) {
+        if (descriptor->arrayLayerCount == 0 || descriptor->mipLevelCount == 0) {
             return DAWN_VALIDATION_ERROR("Cannot create an empty texture view");
         }
 
-        if (uint64_t(descriptor->baseArrayLayer) + uint64_t(descriptor->layerCount) >
+        if (uint64_t(descriptor->baseArrayLayer) + uint64_t(descriptor->arrayLayerCount) >
             uint64_t(texture->GetArrayLayers())) {
             return DAWN_VALIDATION_ERROR("Texture view array-layer out of range");
         }
 
-        if (uint64_t(descriptor->baseMipLevel) + uint64_t(descriptor->levelCount) >
+        if (uint64_t(descriptor->baseMipLevel) + uint64_t(descriptor->mipLevelCount) >
             uint64_t(texture->GetNumMipLevels())) {
             return DAWN_VALIDATION_ERROR("Texture view mip-level out of range");
         }
@@ -288,8 +288,8 @@
           mDimension(descriptor->dimension),
           mFormat(descriptor->format),
           mSize(descriptor->size),
-          mArrayLayers(descriptor->arraySize),
-          mNumMipLevels(descriptor->levelCount),
+          mArrayLayerCount(descriptor->arrayLayerCount),
+          mMipLevelCount(descriptor->mipLevelCount),
           mUsage(descriptor->usage) {
     }
 
@@ -316,11 +316,11 @@
     }
     uint32_t TextureBase::GetArrayLayers() const {
         ASSERT(!IsError());
-        return mArrayLayers;
+        return mArrayLayerCount;
     }
     uint32_t TextureBase::GetNumMipLevels() const {
         ASSERT(!IsError());
-        return mNumMipLevels;
+        return mMipLevelCount;
     }
     dawn::TextureUsageBit TextureBase::GetUsage() const {
         ASSERT(!IsError());
@@ -353,9 +353,9 @@
           mTexture(texture),
           mFormat(descriptor->format),
           mBaseMipLevel(descriptor->baseMipLevel),
-          mLevelCount(descriptor->levelCount),
+          mMipLevelCount(descriptor->mipLevelCount),
           mBaseArrayLayer(descriptor->baseArrayLayer),
-          mLayerCount(descriptor->layerCount) {
+          mArrayLayerCount(descriptor->arrayLayerCount) {
     }
 
     TextureViewBase::TextureViewBase(DeviceBase* device, ObjectBase::ErrorTag tag)
@@ -389,7 +389,7 @@
 
     uint32_t TextureViewBase::GetLevelCount() const {
         ASSERT(!IsError());
-        return mLevelCount;
+        return mMipLevelCount;
     }
 
     uint32_t TextureViewBase::GetBaseArrayLayer() const {
@@ -399,6 +399,6 @@
 
     uint32_t TextureViewBase::GetLayerCount() const {
         ASSERT(!IsError());
-        return mLayerCount;
+        return mArrayLayerCount;
     }
 }  // namespace dawn_native
diff --git a/src/dawn_native/Texture.h b/src/dawn_native/Texture.h
index 5967cde..d7dd6d3 100644
--- a/src/dawn_native/Texture.h
+++ b/src/dawn_native/Texture.h
@@ -68,8 +68,8 @@
         dawn::TextureDimension mDimension;
         dawn::TextureFormat mFormat;
         Extent3D mSize;
-        uint32_t mArrayLayers;
-        uint32_t mNumMipLevels;
+        uint32_t mArrayLayerCount;
+        uint32_t mMipLevelCount;
         dawn::TextureUsageBit mUsage = dawn::TextureUsageBit::None;
     };
 
@@ -95,9 +95,9 @@
 
         dawn::TextureFormat mFormat;
         uint32_t mBaseMipLevel;
-        uint32_t mLevelCount;
+        uint32_t mMipLevelCount;
         uint32_t mBaseArrayLayer;
-        uint32_t mLayerCount;
+        uint32_t mArrayLayerCount;
     };
 
 }  // namespace dawn_native
diff --git a/src/dawn_native/d3d12/QueueD3D12.cpp b/src/dawn_native/d3d12/QueueD3D12.cpp
index e9866f2..063942d 100644
--- a/src/dawn_native/d3d12/QueueD3D12.cpp
+++ b/src/dawn_native/d3d12/QueueD3D12.cpp
@@ -22,13 +22,13 @@
     Queue::Queue(Device* device) : QueueBase(device) {
     }
 
-    void Queue::SubmitImpl(uint32_t numCommands, CommandBufferBase* const* commands) {
+    void Queue::SubmitImpl(uint32_t commandCount, CommandBufferBase* const* commands) {
         Device* device = ToBackend(GetDevice());
 
         device->Tick();
 
         device->OpenCommandList(&mCommandList);
-        for (uint32_t i = 0; i < numCommands; ++i) {
+        for (uint32_t i = 0; i < commandCount; ++i) {
             ToBackend(commands[i])->RecordCommands(mCommandList, i);
         }
         ASSERT_SUCCESS(mCommandList->Close());
diff --git a/src/dawn_native/d3d12/QueueD3D12.h b/src/dawn_native/d3d12/QueueD3D12.h
index 7420b1d..117d6ee 100644
--- a/src/dawn_native/d3d12/QueueD3D12.h
+++ b/src/dawn_native/d3d12/QueueD3D12.h
@@ -29,7 +29,7 @@
         Queue(Device* device);
 
       private:
-        void SubmitImpl(uint32_t numCommands, CommandBufferBase* const* commands) override;
+        void SubmitImpl(uint32_t commandCount, CommandBufferBase* const* commands) override;
 
         ComPtr<ID3D12GraphicsCommandList> mCommandList;
     };
diff --git a/src/dawn_native/d3d12/TextureD3D12.cpp b/src/dawn_native/d3d12/TextureD3D12.cpp
index fb49dea..eb4228f 100644
--- a/src/dawn_native/d3d12/TextureD3D12.cpp
+++ b/src/dawn_native/d3d12/TextureD3D12.cpp
@@ -203,9 +203,9 @@
             case dawn::TextureViewDimension::e2DArray:
                 ASSERT(texture->GetDimension() == dawn::TextureDimension::e2D);
                 mSrvDesc.ViewDimension = D3D12_SRV_DIMENSION_TEXTURE2DARRAY;
-                mSrvDesc.Texture2DArray.ArraySize = descriptor->layerCount;
+                mSrvDesc.Texture2DArray.ArraySize = descriptor->arrayLayerCount;
                 mSrvDesc.Texture2DArray.FirstArraySlice = descriptor->baseArrayLayer;
-                mSrvDesc.Texture2DArray.MipLevels = descriptor->levelCount;
+                mSrvDesc.Texture2DArray.MipLevels = descriptor->mipLevelCount;
                 mSrvDesc.Texture2DArray.MostDetailedMip = descriptor->baseMipLevel;
                 mSrvDesc.Texture2DArray.PlaneSlice = 0;
                 mSrvDesc.Texture2DArray.ResourceMinLODClamp = 0;
@@ -213,12 +213,12 @@
             case dawn::TextureViewDimension::Cube:
             case dawn::TextureViewDimension::CubeArray:
                 ASSERT(texture->GetDimension() == dawn::TextureDimension::e2D);
-                ASSERT(descriptor->layerCount % 6 == 0);
+                ASSERT(descriptor->arrayLayerCount % 6 == 0);
                 mSrvDesc.ViewDimension = D3D12_SRV_DIMENSION_TEXTURECUBEARRAY;
                 mSrvDesc.TextureCubeArray.First2DArrayFace = descriptor->baseArrayLayer;
-                mSrvDesc.TextureCubeArray.NumCubes = descriptor->layerCount / 6;
+                mSrvDesc.TextureCubeArray.NumCubes = descriptor->arrayLayerCount / 6;
                 mSrvDesc.TextureCubeArray.MostDetailedMip = descriptor->baseMipLevel;
-                mSrvDesc.TextureCubeArray.MipLevels = descriptor->levelCount;
+                mSrvDesc.TextureCubeArray.MipLevels = descriptor->mipLevelCount;
                 mSrvDesc.TextureCubeArray.ResourceMinLODClamp = 0;
                 break;
             default:
diff --git a/src/dawn_native/metal/QueueMTL.h b/src/dawn_native/metal/QueueMTL.h
index e5c6de7..79bafb2 100644
--- a/src/dawn_native/metal/QueueMTL.h
+++ b/src/dawn_native/metal/QueueMTL.h
@@ -27,7 +27,7 @@
         Queue(Device* device);
 
       private:
-        void SubmitImpl(uint32_t numCommands, CommandBufferBase* const* commands) override;
+        void SubmitImpl(uint32_t commandCount, CommandBufferBase* const* commands) override;
     };
 
 }}  // namespace dawn_native::metal
diff --git a/src/dawn_native/metal/QueueMTL.mm b/src/dawn_native/metal/QueueMTL.mm
index fdcf47b..ffd8292 100644
--- a/src/dawn_native/metal/QueueMTL.mm
+++ b/src/dawn_native/metal/QueueMTL.mm
@@ -22,12 +22,12 @@
     Queue::Queue(Device* device) : QueueBase(device) {
     }
 
-    void Queue::SubmitImpl(uint32_t numCommands, CommandBufferBase* const* commands) {
+    void Queue::SubmitImpl(uint32_t commandCount, CommandBufferBase* const* commands) {
         Device* device = ToBackend(GetDevice());
         device->Tick();
         id<MTLCommandBuffer> commandBuffer = device->GetPendingCommandBuffer();
 
-        for (uint32_t i = 0; i < numCommands; ++i) {
+        for (uint32_t i = 0; i < commandCount; ++i) {
             ToBackend(commands[i])->FillCommands(commandBuffer);
         }
 
diff --git a/src/dawn_native/metal/TextureMTL.mm b/src/dawn_native/metal/TextureMTL.mm
index b6ebdfa..c438a40 100644
--- a/src/dawn_native/metal/TextureMTL.mm
+++ b/src/dawn_native/metal/TextureMTL.mm
@@ -97,11 +97,11 @@
                 return true;
             }
 
-            if (texture->GetArrayLayers() != textureViewDescriptor->layerCount) {
+            if (texture->GetArrayLayers() != textureViewDescriptor->arrayLayerCount) {
                 return true;
             }
 
-            if (texture->GetNumMipLevels() != textureViewDescriptor->levelCount) {
+            if (texture->GetNumMipLevels() != textureViewDescriptor->mipLevelCount) {
                 return true;
             }
 
@@ -162,8 +162,9 @@
         } else {
             MTLPixelFormat format = MetalPixelFormat(descriptor->format);
             MTLTextureType textureViewType = MetalTextureViewType(descriptor->dimension);
-            auto mipLevelRange = NSMakeRange(descriptor->baseMipLevel, descriptor->levelCount);
-            auto arrayLayerRange = NSMakeRange(descriptor->baseArrayLayer, descriptor->layerCount);
+            auto mipLevelRange = NSMakeRange(descriptor->baseMipLevel, descriptor->mipLevelCount);
+            auto arrayLayerRange =
+                NSMakeRange(descriptor->baseArrayLayer, descriptor->arrayLayerCount);
 
             mMtlTextureView = [mtlTexture newTextureViewWithPixelFormat:format
                                                             textureType:textureViewType
diff --git a/src/dawn_native/null/DeviceNull.h b/src/dawn_native/null/DeviceNull.h
index 2107e3a..5686890 100644
--- a/src/dawn_native/null/DeviceNull.h
+++ b/src/dawn_native/null/DeviceNull.h
@@ -172,7 +172,7 @@
         ~Queue();
 
       private:
-        void SubmitImpl(uint32_t numCommands, CommandBufferBase* const* commands) override;
+        void SubmitImpl(uint32_t commandCount, CommandBufferBase* const* commands) override;
     };
 
     class SwapChain : public SwapChainBase {
diff --git a/src/dawn_native/opengl/QueueGL.cpp b/src/dawn_native/opengl/QueueGL.cpp
index a03fb18..241854a 100644
--- a/src/dawn_native/opengl/QueueGL.cpp
+++ b/src/dawn_native/opengl/QueueGL.cpp
@@ -22,10 +22,10 @@
     Queue::Queue(Device* device) : QueueBase(device) {
     }
 
-    void Queue::SubmitImpl(uint32_t numCommands, CommandBufferBase* const* commands) {
+    void Queue::SubmitImpl(uint32_t commandCount, CommandBufferBase* const* commands) {
         Device* device = ToBackend(GetDevice());
 
-        for (uint32_t i = 0; i < numCommands; ++i) {
+        for (uint32_t i = 0; i < commandCount; ++i) {
             ToBackend(commands[i])->Execute();
         }
 
diff --git a/src/dawn_native/opengl/QueueGL.h b/src/dawn_native/opengl/QueueGL.h
index f473049..687d7a4 100644
--- a/src/dawn_native/opengl/QueueGL.h
+++ b/src/dawn_native/opengl/QueueGL.h
@@ -27,7 +27,7 @@
         Queue(Device* device);
 
       private:
-        void SubmitImpl(uint32_t numCommands, CommandBufferBase* const* commands) override;
+        void SubmitImpl(uint32_t commandCount, CommandBufferBase* const* commands) override;
     };
 
 }}  // namespace dawn_native::opengl
diff --git a/src/dawn_native/opengl/TextureGL.cpp b/src/dawn_native/opengl/TextureGL.cpp
index a16b07a..8d36bd2 100644
--- a/src/dawn_native/opengl/TextureGL.cpp
+++ b/src/dawn_native/opengl/TextureGL.cpp
@@ -25,10 +25,10 @@
     namespace {
 
         GLenum TargetForDimensionAndArrayLayers(dawn::TextureDimension dimension,
-                                                uint32_t arrayLayer) {
+                                                uint32_t arrayLayerCount) {
             switch (dimension) {
                 case dawn::TextureDimension::e2D:
-                    return (arrayLayer > 1) ? GL_TEXTURE_2D_ARRAY : GL_TEXTURE_2D;
+                    return (arrayLayerCount > 1) ? GL_TEXTURE_2D_ARRAY : GL_TEXTURE_2D;
                 default:
                     UNREACHABLE();
                     return GL_TEXTURE_2D;
@@ -154,8 +154,8 @@
         const Texture* textureGL = ToBackend(texture);
         TextureFormatInfo textureViewFormat = GetGLFormatInfo(descriptor->format);
         glTextureView(mHandle, mTarget, textureGL->GetHandle(), textureViewFormat.internalFormat,
-                      descriptor->baseMipLevel, descriptor->levelCount, descriptor->baseArrayLayer,
-                      descriptor->layerCount);
+                      descriptor->baseMipLevel, descriptor->mipLevelCount,
+                      descriptor->baseArrayLayer, descriptor->arrayLayerCount);
     }
 
     TextureView::~TextureView() {
diff --git a/src/dawn_native/vulkan/QueueVk.cpp b/src/dawn_native/vulkan/QueueVk.cpp
index 773a4f0..a5451b1 100644
--- a/src/dawn_native/vulkan/QueueVk.cpp
+++ b/src/dawn_native/vulkan/QueueVk.cpp
@@ -25,13 +25,13 @@
     Queue::~Queue() {
     }
 
-    void Queue::SubmitImpl(uint32_t numCommands, CommandBufferBase* const* commands) {
+    void Queue::SubmitImpl(uint32_t commandCount, CommandBufferBase* const* commands) {
         Device* device = ToBackend(GetDevice());
 
         device->Tick();
 
         VkCommandBuffer commandBuffer = device->GetPendingCommandBuffer();
-        for (uint32_t i = 0; i < numCommands; ++i) {
+        for (uint32_t i = 0; i < commandCount; ++i) {
             ToBackend(commands[i])->RecordCommands(commandBuffer);
         }
 
diff --git a/src/dawn_native/vulkan/QueueVk.h b/src/dawn_native/vulkan/QueueVk.h
index 9fc6079..2477c5a 100644
--- a/src/dawn_native/vulkan/QueueVk.h
+++ b/src/dawn_native/vulkan/QueueVk.h
@@ -28,7 +28,7 @@
         ~Queue();
 
       private:
-        void SubmitImpl(uint32_t numCommands, CommandBufferBase* const* commands) override;
+        void SubmitImpl(uint32_t commandCount, CommandBufferBase* const* commands) override;
     };
 
 }}  // namespace dawn_native::vulkan
diff --git a/src/dawn_native/vulkan/TextureVk.cpp b/src/dawn_native/vulkan/TextureVk.cpp
index b120f64..f57d359 100644
--- a/src/dawn_native/vulkan/TextureVk.cpp
+++ b/src/dawn_native/vulkan/TextureVk.cpp
@@ -372,9 +372,9 @@
                                                    VK_COMPONENT_SWIZZLE_B, VK_COMPONENT_SWIZZLE_A};
         createInfo.subresourceRange.aspectMask = VulkanAspectMask(descriptor->format);
         createInfo.subresourceRange.baseMipLevel = descriptor->baseMipLevel;
-        createInfo.subresourceRange.levelCount = descriptor->levelCount;
+        createInfo.subresourceRange.levelCount = descriptor->mipLevelCount;
         createInfo.subresourceRange.baseArrayLayer = descriptor->baseArrayLayer;
-        createInfo.subresourceRange.layerCount = descriptor->layerCount;
+        createInfo.subresourceRange.layerCount = descriptor->arrayLayerCount;
 
         if (device->fn.CreateImageView(device->GetVkDevice(), &createInfo, nullptr, &mHandle) !=
             VK_SUCCESS) {
diff --git a/src/tests/end2end/BindGroupTests.cpp b/src/tests/end2end/BindGroupTests.cpp
index cc5e78c..c11b3db 100644
--- a/src/tests/end2end/BindGroupTests.cpp
+++ b/src/tests/end2end/BindGroupTests.cpp
@@ -38,7 +38,7 @@
         std::vector<dawn::BindGroupLayout> bindingInitializer) const {
         dawn::PipelineLayoutDescriptor descriptor;
 
-        descriptor.numBindGroupLayouts = bindingInitializer.size();
+        descriptor.bindGroupLayoutCount = bindingInitializer.size();
         descriptor.bindGroupLayouts = bindingInitializer.data();
 
         return device.CreatePipelineLayout(&descriptor);
@@ -242,10 +242,10 @@
     descriptor.size.width = kRTSize;
     descriptor.size.height = kRTSize;
     descriptor.size.depth = 1;
-    descriptor.arraySize = 1;
+    descriptor.arrayLayerCount = 1;
     descriptor.sampleCount = 1;
     descriptor.format = dawn::TextureFormat::R8G8B8A8Unorm;
-    descriptor.levelCount = 1;
+    descriptor.mipLevelCount = 1;
     descriptor.usage = dawn::TextureUsageBit::TransferDst | dawn::TextureUsageBit::Sampled;
     dawn::Texture texture = device.CreateTexture(&descriptor);
     dawn::TextureView textureView = texture.CreateDefaultTextureView();
diff --git a/src/tests/end2end/ColorStateTests.cpp b/src/tests/end2end/ColorStateTests.cpp
index 33a7274..290cfe0 100644
--- a/src/tests/end2end/ColorStateTests.cpp
+++ b/src/tests/end2end/ColorStateTests.cpp
@@ -758,10 +758,10 @@
     descriptor.size.width = kRTSize;
     descriptor.size.height = kRTSize;
     descriptor.size.depth = 1;
-    descriptor.arraySize = 1;
+    descriptor.arrayLayerCount = 1;
     descriptor.sampleCount = 1;
     descriptor.format = dawn::TextureFormat::R8G8B8A8Unorm;
-    descriptor.levelCount = 1;
+    descriptor.mipLevelCount = 1;
     descriptor.usage = dawn::TextureUsageBit::OutputAttachment | dawn::TextureUsageBit::TransferSrc;
 
     for (uint32_t i = 0; i < 4; ++i) {
@@ -808,7 +808,7 @@
     baseDescriptor.layout = pipelineLayout;
     baseDescriptor.cVertexStage.module = vsModule;
     baseDescriptor.cFragmentStage.module = fsModule;
-    baseDescriptor.numColorStates = 4;
+    baseDescriptor.colorStateCount = 4;
 
     basePipeline = device.CreateRenderPipeline(&baseDescriptor);
 
@@ -816,7 +816,7 @@
     testDescriptor.layout = pipelineLayout;
     testDescriptor.cVertexStage.module = vsModule;
     testDescriptor.cFragmentStage.module = fsModule;
-    testDescriptor.numColorStates = 4;
+    testDescriptor.colorStateCount = 4;
 
     // set color states
     dawn::BlendDescriptor blend1;
diff --git a/src/tests/end2end/CopyTests.cpp b/src/tests/end2end/CopyTests.cpp
index 7077ae7..15d08f7 100644
--- a/src/tests/end2end/CopyTests.cpp
+++ b/src/tests/end2end/CopyTests.cpp
@@ -78,10 +78,10 @@
             descriptor.size.width = textureSpec.width;
             descriptor.size.height = textureSpec.height;
             descriptor.size.depth = 1;
-            descriptor.arraySize = textureSpec.arraySize;
+            descriptor.arrayLayerCount = textureSpec.arraySize;
             descriptor.sampleCount = 1;
             descriptor.format = dawn::TextureFormat::R8G8B8A8Unorm;
-            descriptor.levelCount = textureSpec.level + 1;
+            descriptor.mipLevelCount = textureSpec.level + 1;
             descriptor.usage = dawn::TextureUsageBit::TransferDst | dawn::TextureUsageBit::TransferSrc;
             dawn::Texture texture = device.CreateTexture(&descriptor);
 
@@ -188,10 +188,10 @@
         descriptor.size.width = textureSpec.width;
         descriptor.size.height = textureSpec.height;
         descriptor.size.depth = 1;
-        descriptor.arraySize = 1;
+        descriptor.arrayLayerCount = 1;
         descriptor.sampleCount = 1;
         descriptor.format = dawn::TextureFormat::R8G8B8A8Unorm;
-        descriptor.levelCount = textureSpec.level + 1;
+        descriptor.mipLevelCount = textureSpec.level + 1;
         descriptor.usage = dawn::TextureUsageBit::TransferDst | dawn::TextureUsageBit::TransferSrc;
         dawn::Texture texture = device.CreateTexture(&descriptor);
 
diff --git a/src/tests/end2end/DepthStencilStateTests.cpp b/src/tests/end2end/DepthStencilStateTests.cpp
index 72d807b..7495310 100644
--- a/src/tests/end2end/DepthStencilStateTests.cpp
+++ b/src/tests/end2end/DepthStencilStateTests.cpp
@@ -30,10 +30,10 @@
             renderTargetDescriptor.size.width = kRTSize;
             renderTargetDescriptor.size.height = kRTSize;
             renderTargetDescriptor.size.depth = 1;
-            renderTargetDescriptor.arraySize = 1;
+            renderTargetDescriptor.arrayLayerCount = 1;
             renderTargetDescriptor.sampleCount = 1;
             renderTargetDescriptor.format = dawn::TextureFormat::R8G8B8A8Unorm;
-            renderTargetDescriptor.levelCount = 1;
+            renderTargetDescriptor.mipLevelCount = 1;
             renderTargetDescriptor.usage = dawn::TextureUsageBit::OutputAttachment | dawn::TextureUsageBit::TransferSrc;
             renderTarget = device.CreateTexture(&renderTargetDescriptor);
 
@@ -44,10 +44,10 @@
             depthDescriptor.size.width = kRTSize;
             depthDescriptor.size.height = kRTSize;
             depthDescriptor.size.depth = 1;
-            depthDescriptor.arraySize = 1;
+            depthDescriptor.arrayLayerCount = 1;
             depthDescriptor.sampleCount = 1;
             depthDescriptor.format = dawn::TextureFormat::D32FloatS8Uint;
-            depthDescriptor.levelCount = 1;
+            depthDescriptor.mipLevelCount = 1;
             depthDescriptor.usage = dawn::TextureUsageBit::OutputAttachment;
             depthTexture = device.CreateTexture(&depthDescriptor);
 
diff --git a/src/tests/end2end/RenderPassLoadOpTests.cpp b/src/tests/end2end/RenderPassLoadOpTests.cpp
index 3339404..4ae191d 100644
--- a/src/tests/end2end/RenderPassLoadOpTests.cpp
+++ b/src/tests/end2end/RenderPassLoadOpTests.cpp
@@ -62,10 +62,10 @@
             descriptor.size.width = kRTSize;
             descriptor.size.height = kRTSize;
             descriptor.size.depth = 1;
-            descriptor.arraySize = 1;
+            descriptor.arrayLayerCount = 1;
             descriptor.sampleCount = 1;
             descriptor.format = dawn::TextureFormat::R8G8B8A8Unorm;
-            descriptor.levelCount = 1;
+            descriptor.mipLevelCount = 1;
             descriptor.usage = dawn::TextureUsageBit::OutputAttachment | dawn::TextureUsageBit::TransferSrc;
             renderTarget = device.CreateTexture(&descriptor);
 
diff --git a/src/tests/end2end/RenderPassTests.cpp b/src/tests/end2end/RenderPassTests.cpp
index 51c0b0f..c406c83 100644
--- a/src/tests/end2end/RenderPassTests.cpp
+++ b/src/tests/end2end/RenderPassTests.cpp
@@ -59,10 +59,10 @@
         descriptor.size.width = kRTSize;
         descriptor.size.height = kRTSize;
         descriptor.size.depth = 1;
-        descriptor.arraySize = 1;
+        descriptor.arrayLayerCount = 1;
         descriptor.sampleCount = 1;
         descriptor.format = kFormat;
-        descriptor.levelCount = 1;
+        descriptor.mipLevelCount = 1;
         descriptor.usage =
             dawn::TextureUsageBit::OutputAttachment | dawn::TextureUsageBit::TransferSrc;
         return device.CreateTexture(&descriptor);
diff --git a/src/tests/end2end/SamplerTests.cpp b/src/tests/end2end/SamplerTests.cpp
index 0bb6fe2..7c483e5 100644
--- a/src/tests/end2end/SamplerTests.cpp
+++ b/src/tests/end2end/SamplerTests.cpp
@@ -86,10 +86,10 @@
         descriptor.size.width = 2;
         descriptor.size.height = 2;
         descriptor.size.depth = 1;
-        descriptor.arraySize = 1;
+        descriptor.arrayLayerCount = 1;
         descriptor.sampleCount = 1;
         descriptor.format = dawn::TextureFormat::R8G8B8A8Unorm;
-        descriptor.levelCount = 1;
+        descriptor.mipLevelCount = 1;
         descriptor.usage = dawn::TextureUsageBit::TransferDst | dawn::TextureUsageBit::Sampled;
         dawn::Texture texture = device.CreateTexture(&descriptor);
 
diff --git a/src/tests/end2end/TextureViewTests.cpp b/src/tests/end2end/TextureViewTests.cpp
index 2fc8d78..7e1dfdd 100644
--- a/src/tests/end2end/TextureViewTests.cpp
+++ b/src/tests/end2end/TextureViewTests.cpp
@@ -30,18 +30,18 @@
     dawn::Texture Create2DTexture(dawn::Device device,
                                   uint32_t width,
                                   uint32_t height,
-                                  uint32_t layerCount,
-                                  uint32_t levelCount,
+                                  uint32_t arrayLayerCount,
+                                  uint32_t mipLevelCount,
                                   dawn::TextureUsageBit usage) {
         dawn::TextureDescriptor descriptor;
         descriptor.dimension = dawn::TextureDimension::e2D;
         descriptor.size.width = width;
         descriptor.size.height = height;
         descriptor.size.depth = 1;
-        descriptor.arraySize = layerCount;
+        descriptor.arrayLayerCount = arrayLayerCount;
         descriptor.sampleCount = 1;
         descriptor.format = kDefaultFormat;
-        descriptor.levelCount = levelCount;
+        descriptor.mipLevelCount = mipLevelCount;
         descriptor.usage = usage;
         return device.CreateTexture(&descriptor);
     }
@@ -110,22 +110,22 @@
         mVSModule = CreateDefaultVertexShaderModule(device);
     }
 
-    void initTexture(uint32_t layerCount, uint32_t levelCount) {
-        ASSERT(layerCount > 0 && levelCount > 0);
+    void initTexture(uint32_t arrayLayerCount, uint32_t mipLevelCount) {
+        ASSERT(arrayLayerCount > 0 && mipLevelCount > 0);
 
-        const uint32_t textureWidthLevel0 = 1 << levelCount;
-        const uint32_t textureHeightLevel0 = 1 << levelCount;
+        const uint32_t textureWidthLevel0 = 1 << mipLevelCount;
+        const uint32_t textureHeightLevel0 = 1 << mipLevelCount;
         constexpr dawn::TextureUsageBit kUsage =
             dawn::TextureUsageBit::TransferDst | dawn::TextureUsageBit::Sampled;
         mTexture = Create2DTexture(
-            device, textureWidthLevel0, textureHeightLevel0, layerCount, levelCount, kUsage);
+            device, textureWidthLevel0, textureHeightLevel0, arrayLayerCount, mipLevelCount, kUsage);
 
         mDefaultTextureViewDescriptor.dimension = dawn::TextureViewDimension::e2DArray;
         mDefaultTextureViewDescriptor.format = kDefaultFormat;
         mDefaultTextureViewDescriptor.baseMipLevel = 0;
-        mDefaultTextureViewDescriptor.levelCount = levelCount;
+        mDefaultTextureViewDescriptor.mipLevelCount = mipLevelCount;
         mDefaultTextureViewDescriptor.baseArrayLayer = 0;
-        mDefaultTextureViewDescriptor.layerCount = layerCount;
+        mDefaultTextureViewDescriptor.arrayLayerCount = arrayLayerCount;
 
         // Create a texture with pixel = (0, 0, 0, level * 10 + layer + 1) at level `level` and
         // layer `layer`.
@@ -135,8 +135,8 @@
         ASSERT_LE(textureWidthLevel0, kPixelsPerRowPitch);
 
         dawn::CommandEncoder encoder = device.CreateCommandEncoder();
-        for (uint32_t layer = 0; layer < layerCount; ++layer) {
-            for (uint32_t level = 0; level < levelCount; ++level) {
+        for (uint32_t layer = 0; layer < arrayLayerCount; ++layer) {
+            for (uint32_t level = 0; level < mipLevelCount; ++level) {
                 const uint32_t texWidth = textureWidthLevel0 >> level;
                 const uint32_t texHeight = textureHeightLevel0 >> level;
 
@@ -207,9 +207,9 @@
         dawn::TextureViewDescriptor descriptor = mDefaultTextureViewDescriptor;
         descriptor.dimension = dawn::TextureViewDimension::e2D;
         descriptor.baseArrayLayer = textureViewBaseLayer;
-        descriptor.layerCount = 1;
+        descriptor.arrayLayerCount = 1;
         descriptor.baseMipLevel = textureViewBaseMipLevel;
-        descriptor.levelCount = 1;
+        descriptor.mipLevelCount = 1;
         dawn::TextureView textureView = mTexture.CreateTextureView(&descriptor);
 
         const char* fragmentShader = R"(
@@ -246,9 +246,9 @@
         dawn::TextureViewDescriptor descriptor = mDefaultTextureViewDescriptor;
         descriptor.dimension = dawn::TextureViewDimension::e2DArray;
         descriptor.baseArrayLayer = textureViewBaseLayer;
-        descriptor.layerCount = kTextureViewLayerCount;
+        descriptor.arrayLayerCount = kTextureViewLayerCount;
         descriptor.baseMipLevel = textureViewBaseMipLevel;
-        descriptor.levelCount = 1;
+        descriptor.mipLevelCount = 1;
         dawn::TextureView textureView = mTexture.CreateTextureView(&descriptor);
 
         const char* fragmentShader = R"(
@@ -327,7 +327,7 @@
         descriptor.dimension = (isCubeMapArray) ?
             dawn::TextureViewDimension::CubeArray : dawn::TextureViewDimension::Cube;
         descriptor.baseArrayLayer = textureViewBaseLayer;
-        descriptor.layerCount = textureViewLayerCount;
+        descriptor.arrayLayerCount = textureViewLayerCount;
 
         dawn::TextureView cubeMapTextureView = mTexture.CreateTextureView(&descriptor);
 
@@ -484,9 +484,9 @@
         descriptor.format = kDefaultFormat;
         descriptor.dimension = dimension;
         descriptor.baseArrayLayer = textureViewBaseLayer;
-        descriptor.layerCount = 1;
+        descriptor.arrayLayerCount = 1;
         descriptor.baseMipLevel = textureViewBaseLevel;
-        descriptor.levelCount = 1;
+        descriptor.mipLevelCount = 1;
         dawn::TextureView textureView = texture.CreateTextureView(&descriptor);
 
         dawn::ShaderModule vsModule = CreateDefaultVertexShaderModule(device);
diff --git a/src/tests/unittests/validation/BindGroupValidationTests.cpp b/src/tests/unittests/validation/BindGroupValidationTests.cpp
index e78ccb5..78563c4 100644
--- a/src/tests/unittests/validation/BindGroupValidationTests.cpp
+++ b/src/tests/unittests/validation/BindGroupValidationTests.cpp
@@ -41,10 +41,10 @@
             dawn::TextureDescriptor descriptor;
             descriptor.dimension = dawn::TextureDimension::e2D;
             descriptor.size = {16, 16, 1};
-            descriptor.arraySize = 1;
+            descriptor.arrayLayerCount = 1;
             descriptor.sampleCount = 1;
             descriptor.format = dawn::TextureFormat::R8G8B8A8Unorm;
-            descriptor.levelCount = 1;
+            descriptor.mipLevelCount = 1;
             descriptor.usage = dawn::TextureUsageBit::Sampled;
             mSampledTexture = device.CreateTexture(&descriptor);
             mSampledTextureView = mSampledTexture.CreateDefaultTextureView();
@@ -65,7 +65,7 @@
 
     dawn::BindGroupDescriptor descriptor;
     descriptor.layout = layout;
-    descriptor.numBindings = 0;
+    descriptor.bindingCount = 0;
     descriptor.bindings = nullptr;
 
     // Control case: check that nextInChain = nullptr is valid
@@ -77,8 +77,8 @@
     ASSERT_DEVICE_ERROR(device.CreateBindGroup(&descriptor));
 }
 
-// Check constraints on numBindings
-TEST_F(BindGroupValidationTest, NumBindingsMismatch) {
+// Check constraints on bindingCount
+TEST_F(BindGroupValidationTest, bindingCountMismatch) {
     dawn::BindGroupLayout layout = utils::MakeBindGroupLayout(device, {
         {0, dawn::ShaderStageBit::Fragment, dawn::BindingType::Sampler}
     });
@@ -86,7 +86,7 @@
     // Control case: check that a descriptor with one binding is ok
     utils::MakeBindGroup(device, layout, {{0, mSampler}});
 
-    // Check that numBindings != layout.numBindings fails.
+    // Check that bindingCount != layout.bindingCount fails.
     ASSERT_DEVICE_ERROR(utils::MakeBindGroup(device, layout, {}));
 }
 
@@ -142,7 +142,7 @@
 
     dawn::BindGroupDescriptor descriptor;
     descriptor.layout = layout;
-    descriptor.numBindings = 1;
+    descriptor.bindingCount = 1;
     descriptor.bindings = &binding;
 
     // Not setting anything fails
@@ -192,7 +192,7 @@
 
     dawn::BindGroupDescriptor descriptor;
     descriptor.layout = layout;
-    descriptor.numBindings = 1;
+    descriptor.bindingCount = 1;
     descriptor.bindings = &binding;
 
     // Not setting anything fails
@@ -218,9 +218,9 @@
         viewDesc.format = dawn::TextureFormat::R8G8B8A8Unorm;
         viewDesc.dimension = dawn::TextureViewDimension::e2D;
         viewDesc.baseMipLevel = 0;
-        viewDesc.levelCount = 0;
+        viewDesc.mipLevelCount = 0;
         viewDesc.baseArrayLayer = 0;
-        viewDesc.layerCount = 0;
+        viewDesc.arrayLayerCount = 0;
 
         dawn::TextureView errorView;
         ASSERT_DEVICE_ERROR(errorView = mSampledTexture.CreateTextureView(&viewDesc));
@@ -247,7 +247,7 @@
 
     dawn::BindGroupDescriptor descriptor;
     descriptor.layout = layout;
-    descriptor.numBindings = 1;
+    descriptor.bindingCount = 1;
     descriptor.bindings = &binding;
 
     // Not setting anything fails
@@ -295,10 +295,10 @@
     dawn::TextureDescriptor descriptor;
     descriptor.dimension = dawn::TextureDimension::e2D;
     descriptor.size = {16, 16, 1};
-    descriptor.arraySize = 1;
+    descriptor.arrayLayerCount = 1;
     descriptor.sampleCount = 1;
     descriptor.format = dawn::TextureFormat::R8G8B8A8Unorm;
-    descriptor.levelCount = 1;
+    descriptor.mipLevelCount = 1;
     descriptor.usage = dawn::TextureUsageBit::OutputAttachment;
     dawn::Texture outputTexture = device.CreateTexture(&descriptor);
     dawn::TextureView outputTextureView = outputTexture.CreateDefaultTextureView();
diff --git a/src/tests/unittests/validation/CommandBufferValidationTests.cpp b/src/tests/unittests/validation/CommandBufferValidationTests.cpp
index 385e55f..f7efbf6 100644
--- a/src/tests/unittests/validation/CommandBufferValidationTests.cpp
+++ b/src/tests/unittests/validation/CommandBufferValidationTests.cpp
@@ -181,9 +181,9 @@
     textureDescriptor.format = dawn::TextureFormat::R8G8B8A8Unorm;
     textureDescriptor.dimension = dawn::TextureDimension::e2D;
     textureDescriptor.size = {1, 1, 1};
-    textureDescriptor.arraySize = 1;
+    textureDescriptor.arrayLayerCount = 1;
     textureDescriptor.sampleCount = 1;
-    textureDescriptor.levelCount = 1;
+    textureDescriptor.mipLevelCount = 1;
     dawn::Texture texture = device.CreateTexture(&textureDescriptor);
     dawn::TextureView view = texture.CreateDefaultTextureView();
 
diff --git a/src/tests/unittests/validation/CopyCommandsValidationTests.cpp b/src/tests/unittests/validation/CopyCommandsValidationTests.cpp
index 055158f..a9f0a6d 100644
--- a/src/tests/unittests/validation/CopyCommandsValidationTests.cpp
+++ b/src/tests/unittests/validation/CopyCommandsValidationTests.cpp
@@ -27,18 +27,18 @@
             return device.CreateBuffer(&descriptor);
         }
 
-        dawn::Texture Create2DTexture(uint32_t width, uint32_t height, uint32_t levels,
-                                      uint32_t arraySize, dawn::TextureFormat format,
+        dawn::Texture Create2DTexture(uint32_t width, uint32_t height, uint32_t mipLevelCount,
+                                      uint32_t arrayLayerCount, dawn::TextureFormat format,
                                       dawn::TextureUsageBit usage) {
             dawn::TextureDescriptor descriptor;
             descriptor.dimension = dawn::TextureDimension::e2D;
             descriptor.size.width = width;
             descriptor.size.height = height;
             descriptor.size.depth = 1;
-            descriptor.arraySize = arraySize;
+            descriptor.arrayLayerCount = arrayLayerCount;
             descriptor.sampleCount = 1;
             descriptor.format = format;
-            descriptor.levelCount = levels;
+            descriptor.mipLevelCount = mipLevelCount;
             descriptor.usage = usage;
             dawn::Texture tex = device.CreateTexture(&descriptor);
             return tex;
diff --git a/src/tests/unittests/validation/RenderPassDescriptorValidationTests.cpp b/src/tests/unittests/validation/RenderPassDescriptorValidationTests.cpp
index 82f29be..b2c08a7 100644
--- a/src/tests/unittests/validation/RenderPassDescriptorValidationTests.cpp
+++ b/src/tests/unittests/validation/RenderPassDescriptorValidationTests.cpp
@@ -26,17 +26,17 @@
                             dawn::TextureFormat format,
                             uint32_t width,
                             uint32_t height,
-                            uint32_t arraySize,
-                            uint32_t levelCount) {
+                            uint32_t arrayLayerCount,
+                            uint32_t mipLevelCount) {
     dawn::TextureDescriptor descriptor;
     descriptor.dimension = dimension;
     descriptor.size.width = width;
     descriptor.size.height = height;
     descriptor.size.depth = 1;
-    descriptor.arraySize = arraySize;
+    descriptor.arrayLayerCount = arrayLayerCount;
     descriptor.sampleCount = 1;
     descriptor.format = format;
-    descriptor.levelCount = levelCount;
+    descriptor.mipLevelCount = mipLevelCount;
     descriptor.usage = dawn::TextureUsageBit::OutputAttachment;
 
     return device.CreateTexture(&descriptor);
@@ -239,7 +239,7 @@
     }
 }
 
-// Currently only texture views with layerCount == 1 are allowed to be color and depth stencil
+// Currently only texture views with arrayLayerCount == 1 are allowed to be color and depth stencil
 // attachments
 TEST_F(RenderPassDescriptorValidationTest, TextureViewLayerCountForColorAndDepthStencil) {
     constexpr uint32_t kLevelCount = 1;
@@ -258,15 +258,15 @@
     dawn::TextureViewDescriptor baseDescriptor;
     baseDescriptor.dimension = dawn::TextureViewDimension::e2DArray;
     baseDescriptor.baseArrayLayer = 0;
-    baseDescriptor.layerCount = kArrayLayers;
+    baseDescriptor.arrayLayerCount = kArrayLayers;
     baseDescriptor.baseMipLevel = 0;
-    baseDescriptor.levelCount = kLevelCount;
+    baseDescriptor.mipLevelCount = kLevelCount;
 
-    // Using 2D array texture view with layerCount > 1 is not allowed for color
+    // Using 2D array texture view with arrayLayerCount > 1 is not allowed for color
     {
         dawn::TextureViewDescriptor descriptor = baseDescriptor;
         descriptor.format = kColorFormat;
-        descriptor.layerCount = 5;
+        descriptor.arrayLayerCount = 5;
 
         dawn::TextureView colorTextureView = colorTexture.CreateTextureView(&descriptor);
         dawn::RenderPassColorAttachmentDescriptor colorAttachment;
@@ -281,11 +281,11 @@
             .GetResult();
     }
 
-    // Using 2D array texture view with layerCount > 1 is not allowed for depth stencil
+    // Using 2D array texture view with arrayLayerCount > 1 is not allowed for depth stencil
     {
         dawn::TextureViewDescriptor descriptor = baseDescriptor;
         descriptor.format = kDepthStencilFormat;
-        descriptor.layerCount = 5;
+        descriptor.arrayLayerCount = 5;
 
         dawn::TextureView depthStencilView = depthStencilTexture.CreateTextureView(&descriptor);
         dawn::RenderPassDepthStencilAttachmentDescriptor depthStencilAttachment;
@@ -306,7 +306,7 @@
         dawn::TextureViewDescriptor descriptor = baseDescriptor;
         descriptor.format = kColorFormat;
         descriptor.baseArrayLayer = 0;
-        descriptor.layerCount = 1;
+        descriptor.arrayLayerCount = 1;
 
         dawn::TextureView colorTextureView = colorTexture.CreateTextureView(&descriptor);
         dawn::RenderPassColorAttachmentDescriptor colorAttachment;
@@ -325,7 +325,7 @@
         dawn::TextureViewDescriptor descriptor = baseDescriptor;
         descriptor.format = kDepthStencilFormat;
         descriptor.baseArrayLayer = 0;
-        descriptor.layerCount = 1;
+        descriptor.arrayLayerCount = 1;
 
         dawn::TextureView depthStencilTextureView =
             depthStencilTexture.CreateTextureView(&descriptor);
@@ -347,7 +347,7 @@
         dawn::TextureViewDescriptor descriptor = baseDescriptor;
         descriptor.format = kColorFormat;
         descriptor.baseArrayLayer = kArrayLayers - 1;
-        descriptor.layerCount = 1;
+        descriptor.arrayLayerCount = 1;
 
         dawn::TextureView colorTextureView = colorTexture.CreateTextureView(&descriptor);
         dawn::RenderPassColorAttachmentDescriptor colorAttachment;
@@ -366,7 +366,7 @@
         dawn::TextureViewDescriptor descriptor = baseDescriptor;
         descriptor.format = kDepthStencilFormat;
         descriptor.baseArrayLayer = kArrayLayers - 1;
-        descriptor.layerCount = 1;
+        descriptor.arrayLayerCount = 1;
 
         dawn::TextureView depthStencilTextureView =
             depthStencilTexture.CreateTextureView(&descriptor);
@@ -384,7 +384,7 @@
     }
 }
 
-// Only 2D texture views with levelCount == 1 are allowed to be color attachments
+// Only 2D texture views with mipLevelCount == 1 are allowed to be color attachments
 TEST_F(RenderPassDescriptorValidationTest, TextureViewLevelCountForColorAndDepthStencil) {
     constexpr uint32_t kArrayLayers = 1;
     constexpr uint32_t kSize = 32;
@@ -402,15 +402,15 @@
     dawn::TextureViewDescriptor baseDescriptor;
     baseDescriptor.dimension = dawn::TextureViewDimension::e2D;
     baseDescriptor.baseArrayLayer = 0;
-    baseDescriptor.layerCount = kArrayLayers;
+    baseDescriptor.arrayLayerCount = kArrayLayers;
     baseDescriptor.baseMipLevel = 0;
-    baseDescriptor.levelCount = kLevelCount;
+    baseDescriptor.mipLevelCount = kLevelCount;
 
-    // Using 2D texture view with levelCount > 1 is not allowed for color
+    // Using 2D texture view with mipLevelCount > 1 is not allowed for color
     {
         dawn::TextureViewDescriptor descriptor = baseDescriptor;
         descriptor.format = kColorFormat;
-        descriptor.levelCount = 2;
+        descriptor.mipLevelCount = 2;
 
         dawn::TextureView colorTextureView = colorTexture.CreateTextureView(&descriptor);
         dawn::RenderPassColorAttachmentDescriptor colorAttachment;
@@ -424,11 +424,11 @@
             .GetResult();
     }
 
-    // Using 2D texture view with levelCount > 1 is not allowed for depth stencil
+    // Using 2D texture view with mipLevelCount > 1 is not allowed for depth stencil
     {
         dawn::TextureViewDescriptor descriptor = baseDescriptor;
         descriptor.format = kDepthStencilFormat;
-        descriptor.levelCount = 2;
+        descriptor.mipLevelCount = 2;
 
         dawn::TextureView depthStencilView = depthStencilTexture.CreateTextureView(&descriptor);
         dawn::RenderPassDepthStencilAttachmentDescriptor depthStencilAttachment;
@@ -449,7 +449,7 @@
         dawn::TextureViewDescriptor descriptor = baseDescriptor;
         descriptor.format = kColorFormat;
         descriptor.baseMipLevel = 0;
-        descriptor.levelCount = 1;
+        descriptor.mipLevelCount = 1;
 
         dawn::TextureView colorTextureView = colorTexture.CreateTextureView(&descriptor);
         dawn::RenderPassColorAttachmentDescriptor colorAttachment;
@@ -468,7 +468,7 @@
         dawn::TextureViewDescriptor descriptor = baseDescriptor;
         descriptor.format = kDepthStencilFormat;
         descriptor.baseMipLevel = 0;
-        descriptor.levelCount = 1;
+        descriptor.mipLevelCount = 1;
 
         dawn::TextureView depthStencilTextureView =
             depthStencilTexture.CreateTextureView(&descriptor);
@@ -490,7 +490,7 @@
         dawn::TextureViewDescriptor descriptor = baseDescriptor;
         descriptor.format = kColorFormat;
         descriptor.baseMipLevel = kLevelCount - 1;
-        descriptor.levelCount = 1;
+        descriptor.mipLevelCount = 1;
 
         dawn::TextureView colorTextureView = colorTexture.CreateTextureView(&descriptor);
         dawn::RenderPassColorAttachmentDescriptor colorAttachment;
@@ -509,7 +509,7 @@
         dawn::TextureViewDescriptor descriptor = baseDescriptor;
         descriptor.format = kDepthStencilFormat;
         descriptor.baseMipLevel = kLevelCount - 1;
-        descriptor.levelCount = 1;
+        descriptor.mipLevelCount = 1;
 
         dawn::TextureView depthStencilTextureView =
             depthStencilTexture.CreateTextureView(&descriptor);
diff --git a/src/tests/unittests/validation/RenderPipelineValidationTests.cpp b/src/tests/unittests/validation/RenderPipelineValidationTests.cpp
index da66698..810d729 100644
--- a/src/tests/unittests/validation/RenderPipelineValidationTests.cpp
+++ b/src/tests/unittests/validation/RenderPipelineValidationTests.cpp
@@ -57,7 +57,7 @@
         utils::ComboRenderPipelineDescriptor descriptor(device);
         descriptor.cVertexStage.module = vsModule;
         descriptor.cFragmentStage.module = fsModule;
-        descriptor.numColorStates = 1;
+        descriptor.colorStateCount = 1;
 
         device.CreateRenderPipeline(&descriptor);
     }
@@ -66,7 +66,7 @@
         utils::ComboRenderPipelineDescriptor descriptor(device);
         descriptor.cVertexStage.module = vsModule;
         descriptor.cFragmentStage.module = fsModule;
-        descriptor.numColorStates = 0;
+        descriptor.colorStateCount = 0;
 
         ASSERT_DEVICE_ERROR(device.CreateRenderPipeline(&descriptor));
     }
diff --git a/src/tests/unittests/validation/TextureValidationTests.cpp b/src/tests/unittests/validation/TextureValidationTests.cpp
index ab5fd36..28743c3 100644
--- a/src/tests/unittests/validation/TextureValidationTests.cpp
+++ b/src/tests/unittests/validation/TextureValidationTests.cpp
@@ -35,8 +35,8 @@
     descriptor.size.width = kWidth;
     descriptor.size.height = kHeight;
     descriptor.size.depth = 1;
-    descriptor.arraySize = kDefaultArraySize;
-    descriptor.levelCount = kDefaultMipLevels;
+    descriptor.arrayLayerCount = kDefaultArraySize;
+    descriptor.mipLevelCount = kDefaultMipLevels;
     descriptor.sampleCount = kDefaultSampleCount;
     descriptor.dimension = dawn::TextureDimension::e2D;
     descriptor.format = kDefaultTextureFormat;
diff --git a/src/tests/unittests/validation/TextureViewValidationTests.cpp b/src/tests/unittests/validation/TextureViewValidationTests.cpp
index 93c41e7..9d8c31a 100644
--- a/src/tests/unittests/validation/TextureViewValidationTests.cpp
+++ b/src/tests/unittests/validation/TextureViewValidationTests.cpp
@@ -26,7 +26,7 @@
 constexpr dawn::TextureFormat kDefaultTextureFormat = dawn::TextureFormat::R8G8B8A8Unorm;
 
 dawn::Texture Create2DArrayTexture(dawn::Device& device,
-                                   uint32_t arraySize,
+                                   uint32_t arrayLayerCount,
                                    uint32_t width = kWidth,
                                    uint32_t height = kHeight) {
     dawn::TextureDescriptor descriptor;
@@ -34,10 +34,10 @@
     descriptor.size.width = width;
     descriptor.size.height = height;
     descriptor.size.depth = 1;
-    descriptor.arraySize = arraySize;
+    descriptor.arrayLayerCount = arrayLayerCount;
     descriptor.sampleCount = 1;
     descriptor.format = kDefaultTextureFormat;
-    descriptor.levelCount = kDefaultMipLevels;
+    descriptor.mipLevelCount = kDefaultMipLevels;
     descriptor.usage = dawn::TextureUsageBit::Sampled;
     return device.CreateTexture(&descriptor);
 }
@@ -47,9 +47,9 @@
     descriptor.format = kDefaultTextureFormat;
     descriptor.dimension = dimension;
     descriptor.baseMipLevel = 0;
-    descriptor.levelCount = kDefaultMipLevels;
+    descriptor.mipLevelCount = kDefaultMipLevels;
     descriptor.baseArrayLayer = 0;
-    descriptor.layerCount = 1;
+    descriptor.arrayLayerCount = 1;
     return descriptor;
 }
 
@@ -63,7 +63,7 @@
     // It is OK to create a 2D texture view on a 2D texture.
     {
         dawn::TextureViewDescriptor descriptor = base2DTextureViewDescriptor;
-        descriptor.layerCount = 1;
+        descriptor.arrayLayerCount = 1;
         texture.CreateTextureView(&descriptor);
     }
 
@@ -71,7 +71,7 @@
     // is 2D.
     {
         dawn::TextureViewDescriptor descriptor = base2DTextureViewDescriptor;
-        descriptor.layerCount = 2;
+        descriptor.arrayLayerCount = 2;
         ASSERT_DEVICE_ERROR(texture.CreateTextureView(&descriptor));
     }
 
@@ -79,14 +79,14 @@
     {
         dawn::TextureViewDescriptor descriptor = base2DTextureViewDescriptor;
         descriptor.dimension = dawn::TextureViewDimension::e2DArray;
-        descriptor.layerCount = 1;
+        descriptor.arrayLayerCount = 1;
         texture.CreateTextureView(&descriptor);
     }
 
-    // It is an error to specify levelCount == 0.
+    // It is an error to specify mipLevelCount == 0.
     {
         dawn::TextureViewDescriptor descriptor = base2DTextureViewDescriptor;
-        descriptor.levelCount = 0;
+        descriptor.mipLevelCount = 0;
         ASSERT_DEVICE_ERROR(texture.CreateTextureView(&descriptor));
     }
 
@@ -94,7 +94,7 @@
     {
         dawn::TextureViewDescriptor descriptor = base2DTextureViewDescriptor;
         descriptor.baseMipLevel = kDefaultMipLevels - 1;
-        descriptor.levelCount = 2;
+        descriptor.mipLevelCount = 2;
         ASSERT_DEVICE_ERROR(texture.CreateTextureView(&descriptor));
     }
 }
@@ -112,28 +112,28 @@
     {
         dawn::TextureViewDescriptor descriptor = base2DArrayTextureViewDescriptor;
         descriptor.dimension = dawn::TextureViewDimension::e2D;
-        descriptor.layerCount = 1;
+        descriptor.arrayLayerCount = 1;
         texture.CreateTextureView(&descriptor);
     }
 
     // It is OK to create a 2D array texture view on a 2D array texture.
     {
         dawn::TextureViewDescriptor descriptor = base2DArrayTextureViewDescriptor;
-        descriptor.layerCount = kDefaultArrayLayers;
+        descriptor.arrayLayerCount = kDefaultArrayLayers;
         texture.CreateTextureView(&descriptor);
     }
 
-    // It is an error to specify layerCount == 0.
+    // It is an error to specify arrayLayerCount == 0.
     {
         dawn::TextureViewDescriptor descriptor = base2DArrayTextureViewDescriptor;
-        descriptor.layerCount = 0;
+        descriptor.arrayLayerCount = 0;
         ASSERT_DEVICE_ERROR(texture.CreateTextureView(&descriptor));
     }
 
     // It is an error to make the array layer out of range.
     {
         dawn::TextureViewDescriptor descriptor = base2DArrayTextureViewDescriptor;
-        descriptor.layerCount = kDefaultArrayLayers + 1;
+        descriptor.arrayLayerCount = kDefaultArrayLayers + 1;
         ASSERT_DEVICE_ERROR(texture.CreateTextureView(&descriptor));
     }
 }
@@ -147,35 +147,35 @@
     dawn::TextureViewDescriptor base2DArrayTextureViewDescriptor =
         CreateDefaultTextureViewDescriptor(dawn::TextureViewDimension::e2DArray);
 
-    // It is OK to create a cube map texture view with layerCount == 6.
+    // It is OK to create a cube map texture view with arrayLayerCount == 6.
     {
         dawn::TextureViewDescriptor descriptor = base2DArrayTextureViewDescriptor;
         descriptor.dimension = dawn::TextureViewDimension::Cube;
-        descriptor.layerCount = 6;
+        descriptor.arrayLayerCount = 6;
         texture.CreateTextureView(&descriptor);
     }
 
-    // It is an error to create a cube map texture view with layerCount != 6.
+    // It is an error to create a cube map texture view with arrayLayerCount != 6.
     {
         dawn::TextureViewDescriptor descriptor = base2DArrayTextureViewDescriptor;
         descriptor.dimension = dawn::TextureViewDimension::Cube;
-        descriptor.layerCount = 3;
+        descriptor.arrayLayerCount = 3;
         ASSERT_DEVICE_ERROR(texture.CreateTextureView(&descriptor));
     }
 
-    // It is OK to create a cube map array texture view with layerCount % 6 == 0.
+    // It is OK to create a cube map array texture view with arrayLayerCount % 6 == 0.
     {
         dawn::TextureViewDescriptor descriptor = base2DArrayTextureViewDescriptor;
         descriptor.dimension = dawn::TextureViewDimension::CubeArray;
-        descriptor.layerCount = 12;
+        descriptor.arrayLayerCount = 12;
         texture.CreateTextureView(&descriptor);
     }
 
-    // It is an error to create a cube map array texture view with layerCount % 6 != 0.
+    // It is an error to create a cube map array texture view with arrayLayerCount % 6 != 0.
     {
         dawn::TextureViewDescriptor descriptor = base2DArrayTextureViewDescriptor;
         descriptor.dimension = dawn::TextureViewDimension::CubeArray;
-        descriptor.layerCount = 11;
+        descriptor.arrayLayerCount = 11;
         ASSERT_DEVICE_ERROR(texture.CreateTextureView(&descriptor));
     }
 
@@ -185,7 +185,7 @@
 
         dawn::TextureViewDescriptor descriptor = base2DArrayTextureViewDescriptor;
         descriptor.dimension = dawn::TextureViewDimension::Cube;
-        descriptor.layerCount = 6;
+        descriptor.arrayLayerCount = 6;
         ASSERT_DEVICE_ERROR(nonSquareTexture.CreateTextureView(&descriptor));
     }
 
@@ -195,7 +195,7 @@
 
         dawn::TextureViewDescriptor descriptor = base2DArrayTextureViewDescriptor;
         descriptor.dimension = dawn::TextureViewDimension::CubeArray;
-        descriptor.layerCount = 12;
+        descriptor.arrayLayerCount = 12;
         ASSERT_DEVICE_ERROR(nonSquareTexture.CreateTextureView(&descriptor));
     }
 }
diff --git a/src/tests/unittests/validation/ValidationTest.cpp b/src/tests/unittests/validation/ValidationTest.cpp
index b821088..7c16033 100644
--- a/src/tests/unittests/validation/ValidationTest.cpp
+++ b/src/tests/unittests/validation/ValidationTest.cpp
@@ -90,10 +90,10 @@
         descriptor.size.width = 640;
         descriptor.size.height = 480;
         descriptor.size.depth = 1;
-        descriptor.arraySize = 1;
+        descriptor.arrayLayerCount = 1;
         descriptor.sampleCount = 1;
         descriptor.format = dawn::TextureFormat::R8G8B8A8Unorm;
-        descriptor.levelCount = 1;
+        descriptor.mipLevelCount = 1;
         descriptor.usage = dawn::TextureUsageBit::OutputAttachment;
 
         auto colorBuffer = device.CreateTexture(&descriptor);
@@ -149,10 +149,10 @@
     descriptor.size.width = dummy.width;
     descriptor.size.height = dummy.height;
     descriptor.size.depth = 1;
-    descriptor.arraySize = 1;
+    descriptor.arrayLayerCount = 1;
     descriptor.sampleCount = 1;
     descriptor.format = dummy.attachmentFormat;
-    descriptor.levelCount = 1;
+    descriptor.mipLevelCount = 1;
     descriptor.usage = dawn::TextureUsageBit::OutputAttachment;
     dummy.attachment = device.CreateTexture(&descriptor);
 
diff --git a/src/tests/unittests/wire/WireArgumentTests.cpp b/src/tests/unittests/wire/WireArgumentTests.cpp
index d1fdbf0..a459427 100644
--- a/src/tests/unittests/wire/WireArgumentTests.cpp
+++ b/src/tests/unittests/wire/WireArgumentTests.cpp
@@ -131,7 +131,7 @@
     // Create the pipeline layout
     dawnPipelineLayoutDescriptor layoutDescriptor;
     layoutDescriptor.nextInChain = nullptr;
-    layoutDescriptor.numBindGroupLayouts = 0;
+    layoutDescriptor.bindGroupLayoutCount = 0;
     layoutDescriptor.bindGroupLayouts = nullptr;
     dawnPipelineLayout layout = dawnDeviceCreatePipelineLayout(device, &layoutDescriptor);
     dawnPipelineLayout apiLayout = api.GetNewPipelineLayout();
@@ -153,7 +153,7 @@
     fragmentStage.entryPoint = "main";
     pipelineDescriptor.fragmentStage = &fragmentStage;
 
-    pipelineDescriptor.numColorStates = 1;
+    pipelineDescriptor.colorStateCount = 1;
     dawnColorStateDescriptor* colorStatesPtr[] = {&colorStateDescriptor};
     pipelineDescriptor.colorStates = colorStatesPtr;
 
@@ -288,7 +288,7 @@
 // Test that the wire is able to send structures that contain objects
 TEST_F(WireArgumentTests, StructureOfObjectArrayArgument) {
     dawnBindGroupLayoutDescriptor bglDescriptor;
-    bglDescriptor.numBindings = 0;
+    bglDescriptor.bindingCount = 0;
     bglDescriptor.bindings = nullptr;
 
     dawnBindGroupLayout bgl = dawnDeviceCreateBindGroupLayout(device, &bglDescriptor);
@@ -297,7 +297,7 @@
 
     dawnPipelineLayoutDescriptor descriptor;
     descriptor.nextInChain = nullptr;
-    descriptor.numBindGroupLayouts = 1;
+    descriptor.bindGroupLayoutCount = 1;
     descriptor.bindGroupLayouts = &bgl;
 
     dawnDeviceCreatePipelineLayout(device, &descriptor);
@@ -305,7 +305,7 @@
                          apiDevice,
                          MatchesLambda([apiBgl](const dawnPipelineLayoutDescriptor* desc) -> bool {
                              return desc->nextInChain == nullptr &&
-                                    desc->numBindGroupLayouts == 1 &&
+                                    desc->bindGroupLayoutCount == 1 &&
                                     desc->bindGroupLayouts[0] == apiBgl;
                          })))
         .WillOnce(Return(nullptr));
@@ -326,7 +326,7 @@
          DAWN_BINDING_TYPE_UNIFORM_BUFFER},
     };
     dawnBindGroupLayoutDescriptor bglDescriptor;
-    bglDescriptor.numBindings = NUM_BINDINGS;
+    bglDescriptor.bindingCount = NUM_BINDINGS;
     bglDescriptor.bindings = bindings;
 
     dawnDeviceCreateBindGroupLayout(device, &bglDescriptor);
@@ -343,7 +343,7 @@
                         return false;
                     }
                 }
-                return desc->nextInChain == nullptr && desc->numBindings == 3;
+                return desc->nextInChain == nullptr && desc->bindingCount == 3;
             })))
         .WillOnce(Return(apiBgl));
 
@@ -357,14 +357,14 @@
 
     dawnPipelineLayoutDescriptor descriptor;
     descriptor.nextInChain = nullptr;
-    descriptor.numBindGroupLayouts = 1;
+    descriptor.bindGroupLayoutCount = 1;
     descriptor.bindGroupLayouts = &nullBGL;
 
     dawnDeviceCreatePipelineLayout(device, &descriptor);
     EXPECT_CALL(api,
                 DeviceCreatePipelineLayout(
                     apiDevice, MatchesLambda([](const dawnPipelineLayoutDescriptor* desc) -> bool {
-                        return desc->nextInChain == nullptr && desc->numBindGroupLayouts == 1 &&
+                        return desc->nextInChain == nullptr && desc->bindGroupLayoutCount == 1 &&
                                desc->bindGroupLayouts[0] == nullptr;
                     })))
         .WillOnce(Return(nullptr));
diff --git a/src/tests/unittests/wire/WireOptionalTests.cpp b/src/tests/unittests/wire/WireOptionalTests.cpp
index 73803ce..14c4537 100644
--- a/src/tests/unittests/wire/WireOptionalTests.cpp
+++ b/src/tests/unittests/wire/WireOptionalTests.cpp
@@ -28,7 +28,7 @@
 TEST_F(WireOptionalTests, OptionalObjectValue) {
     dawnBindGroupLayoutDescriptor bglDesc;
     bglDesc.nextInChain = nullptr;
-    bglDesc.numBindings = 0;
+    bglDesc.bindingCount = 0;
     dawnBindGroupLayout bgl = dawnDeviceCreateBindGroupLayout(device, &bglDesc);
 
     dawnBindGroupLayout apiBindGroupLayout = api.GetNewBindGroupLayout();
@@ -45,13 +45,13 @@
     dawnBindGroupDescriptor bgDesc;
     bgDesc.nextInChain = nullptr;
     bgDesc.layout = bgl;
-    bgDesc.numBindings = 1;
+    bgDesc.bindingCount = 1;
     bgDesc.bindings = &binding;
 
     dawnDeviceCreateBindGroup(device, &bgDesc);
     EXPECT_CALL(api, DeviceCreateBindGroup(
                          apiDevice, MatchesLambda([](const dawnBindGroupDescriptor* desc) -> bool {
-                             return desc->nextInChain == nullptr && desc->numBindings == 1 &&
+                             return desc->nextInChain == nullptr && desc->bindingCount == 1 &&
                                     desc->bindings[0].binding == 0 &&
                                     desc->bindings[0].sampler == nullptr &&
                                     desc->bindings[0].buffer == nullptr &&
@@ -116,7 +116,7 @@
     // Create the pipeline layout
     dawnPipelineLayoutDescriptor layoutDescriptor;
     layoutDescriptor.nextInChain = nullptr;
-    layoutDescriptor.numBindGroupLayouts = 0;
+    layoutDescriptor.bindGroupLayoutCount = 0;
     layoutDescriptor.bindGroupLayouts = nullptr;
     dawnPipelineLayout layout = dawnDeviceCreatePipelineLayout(device, &layoutDescriptor);
     dawnPipelineLayout apiLayout = api.GetNewPipelineLayout();
@@ -138,7 +138,7 @@
     fragmentStage.entryPoint = "main";
     pipelineDescriptor.fragmentStage = &fragmentStage;
 
-    pipelineDescriptor.numColorStates = 1;
+    pipelineDescriptor.colorStateCount = 1;
     dawnColorStateDescriptor* colorStatesPtr[] = {&colorStateDescriptor};
     pipelineDescriptor.colorStates = colorStatesPtr;
 
diff --git a/src/utils/ComboRenderPipelineDescriptor.cpp b/src/utils/ComboRenderPipelineDescriptor.cpp
index 165d45b..03da2e7 100644
--- a/src/utils/ComboRenderPipelineDescriptor.cpp
+++ b/src/utils/ComboRenderPipelineDescriptor.cpp
@@ -39,7 +39,7 @@
 
         // Set defaults for the color state descriptors.
         {
-            descriptor->numColorStates = 1;
+            descriptor->colorStateCount = 1;
             descriptor->colorStates = &cColorStates[0];
 
             dawn::BlendDescriptor blend;
diff --git a/src/utils/DawnHelpers.cpp b/src/utils/DawnHelpers.cpp
index 063e39e..40c567d 100644
--- a/src/utils/DawnHelpers.cpp
+++ b/src/utils/DawnHelpers.cpp
@@ -139,10 +139,10 @@
         descriptor.size.width = width;
         descriptor.size.height = height;
         descriptor.size.depth = 1;
-        descriptor.arraySize = 1;
+        descriptor.arrayLayerCount = 1;
         descriptor.sampleCount = 1;
         descriptor.format = result.colorFormat;
-        descriptor.levelCount = 1;
+        descriptor.mipLevelCount = 1;
         descriptor.usage =
             dawn::TextureUsageBit::OutputAttachment | dawn::TextureUsageBit::TransferSrc;
         result.color = device.CreateTexture(&descriptor);
@@ -208,10 +208,10 @@
                                                  const dawn::BindGroupLayout* bindGroupLayout) {
         dawn::PipelineLayoutDescriptor descriptor;
         if (bindGroupLayout) {
-            descriptor.numBindGroupLayouts = 1;
+            descriptor.bindGroupLayoutCount = 1;
             descriptor.bindGroupLayouts = bindGroupLayout;
         } else {
-            descriptor.numBindGroupLayouts = 0;
+            descriptor.bindGroupLayoutCount = 0;
             descriptor.bindGroupLayouts = nullptr;
         }
         return device.CreatePipelineLayout(&descriptor);
@@ -230,7 +230,7 @@
         }
 
         dawn::BindGroupLayoutDescriptor descriptor;
-        descriptor.numBindings = static_cast<uint32_t>(bindings.size());
+        descriptor.bindingCount = static_cast<uint32_t>(bindings.size());
         descriptor.bindings = bindings.data();
         return device.CreateBindGroupLayout(&descriptor);
     }
@@ -276,7 +276,7 @@
 
         dawn::BindGroupDescriptor descriptor;
         descriptor.layout = layout;
-        descriptor.numBindings = bindings.size();
+        descriptor.bindingCount = bindings.size();
         descriptor.bindings = bindings.data();
 
         return device.CreateBindGroup(&descriptor);