diff --git a/dawn.json b/dawn.json
index ca5db3a..7ed7a6f 100644
--- a/dawn.json
+++ b/dawn.json
@@ -1055,7 +1055,7 @@
             {"name": "size", "type": "extent 3D"},
             {"name": "array layer", "type": "uint32_t"},
             {"name": "format", "type": "texture format"},
-            {"name": "mip level", "type": "uint32_t"}
+            {"name": "level count", "type": "uint32_t"}
         ]
     },
     "texture dimension": {
diff --git a/examples/CppHelloTriangle.cpp b/examples/CppHelloTriangle.cpp
index c9aa88c..c1a8f50 100644
--- a/examples/CppHelloTriangle.cpp
+++ b/examples/CppHelloTriangle.cpp
@@ -55,7 +55,7 @@
     descriptor.size.depth = 1;
     descriptor.arrayLayer = 1;
     descriptor.format = dawn::TextureFormat::R8G8B8A8Unorm;
-    descriptor.mipLevel = 1;
+    descriptor.levelCount = 1;
     descriptor.usage = dawn::TextureUsageBit::TransferDst | dawn::TextureUsageBit::Sampled;
     texture = device.CreateTexture(&descriptor);
 
diff --git a/examples/SampleUtils.cpp b/examples/SampleUtils.cpp
index b2edd4d..0c01964 100644
--- a/examples/SampleUtils.cpp
+++ b/examples/SampleUtils.cpp
@@ -143,7 +143,7 @@
     descriptor.size.depth = 1;
     descriptor.arrayLayer = 1;
     descriptor.format = dawn::TextureFormat::D32FloatS8Uint;
-    descriptor.mipLevel = 1;
+    descriptor.levelCount = 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 87ca15f..5bbf838 100644
--- a/examples/glTFViewer/glTFViewer.cpp
+++ b/examples/glTFViewer/glTFViewer.cpp
@@ -389,7 +389,7 @@
             descriptor.size.depth = 1;
             descriptor.arrayLayer = 1;
             descriptor.format = format;
-            descriptor.mipLevel = 1;
+            descriptor.levelCount = 1;
             descriptor.usage = dawn::TextureUsageBit::TransferDst | dawn::TextureUsageBit::Sampled;
             auto oTexture = device.CreateTexture(&descriptor);
                 // TODO: release this texture
diff --git a/src/dawn_native/SwapChain.cpp b/src/dawn_native/SwapChain.cpp
index 4323455..6314a0d 100644
--- a/src/dawn_native/SwapChain.cpp
+++ b/src/dawn_native/SwapChain.cpp
@@ -62,7 +62,7 @@
         descriptor.size.depth = 1;
         descriptor.arrayLayer = 1;
         descriptor.format = mFormat;
-        descriptor.mipLevel = 1;
+        descriptor.levelCount = 1;
         descriptor.usage = mAllowedUsage;
 
         auto* texture = GetNextTextureImpl(&descriptor);
diff --git a/src/dawn_native/Texture.cpp b/src/dawn_native/Texture.cpp
index 23ceb75..a32893d 100644
--- a/src/dawn_native/Texture.cpp
+++ b/src/dawn_native/Texture.cpp
@@ -117,7 +117,7 @@
         // 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->arrayLayer == 0 ||
-            descriptor->mipLevel == 0) {
+            descriptor->levelCount == 0) {
             return DAWN_VALIDATION_ERROR("Cannot create an empty texture");
         }
 
@@ -209,7 +209,7 @@
           mFormat(descriptor->format),
           mSize(descriptor->size),
           mArrayLayers(descriptor->arrayLayer),
-          mNumMipLevels(descriptor->mipLevel),
+          mNumMipLevels(descriptor->levelCount),
           mUsage(descriptor->usage) {
     }
 
diff --git a/src/tests/end2end/BlendStateTests.cpp b/src/tests/end2end/BlendStateTests.cpp
index c18bc30..1e38597 100644
--- a/src/tests/end2end/BlendStateTests.cpp
+++ b/src/tests/end2end/BlendStateTests.cpp
@@ -722,7 +722,7 @@
     descriptor.size.depth = 1;
     descriptor.arrayLayer = 1;
     descriptor.format = dawn::TextureFormat::R8G8B8A8Unorm;
