Vulkan: Support binding texture levels as a rendertarget
This CL refactors how TextureVk handles rendertargets. It removes
the single rendertarget that previously supported 2D, and expands
the layer/level list of rendertargets to handle all cases.
Bug: angleproject:3184
Bug: angleproject:3996
Test: Texture2DTestES3.FramebufferTextureChangingBaselevel/ES3_Vulkan
Test: FramebufferRenderMipmapTest.RenderToMipmap/ES2_Vulkan
Test: FramebufferRenderMipmapTest.RenderToMipmap/ES3_Vulkan
Test: ComputeShaderTest.ImageStoreMipmapSlice/ES3_1_Vulkan
Change-Id: I466d0389cc6744994f88c40cc388fca694b53a99
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1854895
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
diff --git a/src/tests/gl_tests/TextureTest.cpp b/src/tests/gl_tests/TextureTest.cpp
index e7485fb..2e5ca72 100644
--- a/src/tests/gl_tests/TextureTest.cpp
+++ b/src/tests/gl_tests/TextureTest.cpp
@@ -2017,8 +2017,8 @@
// TODO(geofflang): Investigate on D3D11. http://anglebug.com/2291
ANGLE_SKIP_TEST_IF(IsD3D11());
- // TODO(cnorthrop): Framebuffer level support. http://anglebug.com/3184
- ANGLE_SKIP_TEST_IF(IsVulkan());
+ // TODO(cnorthrop): Failing on Vulkan/Windows/AMD. http://anglebug.com/3996
+ ANGLE_SKIP_TEST_IF(IsVulkan() && IsWindows() && IsAMD());
setUpProgram();