Remove Texture::createDefaultView

https://github.com/gpuweb/gpuweb/pull/389

Bug: dawn:214
Change-Id: I86b8c46c71c3e5b9622ab3656124b312d3e85a7a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/10420
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
diff --git a/src/dawn_native/Texture.cpp b/src/dawn_native/Texture.cpp
index 96cfde5..107cb3b 100644
--- a/src/dawn_native/Texture.cpp
+++ b/src/dawn_native/Texture.cpp
@@ -453,16 +453,6 @@
         return extent;
     }
 
-    TextureViewBase* TextureBase::CreateDefaultView() {
-        TextureViewDescriptor descriptor = {};
-
-        if (!IsError()) {
-            descriptor = GetTextureViewDescriptorWithDefaults(this, nullptr);
-        }
-
-        return GetDevice()->CreateTextureView(this, &descriptor);
-    }
-
     TextureViewBase* TextureBase::CreateView(const TextureViewDescriptor* descriptor) {
         return GetDevice()->CreateTextureView(this, descriptor);
     }
diff --git a/src/dawn_native/Texture.h b/src/dawn_native/Texture.h
index a913b8d..6e26f99 100644
--- a/src/dawn_native/Texture.h
+++ b/src/dawn_native/Texture.h
@@ -80,7 +80,6 @@
         Extent3D GetMipLevelVirtualSize(uint32_t level) const;
 
         // Dawn API
-        TextureViewBase* CreateDefaultView();
         TextureViewBase* CreateView(const TextureViewDescriptor* descriptor);
         void Destroy();
 
diff --git a/src/tests/end2end/BindGroupTests.cpp b/src/tests/end2end/BindGroupTests.cpp
index c075c56..06ad5f5 100644
--- a/src/tests/end2end/BindGroupTests.cpp
+++ b/src/tests/end2end/BindGroupTests.cpp
@@ -246,7 +246,7 @@
     descriptor.mipLevelCount = 1;
     descriptor.usage = dawn::TextureUsage::CopyDst | dawn::TextureUsage::Sampled;
     dawn::Texture texture = device.CreateTexture(&descriptor);
-    dawn::TextureView textureView = texture.CreateDefaultView();
+    dawn::TextureView textureView = texture.CreateView();
 
     int width = kRTSize, height = kRTSize;
     int widthInBytes = width * sizeof(RGBA8);
diff --git a/src/tests/end2end/ClipSpaceTests.cpp b/src/tests/end2end/ClipSpaceTests.cpp
index a7b0561..8d65310 100644
--- a/src/tests/end2end/ClipSpaceTests.cpp
+++ b/src/tests/end2end/ClipSpaceTests.cpp
@@ -76,8 +76,8 @@
     dawn::Texture depthStencilTexture =
         Create2DTextureForTest(dawn::TextureFormat::Depth24PlusStencil8);
 
-    utils::ComboRenderPassDescriptor renderPassDescriptor(
-        {colorTexture.CreateDefaultView()}, depthStencilTexture.CreateDefaultView());
+    utils::ComboRenderPassDescriptor renderPassDescriptor({colorTexture.CreateView()},
+                                                          depthStencilTexture.CreateView());
     renderPassDescriptor.cColorAttachmentsInfoPtr[0]->clearColor = {0.0, 1.0, 0.0, 1.0};
     renderPassDescriptor.cColorAttachmentsInfoPtr[0]->loadOp = dawn::LoadOp::Clear;
 