-    descriptor.mipLevel = 1;
+    descriptor.levelCount = 1;
     descriptor.usage = dawn::TextureUsageBit::OutputAttachment | dawn::TextureUsageBit::TransferSrc;
 
     for (uint32_t i = 0; i < 4; ++i) {
diff --git a/src/tests/end2end/CopyTests.cpp b/src/tests/end2end/CopyTests.cpp
index f0a1db1..0c04a04 100644
--- a/src/tests/end2end/CopyTests.cpp
+++ b/src/tests/end2end/CopyTests.cpp
@@ -80,7 +80,7 @@
             descriptor.size.depth = 1;
             descriptor.arrayLayer = textureSpec.arrayLayer;
             descriptor.format = dawn::TextureFormat::R8G8B8A8Unorm;
-            descriptor.mipLevel = textureSpec.level + 1;
+            descriptor.levelCount = textureSpec.level + 1;
             descriptor.usage = dawn::TextureUsageBit::TransferDst | dawn::TextureUsageBit::TransferSrc;
             dawn::Texture texture = device.CreateTexture(&descriptor);
 
@@ -180,7 +180,7 @@
         descriptor.size.depth = 1;
         descriptor.arrayLayer = 1;
         descriptor.format = dawn::TextureFormat::R8G8B8A8Unorm;
-        descriptor.mipLevel = textureSpec.level + 1;
+        descriptor.levelCount = 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 475c77e..0fe628e 100644
--- a/src/tests/end2end/DepthStencilStateTests.cpp
+++ b/src/tests/end2end/DepthStencilStateTests.cpp
@@ -31,7 +31,7 @@
             renderTargetDescriptor.size.depth = 1;
             renderTargetDescriptor.arrayLayer = 1;
             renderTargetDescriptor.format = dawn::TextureFormat::R8G8B8A8Unorm;
-            renderTargetDescriptor.mipLevel = 1;
+            renderTargetDescriptor.levelCount = 1;
             renderTargetDescriptor.usage = dawn::TextureUsageBit::OutputAttachment | dawn::TextureUsageBit::TransferSrc;
             renderTarget = device.CreateTexture(&renderTargetDescriptor);
 
@@ -44,7 +44,7 @@
             depthDescriptor.size.depth = 1;
             depthDescriptor.arrayLayer = 1;
             depthDescriptor.format = dawn::TextureFormat::D32FloatS8Uint;
-            depthDescriptor.mipLevel = 1;
+            depthDescriptor.levelCount = 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 ceea243..0c8cee3 100644
--- a/src/tests/end2end/RenderPassLoadOpTests.cpp
+++ b/src/tests/end2end/RenderPassLoadOpTests.cpp
@@ -62,7 +62,7 @@
             descriptor.size.depth = 1;
             descriptor.arrayLayer = 1;
             descriptor.format = dawn::TextureFormat::R8G8B8A8Unorm;
-            descriptor.mipLevel = 1;
+            descriptor.levelCount = 1;
             descriptor.usage = dawn::TextureUsageBit::OutputAttachment | dawn::TextureUsageBit::TransferSrc;
             renderTarget = device.CreateTexture(&descriptor);
 
diff --git a/src/tests/end2end/SamplerTests.cpp b/src/tests/end2end/SamplerTests.cpp
index 3f4a4be..36c24bd 100644
--- a/src/tests/end2end/SamplerTests.cpp
+++ b/src/tests/end2end/SamplerTests.cpp
@@ -87,7 +87,7 @@
         descriptor.size.depth = 1;
         descriptor.arrayLayer = 1;
         descriptor.format = dawn::TextureFormat::R8G8B8A8Unorm;
-        descriptor.mipLevel = 1;
+        descriptor.levelCount = 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 f3fdcae..0c839fb 100644
--- a/src/tests/end2end/TextureViewTests.cpp
+++ b/src/tests/end2end/TextureViewTests.cpp
@@ -82,7 +82,7 @@
         descriptor.size.depth = 1;
         descriptor.arrayLayer = layerCount;
         descriptor.format = kFormat;
-        descriptor.mipLevel = levelCount;
+        descriptor.levelCount = levelCount;
         descriptor.usage = dawn::TextureUsageBit::TransferDst | dawn::TextureUsageBit::Sampled;
         mTexture = device.CreateTexture(&descriptor);
 
diff --git a/src/tests/unittests/validation/CopyCommandsValidationTests.cpp b/src/tests/unittests/validation/CopyCommandsValidationTests.cpp
index e6da28d..4789b02 100644
--- a/src/tests/unittests/validation/CopyCommandsValidationTests.cpp
+++ b/src/tests/unittests/validation/CopyCommandsValidationTests.cpp
@@ -35,7 +35,7 @@
             descriptor.size.depth = 1;
             descriptor.arrayLayer = arrayLayer;
             descriptor.format = format;
-            descriptor.mipLevel = levels;
+            descriptor.levelCount = levels;
             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 3672734..63be562 100644
--- a/src/tests/unittests/validation/RenderPassDescriptorValidationTests.cpp
+++ b/src/tests/unittests/validation/RenderPassDescriptorValidationTests.cpp
@@ -29,7 +29,7 @@
     descriptor.size.depth = 1;
     descriptor.arrayLayer = 1;
     descriptor.format = format;
-    descriptor.mipLevel = 1;
+    descriptor.levelCount = 1;
     descriptor.usage = dawn::TextureUsageBit::OutputAttachment;
     dawn::Texture attachment = device.CreateTexture(&descriptor);
 
diff --git a/src/tests/unittests/validation/TextureViewValidationTests.cpp b/src/tests/unittests/validation/TextureViewValidationTests.cpp
index 8d2604e..24d7a4b 100644
--- a/src/tests/unittests/validation/TextureViewValidationTests.cpp
+++ b/src/tests/unittests/validation/TextureViewValidationTests.cpp
@@ -35,7 +35,7 @@
     descriptor.size.depth = 1;
     descriptor.arrayLayer = arrayLayers;
     descriptor.format = format;
-    descriptor.mipLevel = kDefaultMipLevels;
+    descriptor.levelCount = kDefaultMipLevels;
     descriptor.usage = dawn::TextureUsageBit::Sampled;
     return device.CreateTexture(&descriptor);
 }
