Vulkan:Add support to stage D or S textures

Correctly set image aspect for depth or stencil texture staging.
This fixes 6 failing dEQP 3.0 tests and an end2end test.
Note that DS combined aspect textures will need special handling
to read each aspect separately which is not included in this fix.

Bug: angleproject:3949
Change-Id: I8e3f8166bdd31e2c002752b2f5c107ba411b2b0d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1855964
Commit-Queue: Tobin Ehlis <tobine@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
diff --git a/src/tests/gl_tests/TextureTest.cpp b/src/tests/gl_tests/TextureTest.cpp
index 6031f04..e7485fb 100644
--- a/src/tests/gl_tests/TextureTest.cpp
+++ b/src/tests/gl_tests/TextureTest.cpp
@@ -2677,9 +2677,6 @@
 // samplerCubeShadow: TextureCube + SamplerComparisonState
 TEST_P(SamplerTypeMixTestES3, SamplerTypeMixDraw)
 {
-    // TODO(cnorthrop): Requires non-color staging buffer support. http://anglebug.com/3949
-    ANGLE_SKIP_TEST_IF(IsVulkan());
-
     glActiveTexture(GL_TEXTURE0);
     glBindTexture(GL_TEXTURE_2D, mTexture2D);
     GLubyte texData[4];
@@ -2715,6 +2712,8 @@
     glTexSubImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X, 0, 0, 0, 1, 1, GL_DEPTH_COMPONENT, GL_FLOAT,
                     depthTexData);
 
+    // http://anglebug.com/3949: TODO: Add a DS texture case
+
     EXPECT_GL_NO_ERROR();
 
     glUseProgram(mProgram);