diff --git a/src/tests/end2end/ColorStateTests.cpp b/src/tests/end2end/ColorStateTests.cpp
index 067bdf6..ae22b78 100644
--- a/src/tests/end2end/ColorStateTests.cpp
+++ b/src/tests/end2end/ColorStateTests.cpp
@@ -766,7 +766,7 @@
 
     for (uint32_t i = 0; i < 4; ++i) {
         renderTargets[i] = device.CreateTexture(&descriptor);
-        renderTargetViews[i] = renderTargets[i].CreateDefaultView();
+        renderTargetViews[i] = renderTargets[i].CreateView();
     }
 
     utils::ComboRenderPassDescriptor renderPass({renderTargetViews[0], renderTargetViews[1],
diff --git a/src/tests/end2end/CullingTests.cpp b/src/tests/end2end/CullingTests.cpp
index 65fc688..de919ef 100644
--- a/src/tests/end2end/CullingTests.cpp
+++ b/src/tests/end2end/CullingTests.cpp
@@ -77,7 +77,7 @@
                 bool isCWTriangleCulled) {
         dawn::Texture colorTexture = Create2DTextureForTest(dawn::TextureFormat::RGBA8Unorm);
 
-        utils::ComboRenderPassDescriptor renderPassDescriptor({colorTexture.CreateDefaultView()});
+        utils::ComboRenderPassDescriptor renderPassDescriptor({colorTexture.CreateView()});
         renderPassDescriptor.cColorAttachmentsInfoPtr[0]->clearColor = {0.0, 0.0, 1.0, 1.0};
         renderPassDescriptor.cColorAttachmentsInfoPtr[0]->loadOp = dawn::LoadOp::Clear;
 
diff --git a/src/tests/end2end/DepthStencilStateTests.cpp b/src/tests/end2end/DepthStencilStateTests.cpp
index 27b5049..8e5c4fa 100644
--- a/src/tests/end2end/DepthStencilStateTests.cpp
+++ b/src/tests/end2end/DepthStencilStateTests.cpp
@@ -38,7 +38,7 @@
                 dawn::TextureUsage::OutputAttachment | dawn::TextureUsage::CopySrc;
             renderTarget = device.CreateTexture(&renderTargetDescriptor);
 
-            renderTargetView = renderTarget.CreateDefaultView();
+            renderTargetView = renderTarget.CreateView();
 
             dawn::TextureDescriptor depthDescriptor;
             depthDescriptor.dimension = dawn::TextureDimension::e2D;
@@ -52,7 +52,7 @@
             depthDescriptor.usage = dawn::TextureUsage::OutputAttachment;
             depthTexture = device.CreateTexture(&depthDescriptor);
 
-            depthTextureView = depthTexture.CreateDefaultView();
+            depthTextureView = depthTexture.CreateView();
 
             vsModule = utils::CreateShaderModule(device, utils::SingleShaderStage::Vertex, R"(
                 #version 450
diff --git a/src/tests/end2end/IOSurfaceWrappingTests.cpp b/src/tests/end2end/IOSurfaceWrappingTests.cpp
index 42ad625..a0de620 100644
--- a/src/tests/end2end/IOSurfaceWrappingTests.cpp
+++ b/src/tests/end2end/IOSurfaceWrappingTests.cpp
@@ -251,7 +251,7 @@
             textureDescriptor.usage = dawn::TextureUsage::Sampled;
             dawn::Texture wrappingTexture = WrapIOSurface(&textureDescriptor, ioSurface, 0);
 
-            dawn::TextureView textureView = wrappingTexture.CreateDefaultView();
+            dawn::TextureView textureView = wrappingTexture.CreateView();
 
             dawn::SamplerDescriptor samplerDescriptor = utils::GetDefaultSamplerDescriptor();
             dawn::Sampler sampler = device.CreateSampler(&samplerDescriptor);
@@ -344,7 +344,7 @@
         textureDescriptor.usage = dawn::TextureUsage::OutputAttachment;
         dawn::Texture ioSurfaceTexture = WrapIOSurface(&textureDescriptor, ioSurface, 0);
 
-        dawn::TextureView ioSurfaceView = ioSurfaceTexture.CreateDefaultView();
+        dawn::TextureView ioSurfaceView = ioSurfaceTexture.CreateView();
 
         utils::ComboRenderPassDescriptor renderPassDescriptor({ioSurfaceView}, {});
         renderPassDescriptor.cColorAttachmentsInfoPtr[0]->clearColor = {1 / 255.0f, 2 / 255.0f,
diff --git a/src/tests/end2end/MultisampledRenderingTests.cpp b/src/tests/end2end/MultisampledRenderingTests.cpp
index 3a0e306..038a773 100644
--- a/src/tests/end2end/MultisampledRenderingTests.cpp
+++ b/src/tests/end2end/MultisampledRenderingTests.cpp
@@ -28,12 +28,12 @@
 
     void InitTexturesForTest() {
         mMultisampledColorView =
-            CreateTextureForOutputAttachment(kColorFormat, kSampleCount).CreateDefaultView();
+            CreateTextureForOutputAttachment(kColorFormat, kSampleCount).CreateView();
         mResolveTexture = CreateTextureForOutputAttachment(kColorFormat, 1);
-        mResolveView = mResolveTexture.CreateDefaultView();
+        mResolveView = mResolveTexture.CreateView();
 
         mDepthStencilTexture = CreateTextureForOutputAttachment(kDepthStencilFormat, kSampleCount);
-        mDepthStencilView = mDepthStencilTexture.CreateDefaultView();
+        mDepthStencilView = mDepthStencilTexture.CreateView();
     }
 
     dawn::RenderPipeline CreateRenderPipelineWithOneOutputForTest(bool testDepth) {
@@ -340,9 +340,9 @@
 // Test doing MSAA resolve into multiple resolve targets works correctly.
 TEST_P(MultisampledRenderingTest, ResolveIntoMultipleResolveTargets) {
     dawn::TextureView multisampledColorView2 =
-        CreateTextureForOutputAttachment(kColorFormat, kSampleCount).CreateDefaultView();
+        CreateTextureForOutputAttachment(kColorFormat, kSampleCount).CreateView();
     dawn::Texture resolveTexture2 = CreateTextureForOutputAttachment(kColorFormat, 1);
-    dawn::TextureView resolveView2 = resolveTexture2.CreateDefaultView();
+    dawn::TextureView resolveView2 = resolveTexture2.CreateView();
 
     dawn::CommandEncoder commandEncoder = device.CreateCommandEncoder();
     dawn::RenderPipeline pipeline = CreateRenderPipelineWithTwoOutputsForTest();
@@ -394,7 +394,7 @@
 
     // In second render pass we do MSAA resolve into resolveTexture2.
     {
-        dawn::TextureView resolveView2 = resolveTexture2.CreateDefaultView();
+        dawn::TextureView resolveView2 = resolveTexture2.CreateView();
         utils::ComboRenderPassDescriptor renderPass = CreateComboRenderPassDescriptorForTest(
             {mMultisampledColorView}, {resolveView2}, dawn::LoadOp::Load, dawn::LoadOp::Load,
             kTestDepth);
@@ -452,7 +452,7 @@
 // Test using a level or a layer of a 2D array texture as resolve target works correctly.
 TEST_P(MultisampledRenderingTest, ResolveInto2DArrayTexture) {
     dawn::TextureView multisampledColorView2 =
-        CreateTextureForOutputAttachment(kColorFormat, kSampleCount).CreateDefaultView();
+        CreateTextureForOutputAttachment(kColorFormat, kSampleCount).CreateView();
 
     dawn::TextureViewDescriptor baseTextureViewDescriptor;
     baseTextureViewDescriptor.dimension = dawn::TextureViewDimension::e2D;
diff --git a/src/tests/end2end/RenderPassLoadOpTests.cpp b/src/tests/end2end/RenderPassLoadOpTests.cpp
index c91958d..ded49d1 100644
--- a/src/tests/end2end/RenderPassLoadOpTests.cpp
+++ b/src/tests/end2end/RenderPassLoadOpTests.cpp
@@ -71,7 +71,7 @@
             descriptor.usage = dawn::TextureUsage::OutputAttachment | dawn::TextureUsage::CopySrc;
             renderTarget = device.CreateTexture(&descriptor);
 
-            renderTargetView = renderTarget.CreateDefaultView();
+            renderTargetView = renderTarget.CreateView();
 
             RGBA8 zero(0, 0, 0, 0);
             std::fill(expectZero.begin(), expectZero.end(), zero);
diff --git a/src/tests/end2end/RenderPassTests.cpp b/src/tests/end2end/RenderPassTests.cpp
index d876a1b..49b4ed2 100644
--- a/src/tests/end2end/RenderPassTests.cpp
+++ b/src/tests/end2end/RenderPassTests.cpp
@@ -88,7 +88,7 @@
     {
         // In the first render pass we clear renderTarget1 to red and draw a blue triangle in the
         // bottom left of renderTarget1.
-        utils::ComboRenderPassDescriptor renderPass({renderTarget1.CreateDefaultView()});
+        utils::ComboRenderPassDescriptor renderPass({renderTarget1.CreateView()});
         renderPass.cColorAttachmentsInfoPtr[0]->clearColor = {1.0f, 0.0f, 0.0f, 1.0f};
 
         dawn::RenderPassEncoder pass = encoder.BeginRenderPass(&renderPass);
@@ -100,7 +100,7 @@
     {
         // In the second render pass we clear renderTarget2 to green and draw a blue triangle in the
         // bottom left of renderTarget2.
-        utils::ComboRenderPassDescriptor renderPass({renderTarget2.CreateDefaultView()});
+        utils::ComboRenderPassDescriptor renderPass({renderTarget2.CreateView()});
         renderPass.cColorAttachmentsInfoPtr[0]->clearColor = {0.0f, 1.0f, 0.0f, 1.0f};
 
         dawn::RenderPassEncoder pass = encoder.BeginRenderPass(&renderPass);
diff --git a/src/tests/end2end/SamplerTests.cpp b/src/tests/end2end/SamplerTests.cpp
index 02892f5..c311343 100644
--- a/src/tests/end2end/SamplerTests.cpp
+++ b/src/tests/end2end/SamplerTests.cpp
@@ -114,7 +114,7 @@
         dawn::CommandBuffer copy = encoder.Finish();
         queue.Submit(1, &copy);
 
-        mTextureView = texture.CreateDefaultView();
+        mTextureView = texture.CreateView();
     }
 
     void TestAddressModes(AddressModeTestCase u, AddressModeTestCase v, AddressModeTestCase w) {
diff --git a/src/tests/end2end/TextureFormatTests.cpp b/src/tests/end2end/TextureFormatTests.cpp
index 1a59682..040e71af 100644
--- a/src/tests/end2end/TextureFormatTests.cpp
+++ b/src/tests/end2end/TextureFormatTests.cpp
@@ -280,8 +280,8 @@
             CreateSamplePipeline(sampleFormatInfo, renderFormatInfo, bgl);
         dawn::SamplerDescriptor samplerDesc = utils::GetDefaultSamplerDescriptor();
         dawn::Sampler sampler = device.CreateSampler(&samplerDesc);
-        dawn::BindGroup bindGroup = utils::MakeBindGroup(
-            device, bgl, {{0, sampler}, {1, sampleTexture.CreateDefaultView()}});
+        dawn::BindGroup bindGroup =
+            utils::MakeBindGroup(device, bgl, {{0, sampler}, {1, sampleTexture.CreateView()}});
 
         // Encode commands for the test that fill texture, sample it to render to renderTarget then
         // copy renderTarget in a buffer so we can read it easily.
@@ -295,7 +295,7 @@
             encoder.CopyBufferToTexture(&bufferView, &textureView, &extent);
         }
 
-        utils::ComboRenderPassDescriptor renderPassDesc({renderTarget.CreateDefaultView()});
+        utils::ComboRenderPassDescriptor renderPassDesc({renderTarget.CreateView()});
         dawn::RenderPassEncoder renderPass = encoder.BeginRenderPass(&renderPassDesc);
         renderPass.SetPipeline(pipeline);
         renderPass.SetBindGroup(0, bindGroup, 0, nullptr);
diff --git a/src/tests/end2end/TextureViewTests.cpp b/src/tests/end2end/TextureViewTests.cpp
index 3e22dcc..542801d 100644
--- a/src/tests/end2end/TextureViewTests.cpp
+++ b/src/tests/end2end/TextureViewTests.cpp
@@ -357,7 +357,7 @@
     constexpr uint32_t kMipLevels = 1;
     initTexture(kLayers, kMipLevels);
 
-    dawn::TextureView textureView = mTexture.CreateDefaultView();
+    dawn::TextureView textureView = mTexture.CreateView();
 
     const char* fragmentShader = R"(
             #version 450
diff --git a/src/tests/end2end/TextureZeroInitTests.cpp b/src/tests/end2end/TextureZeroInitTests.cpp
index 2094337..290c8f4 100644
--- a/src/tests/end2end/TextureZeroInitTests.cpp
+++ b/src/tests/end2end/TextureZeroInitTests.cpp
@@ -312,8 +312,8 @@
         kDepthStencilFormat);
     dawn::Texture depthStencilTexture = device.CreateTexture(&depthStencilDescriptor);
 
-    utils::ComboRenderPassDescriptor renderPassDescriptor({srcTexture.CreateDefaultView()},
-                                                          depthStencilTexture.CreateDefaultView());
+    utils::ComboRenderPassDescriptor renderPassDescriptor({srcTexture.CreateView()},
+                                                          depthStencilTexture.CreateView());
     renderPassDescriptor.cDepthStencilAttachmentInfo.depthLoadOp = dawn::LoadOp::Load;
     renderPassDescriptor.cDepthStencilAttachmentInfo.stencilLoadOp = dawn::LoadOp::Clear;
     renderPassDescriptor.cDepthStencilAttachmentInfo.clearStencil = 0;
@@ -347,8 +347,8 @@
         kDepthStencilFormat);
     dawn::Texture depthStencilTexture = device.CreateTexture(&depthStencilDescriptor);
 
-    utils::ComboRenderPassDescriptor renderPassDescriptor({srcTexture.CreateDefaultView()},
-                                                          depthStencilTexture.CreateDefaultView());
+    utils::ComboRenderPassDescriptor renderPassDescriptor({srcTexture.CreateView()},
+                                                          depthStencilTexture.CreateView());
     renderPassDescriptor.cDepthStencilAttachmentInfo.depthLoadOp = dawn::LoadOp::Clear;
     renderPassDescriptor.cDepthStencilAttachmentInfo.clearDepth = 0.0f;
     renderPassDescriptor.cDepthStencilAttachmentInfo.stencilLoadOp = dawn::LoadOp::Load;
@@ -382,8 +382,8 @@
         kDepthStencilFormat);
     dawn::Texture depthStencilTexture = device.CreateTexture(&depthStencilDescriptor);
 
-    utils::ComboRenderPassDescriptor renderPassDescriptor({srcTexture.CreateDefaultView()},
-                                                          depthStencilTexture.CreateDefaultView());
+    utils::ComboRenderPassDescriptor renderPassDescriptor({srcTexture.CreateView()},
+                                                          depthStencilTexture.CreateView());
     renderPassDescriptor.cDepthStencilAttachmentInfo.depthLoadOp = dawn::LoadOp::Load;
     renderPassDescriptor.cDepthStencilAttachmentInfo.stencilLoadOp = dawn::LoadOp::Load;
 
@@ -467,12 +467,12 @@
     dawn::RenderPipeline renderPipeline = device.CreateRenderPipeline(&renderPipelineDescriptor);
 
     // Create bindgroup
-    dawn::BindGroup bindGroup = utils::MakeBindGroup(
-        device, bindGroupLayout, {{0, sampler}, {1, texture.CreateDefaultView()}});
+    dawn::BindGroup bindGroup =
+        utils::MakeBindGroup(device, bindGroupLayout, {{0, sampler}, {1, texture.CreateView()}});
 
     // Encode pass and submit
     dawn::CommandEncoder encoder = device.CreateCommandEncoder();
-    utils::ComboRenderPassDescriptor renderPassDesc({renderTexture.CreateDefaultView()});
+    utils::ComboRenderPassDescriptor renderPassDesc({renderTexture.CreateView()});
     renderPassDesc.cColorAttachmentsInfoPtr[0]->clearColor = {1.0, 1.0, 1.0, 1.0};
     renderPassDesc.cColorAttachmentsInfoPtr[0]->loadOp = dawn::LoadOp::Clear;
     dawn::RenderPassEncoder pass = encoder.BeginRenderPass(&renderPassDesc);
@@ -540,7 +540,7 @@
     // Create bindgroup
     dawn::BindGroup bindGroup = utils::MakeBindGroup(
         device, bindGroupLayout,
-        {{0, texture.CreateDefaultView()}, {1, bufferTex, 0, bufferSize}, {2, sampler}});
+        {{0, texture.CreateView()}, {1, bufferTex, 0, bufferSize}, {2, sampler}});
 
     // Encode the pass and submit
     dawn::CommandEncoder encoder = device.CreateCommandEncoder();
diff --git a/src/tests/end2end/ViewportTests.cpp b/src/tests/end2end/ViewportTests.cpp
index c9522c3..782dcb4 100644
--- a/src/tests/end2end/ViewportTests.cpp
+++ b/src/tests/end2end/ViewportTests.cpp
@@ -112,7 +112,7 @@
         // Note that we may explicitly call SetViewport() in this pass
         {
             utils::ComboRenderPassDescriptor renderPassDescriptor1(
-                {colorTexture1.CreateDefaultView()}, depthStencilTexture1.CreateDefaultView());
+                {colorTexture1.CreateView()}, depthStencilTexture1.CreateView());
             renderPassDescriptor1.cColorAttachmentsInfoPtr[0]->clearColor = {0.0, 0.0, 1.0, 1.0};
             renderPassDescriptor1.cColorAttachmentsInfoPtr[0]->loadOp = dawn::LoadOp::Clear;
 
@@ -137,7 +137,7 @@
         // (0, 0, rendertarget's width, rendertarget's height, 0.0, 1.0) by default.
         {
             utils::ComboRenderPassDescriptor renderPassDescriptor2(
-                {colorTexture2.CreateDefaultView()}, depthStencilTexture2.CreateDefaultView());
+                {colorTexture2.CreateView()}, depthStencilTexture2.CreateView());
             renderPassDescriptor2.cColorAttachmentsInfoPtr[0]->clearColor = {0.0, 0.0, 1.0, 1.0};
             renderPassDescriptor2.cColorAttachmentsInfoPtr[0]->loadOp = dawn::LoadOp::Clear;
 
diff --git a/src/tests/unittests/validation/BindGroupValidationTests.cpp b/src/tests/unittests/validation/BindGroupValidationTests.cpp
index de8d93e..c93b55b 100644
--- a/src/tests/unittests/validation/BindGroupValidationTests.cpp
+++ b/src/tests/unittests/validation/BindGroupValidationTests.cpp
@@ -48,7 +48,7 @@
             descriptor.mipLevelCount = 1;
             descriptor.usage = dawn::TextureUsage::Sampled;
             mSampledTexture = device.CreateTexture(&descriptor);
-            mSampledTextureView = mSampledTexture.CreateDefaultView();
+            mSampledTextureView = mSampledTexture.CreateView();
         }
     }
 
@@ -295,7 +295,7 @@
     descriptor.mipLevelCount = 1;
     descriptor.usage = dawn::TextureUsage::OutputAttachment;
     dawn::Texture outputTexture = device.CreateTexture(&descriptor);
-    dawn::TextureView outputTextureView = outputTexture.CreateDefaultView();
+    dawn::TextureView outputTextureView = outputTexture.CreateView();
     ASSERT_DEVICE_ERROR(utils::MakeBindGroup(device, layout, {{0, outputTextureView}}));
 }
 
@@ -318,7 +318,7 @@
     descriptor.mipLevelCount = 1;
     descriptor.usage = dawn::TextureUsage::Sampled;
     dawn::Texture uintTexture = device.CreateTexture(&descriptor);
-    dawn::TextureView uintTextureView = uintTexture.CreateDefaultView();
+    dawn::TextureView uintTextureView = uintTexture.CreateView();
 
     ASSERT_DEVICE_ERROR(utils::MakeBindGroup(device, layout, {{0, uintTextureView}}));
 }
diff --git a/src/tests/unittests/validation/CommandBufferValidationTests.cpp b/src/tests/unittests/validation/CommandBufferValidationTests.cpp
index f256024..45d32da 100644
--- a/src/tests/unittests/validation/CommandBufferValidationTests.cpp
+++ b/src/tests/unittests/validation/CommandBufferValidationTests.cpp
@@ -236,7 +236,7 @@
     textureDescriptor.sampleCount = 1;
     textureDescriptor.mipLevelCount = 1;
     dawn::Texture texture = device.CreateTexture(&textureDescriptor);
-    dawn::TextureView view = texture.CreateDefaultView();
+    dawn::TextureView view = texture.CreateView();
 
     // Create the bind group to use the texture as sampled
     dawn::BindGroupLayout bgl = utils::MakeBindGroupLayout(
diff --git a/src/tests/unittests/validation/RenderBundleValidationTests.cpp b/src/tests/unittests/validation/RenderBundleValidationTests.cpp
index a65502d..2baf2f1 100644
--- a/src/tests/unittests/validation/RenderBundleValidationTests.cpp
+++ b/src/tests/unittests/validation/RenderBundleValidationTests.cpp
@@ -857,9 +857,9 @@
     // Test the success case
     {
         utils::ComboRenderPassDescriptor renderPass({
-            tex0.CreateDefaultView(),
-            tex1.CreateDefaultView(),
-            tex2.CreateDefaultView(),
+            tex0.CreateView(),
+            tex1.CreateView(),
+            tex2.CreateView(),
         });
 
         dawn::CommandEncoder commandEncoder = device.CreateCommandEncoder();
@@ -872,9 +872,9 @@
     // Test the failure case for mismatched format
     {
         utils::ComboRenderPassDescriptor renderPass({
-            tex0.CreateDefaultView(),
-            tex1.CreateDefaultView(),
-            tex0.CreateDefaultView(),
+            tex0.CreateView(),
+            tex1.CreateView(),
+            tex0.CreateView(),
         });
 
         dawn::CommandEncoder commandEncoder = device.CreateCommandEncoder();
@@ -887,8 +887,8 @@
     // Test the failure case for missing format
     {
         utils::ComboRenderPassDescriptor renderPass({
-            tex0.CreateDefaultView(),
-            tex1.CreateDefaultView(),
+            tex0.CreateView(),
+            tex1.CreateView(),
         });
 
         dawn::CommandEncoder commandEncoder = device.CreateCommandEncoder();
@@ -927,8 +927,7 @@
 
     // Test the success case
     {
-        utils::ComboRenderPassDescriptor renderPass({tex0.CreateDefaultView()},
-                                                    tex1.CreateDefaultView());
+        utils::ComboRenderPassDescriptor renderPass({tex0.CreateView()}, tex1.CreateView());
 
         dawn::CommandEncoder commandEncoder = device.CreateCommandEncoder();
         dawn::RenderPassEncoder pass = commandEncoder.BeginRenderPass(&renderPass);
@@ -939,8 +938,7 @@
 
     // Test the failure case for mismatched format
     {
-        utils::ComboRenderPassDescriptor renderPass({tex0.CreateDefaultView()},
-                                                    tex2.CreateDefaultView());
+        utils::ComboRenderPassDescriptor renderPass({tex0.CreateView()}, tex2.CreateView());
 
         dawn::CommandEncoder commandEncoder = device.CreateCommandEncoder();
         dawn::RenderPassEncoder pass = commandEncoder.BeginRenderPass(&renderPass);
@@ -951,7 +949,7 @@
 
     // Test the failure case for missing format
     {
-        utils::ComboRenderPassDescriptor renderPass({tex0.CreateDefaultView()});
+        utils::ComboRenderPassDescriptor renderPass({tex0.CreateView()});
 
         dawn::CommandEncoder commandEncoder = device.CreateCommandEncoder();
         dawn::RenderPassEncoder pass = commandEncoder.BeginRenderPass(&renderPass);
@@ -983,7 +981,7 @@
 
     // Test the success case
     {
-        utils::ComboRenderPassDescriptor renderPass({tex0.CreateDefaultView()});
+        utils::ComboRenderPassDescriptor renderPass({tex0.CreateView()});
 
         dawn::CommandEncoder commandEncoder = device.CreateCommandEncoder();
         dawn::RenderPassEncoder pass = commandEncoder.BeginRenderPass(&renderPass);
@@ -994,7 +992,7 @@
 
     // Test the failure case
     {
-        utils::ComboRenderPassDescriptor renderPass({tex1.CreateDefaultView()});
+        utils::ComboRenderPassDescriptor renderPass({tex1.CreateView()});
 
         dawn::CommandEncoder commandEncoder = device.CreateCommandEncoder();
         dawn::RenderPassEncoder pass = commandEncoder.BeginRenderPass(&renderPass);
diff --git a/src/tests/unittests/validation/RenderPassDescriptorValidationTests.cpp b/src/tests/unittests/validation/RenderPassDescriptorValidationTests.cpp
index 852b595..31ddb0d 100644
--- a/src/tests/unittests/validation/RenderPassDescriptorValidationTests.cpp
+++ b/src/tests/unittests/validation/RenderPassDescriptorValidationTests.cpp
@@ -69,7 +69,7 @@
                                      dawn::TextureFormat format) {
     dawn::Texture texture = CreateTexture(
         device, dawn::TextureDimension::e2D, format, width, height, 1, 1);
-    return texture.CreateDefaultView();
+    return texture.CreateView();
 }
 
 // Using BeginRenderPass with no attachments isn't valid
@@ -394,8 +394,8 @@
     dawn::Texture resolveTargetTexture = CreateTexture(
         device, dawn::TextureDimension::e2D, kColorFormat, kSize, kSize, kArrayLayers,
         kLevelCount, kSampleCount);
-    dawn::TextureView colorTextureView = colorTexture.CreateDefaultView();
-    dawn::TextureView resolveTargetTextureView = resolveTargetTexture.CreateDefaultView();
+    dawn::TextureView colorTextureView = colorTexture.CreateView();
+    dawn::TextureView resolveTargetTextureView = resolveTargetTexture.CreateView();
 
     utils::ComboRenderPassDescriptor renderPass({colorTextureView});
     renderPass.cColorAttachmentsInfoPtr[0]->resolveTarget = resolveTargetTextureView;
@@ -428,7 +428,7 @@
             device, dawn::TextureDimension::e2D, kColorFormat, kSize, kSize, kArrayLayers,
             kLevelCount, sampleCount);
 
-        return colorTexture.CreateDefaultView();
+        return colorTexture.CreateView();
     }
 };
 
@@ -467,7 +467,7 @@
     dawn::Texture resolveTexture = CreateTexture(
         device, dawn::TextureDimension::e2D, kColorFormat, kSize, kSize, kArrayLayers2,
         kLevelCount);
-    dawn::TextureView resolveTextureView = resolveTexture.CreateDefaultView();
+    dawn::TextureView resolveTextureView = resolveTexture.CreateView();
 
     utils::ComboRenderPassDescriptor renderPass = CreateMultisampledRenderPass();
     renderPass.cColorAttachmentsInfoPtr[0]->resolveTarget = resolveTextureView;
@@ -480,7 +480,7 @@
     dawn::Texture resolveTexture = CreateTexture(
         device, dawn::TextureDimension::e2D, kColorFormat, kSize, kSize, kArrayLayers,
         kLevelCount2);
-    dawn::TextureView resolveTextureView = resolveTexture.CreateDefaultView();
+    dawn::TextureView resolveTextureView = resolveTexture.CreateView();
 
     utils::ComboRenderPassDescriptor renderPass = CreateMultisampledRenderPass();
     renderPass.cColorAttachmentsInfoPtr[0]->resolveTarget = resolveTextureView;
@@ -494,8 +494,7 @@
     dawn::Texture nonColorUsageResolveTexture = CreateTexture(
         device, dawn::TextureDimension::e2D, kColorFormat, kSize, kSize, kArrayLayers,
         kLevelCount, 1, kUsage);
-    dawn::TextureView nonColorUsageResolveTextureView =
-        nonColorUsageResolveTexture.CreateDefaultView();
+    dawn::TextureView nonColorUsageResolveTextureView = nonColorUsageResolveTexture.CreateView();
 
     utils::ComboRenderPassDescriptor renderPass = CreateMultisampledRenderPass();
     renderPass.cColorAttachmentsInfoPtr[0]->resolveTarget = nonColorUsageResolveTextureView;
@@ -535,7 +534,7 @@
     dawn::Texture resolveTexture = CreateTexture(
         device, dawn::TextureDimension::e2D, kColorFormat2, kSize, kSize, kArrayLayers,
         kLevelCount);
-    dawn::TextureView resolveTextureView = resolveTexture.CreateDefaultView();
+    dawn::TextureView resolveTextureView = resolveTexture.CreateView();
 
     utils::ComboRenderPassDescriptor renderPass = CreateMultisampledRenderPass();
     renderPass.cColorAttachmentsInfoPtr[0]->resolveTarget = resolveTextureView;
@@ -589,7 +588,7 @@
         device, dawn::TextureDimension::e2D, kDepthStencilFormat, kSize, kSize, kArrayLayers,
         kLevelCount, kSampleCount);
     dawn::TextureView multisampledDepthStencilTextureView =
-        multisampledDepthStencilTexture.CreateDefaultView();
+        multisampledDepthStencilTexture.CreateView();
 
     // It is not allowed to use a depth stencil attachment whose sample count is different from the
     // one of the color attachment.
@@ -597,7 +596,7 @@
         dawn::Texture depthStencilTexture = CreateTexture(
             device, dawn::TextureDimension::e2D, kDepthStencilFormat, kSize, kSize, kArrayLayers,
             kLevelCount);
-        dawn::TextureView depthStencilTextureView = depthStencilTexture.CreateDefaultView();
+        dawn::TextureView depthStencilTextureView = depthStencilTexture.CreateView();
 
         utils::ComboRenderPassDescriptor renderPass(
             {CreateMultisampledColorTextureView()}, depthStencilTextureView);
diff --git a/src/tests/unittests/validation/RenderPipelineValidationTests.cpp b/src/tests/unittests/validation/RenderPipelineValidationTests.cpp
index 65e2ec5..fb89afa 100644
--- a/src/tests/unittests/validation/RenderPipelineValidationTests.cpp
+++ b/src/tests/unittests/validation/RenderPipelineValidationTests.cpp
@@ -166,7 +166,7 @@
             textureDescriptor.sampleCount = kMultisampledCount;
             dawn::Texture multisampledColorTexture = device.CreateTexture(&textureDescriptor);
             utils::ComboRenderPassDescriptor renderPassDescriptor(
-                {multisampledColorTexture.CreateDefaultView()});
+                {multisampledColorTexture.CreateView()});
 
             dawn::CommandEncoder encoder = device.CreateCommandEncoder();
             dawn::RenderPassEncoder renderPass = encoder.BeginRenderPass(&renderPassDescriptor);
@@ -183,7 +183,7 @@
             dawn::Texture multisampledDepthStencilTexture =
                 device.CreateTexture(&textureDescriptor);
             utils::ComboRenderPassDescriptor renderPassDescriptor(
-                {}, multisampledDepthStencilTexture.CreateDefaultView());
+                {}, multisampledDepthStencilTexture.CreateView());
 
             dawn::CommandEncoder encoder = device.CreateCommandEncoder();
             dawn::RenderPassEncoder renderPass = encoder.BeginRenderPass(&renderPassDescriptor);
@@ -202,7 +202,7 @@
             textureDescriptor.sampleCount = kMultisampledCount;
             dawn::Texture multisampledColorTexture = device.CreateTexture(&textureDescriptor);
             utils::ComboRenderPassDescriptor renderPassDescriptor(
-                {multisampledColorTexture.CreateDefaultView()});
+                {multisampledColorTexture.CreateView()});
 
             dawn::CommandEncoder encoder = device.CreateCommandEncoder();
             dawn::RenderPassEncoder renderPass = encoder.BeginRenderPass(&renderPassDescriptor);
@@ -219,7 +219,7 @@
             dawn::Texture multisampledDepthStencilTexture =
                 device.CreateTexture(&textureDescriptor);
             utils::ComboRenderPassDescriptor renderPassDescriptor(
-                {}, multisampledDepthStencilTexture.CreateDefaultView());
+                {}, multisampledDepthStencilTexture.CreateView());
 
             dawn::CommandEncoder encoder = device.CreateCommandEncoder();
             dawn::RenderPassEncoder renderPass = encoder.BeginRenderPass(&renderPassDescriptor);
@@ -238,7 +238,7 @@
             textureDescriptor.sampleCount = 1;
             dawn::Texture nonMultisampledColorTexture = device.CreateTexture(&textureDescriptor);
             utils::ComboRenderPassDescriptor nonMultisampledRenderPassDescriptor(
-                { nonMultisampledColorTexture.CreateDefaultView() });
+                {nonMultisampledColorTexture.CreateView()});
 
             dawn::CommandEncoder encoder = device.CreateCommandEncoder();
             dawn::RenderPassEncoder renderPass =