diff --git a/src/tests/unittests/validation/ValidationTest.cpp b/src/tests/unittests/validation/ValidationTest.cpp
index cc2279f..a5af880 100644
--- a/src/tests/unittests/validation/ValidationTest.cpp
+++ b/src/tests/unittests/validation/ValidationTest.cpp
@@ -81,7 +81,7 @@
         descriptor.size.depth = 1;
         descriptor.arrayLayer = 1;
         descriptor.format = dawn::TextureFormat::R8G8B8A8Unorm;
-        descriptor.mipLevel = 1;
+        descriptor.levelCount = 1;
         descriptor.usage = dawn::TextureUsageBit::OutputAttachment;
 
         auto colorBuffer = device.CreateTexture(&descriptor);
@@ -134,7 +134,7 @@
     descriptor.size.depth = 1;
     descriptor.arrayLayer = 1;
     descriptor.format = dummy.attachmentFormat;
-    descriptor.mipLevel = 1;
+    descriptor.levelCount = 1;
     descriptor.usage = dawn::TextureUsageBit::OutputAttachment;
     dummy.attachment = device.CreateTexture(&descriptor);
 
diff --git a/src/utils/DawnHelpers.cpp b/src/utils/DawnHelpers.cpp
index 0a55942..97e1c80 100644
--- a/src/utils/DawnHelpers.cpp
+++ b/src/utils/DawnHelpers.cpp
@@ -140,7 +140,7 @@
         descriptor.size.depth = 1;
         descriptor.arrayLayer = 1;
         descriptor.format = result.colorFormat;
-        descriptor.mipLevel = 1;
+        descriptor.levelCount = 1;
         descriptor.usage =
             dawn::TextureUsageBit::OutputAttachment | dawn::TextureUsageBit::TransferSrc;
         result.color = device.CreateTexture(&descriptor);