@@ -256,7 +256,7 @@
             dawn::Texture multisampledDepthStencilTexture =
                 device.CreateTexture(&textureDescriptor);
             utils::ComboRenderPassDescriptor renderPassDescriptor(
-                {}, multisampledDepthStencilTexture.CreateDefaultView());
+                {}, multisampledDepthStencilTexture.CreateView());
 
             dawn::CommandEncoder encoder = device.CreateCommandEncoder();
             dawn::RenderPassEncoder renderPass = encoder.BeginRenderPass(&renderPassDescriptor);
diff --git a/src/tests/unittests/validation/TextureValidationTests.cpp b/src/tests/unittests/validation/TextureValidationTests.cpp
index 7e198b6..f43b650 100644
--- a/src/tests/unittests/validation/TextureValidationTests.cpp
+++ b/src/tests/unittests/validation/TextureValidationTests.cpp
@@ -194,7 +194,7 @@
 TEST_F(TextureValidationTest, DestroyEncodeSubmit) {
     dawn::TextureDescriptor descriptor = CreateDefaultTextureDescriptor();
     dawn::Texture texture = device.CreateTexture(&descriptor);
-    dawn::TextureView textureView = texture.CreateDefaultView();
+    dawn::TextureView textureView = texture.CreateView();
 
     utils::ComboRenderPassDescriptor renderPass({textureView});
 
@@ -217,7 +217,7 @@
 TEST_F(TextureValidationTest, EncodeDestroySubmit) {
     dawn::TextureDescriptor descriptor = CreateDefaultTextureDescriptor();
     dawn::Texture texture = device.CreateTexture(&descriptor);
-    dawn::TextureView textureView = texture.CreateDefaultView();
+    dawn::TextureView textureView = texture.CreateView();
 
     utils::ComboRenderPassDescriptor renderPass({textureView});
 
diff --git a/src/tests/unittests/validation/ValidationTest.cpp b/src/tests/unittests/validation/ValidationTest.cpp
index a1386b1..d9979e3 100644
--- a/src/tests/unittests/validation/ValidationTest.cpp
+++ b/src/tests/unittests/validation/ValidationTest.cpp
@@ -107,7 +107,7 @@
     descriptor.usage = dawn::TextureUsage::OutputAttachment;
     attachment = device.CreateTexture(&descriptor);
 
-    dawn::TextureView view = attachment.CreateDefaultView();
+    dawn::TextureView view = attachment.CreateView();
     mColorAttachment.attachment = view;
     mColorAttachment.resolveTarget = nullptr;
     mColorAttachment.clearColor = { 0.0f, 0.0f, 0.0f, 0.0f };
diff --git a/src/tests/unittests/wire/WireInjectTextureTests.cpp b/src/tests/unittests/wire/WireInjectTextureTests.cpp
index 9cf0479..d5dea81 100644
--- a/src/tests/unittests/wire/WireInjectTextureTests.cpp
+++ b/src/tests/unittests/wire/WireInjectTextureTests.cpp
@@ -36,9 +36,9 @@
     EXPECT_CALL(api, TextureReference(apiTexture));
     ASSERT_TRUE(GetWireServer()->InjectTexture(apiTexture, reservation.id, reservation.generation));
 
-    dawnTextureCreateDefaultView(reservation.texture);
+    dawnTextureCreateView(reservation.texture, nullptr);
     DawnTextureView apiDummyView = api.GetNewTextureView();
-    EXPECT_CALL(api, TextureCreateDefaultView(apiTexture)).WillOnce(Return(apiDummyView));
+    EXPECT_CALL(api, TextureCreateView(apiTexture, nullptr)).WillOnce(Return(apiDummyView));
     FlushClient();
 }
 
diff --git a/src/tests/white_box/VulkanImageWrappingTests.cpp b/src/tests/white_box/VulkanImageWrappingTests.cpp
index 07abff4..295f3ac 100644
--- a/src/tests/white_box/VulkanImageWrappingTests.cpp
+++ b/src/tests/white_box/VulkanImageWrappingTests.cpp
@@ -404,7 +404,7 @@
 
     // Clear a texture on a given device
     void ClearImage(dawn::Device device, dawn::Texture wrappedTexture, dawn::Color clearColor) {
-        dawn::TextureView wrappedView = wrappedTexture.CreateDefaultView();
+        dawn::TextureView wrappedView = wrappedTexture.CreateView();
 
         // Submit a clear operation
         utils::ComboRenderPassDescriptor renderPassDescriptor({wrappedView}, {});
diff --git a/src/utils/DawnHelpers.cpp b/src/utils/DawnHelpers.cpp
index baecee8..25a8d73 100644
--- a/src/utils/DawnHelpers.cpp
+++ b/src/utils/DawnHelpers.cpp
@@ -207,7 +207,7 @@
           height(texHeight),
           color(colorAttachment),
           colorFormat(textureFormat),
-          renderPassInfo({colorAttachment.CreateDefaultView()}) {
+          renderPassInfo({colorAttachment.CreateView()}) {
     }
 
     BasicRenderPass CreateBasicRenderPass(const dawn::Device& device,