Implement 3D texture copies on Metal

Bug: dawn:782
Change-Id: I204bfb087b9b7584d7d0f1964bcb3ea8b0a41d38
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/50242
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Yunchao He <yunchao.he@intel.com>
This commit is contained in:
Austin Eng
2021-05-11 00:04:13 +00:00
committed by Commit Bot service account
parent d066d17ef6
commit 5230c6bd93
6 changed files with 196 additions and 125 deletions

View File

@@ -968,9 +968,9 @@ TEST_P(CopyTests_T2B, Texture2DArrayRegionWithOffsetEvenRowsPerImage) {
// Test that copying whole 3D texture in one texture-to-buffer-copy works.
TEST_P(CopyTests_T2B, Texture3DFull) {
// TODO(yunchao.he@intel.com): implement 3D texture copy on Metal, OpenGL and OpenGLES
// TODO(yunchao.he@intel.com): implement 3D texture copy on OpenGL and OpenGLES
// backend.
DAWN_SKIP_TEST_IF(IsMetal() || IsOpenGL() || IsOpenGLES());
DAWN_SKIP_TEST_IF(IsOpenGL() || IsOpenGLES());
constexpr uint32_t kWidth = 256;
constexpr uint32_t kHeight = 128;
@@ -985,9 +985,9 @@ TEST_P(CopyTests_T2B, Texture3DFull) {
// Test that copying a range of texture 3D depths in one texture-to-buffer-copy works.
TEST_P(CopyTests_T2B, Texture3DSubRegion) {
// TODO(yunchao.he@intel.com): implement 3D texture copy on Metal, OpenGL and OpenGLES
// TODO(yunchao.he@intel.com): implement 3D texture copy on OpenGL and OpenGLES
// backend.
DAWN_SKIP_TEST_IF(IsMetal() || IsOpenGL() || IsOpenGLES());
DAWN_SKIP_TEST_IF(IsOpenGL() || IsOpenGLES());
constexpr uint32_t kWidth = 256;
constexpr uint32_t kHeight = 128;
@@ -1445,9 +1445,9 @@ TEST_P(CopyTests_B2T, Texture2DArrayRegionWithOffsetEvenRowsPerImage) {
// Test that copying whole texture 3D in one buffer-to-texture-copy works.
TEST_P(CopyTests_B2T, Texture3DFull) {
// TODO(yunchao.he@intel.com): implement 3D texture copy on Metal, OpenGL and OpenGLES
// TODO(yunchao.he@intel.com): implement 3D texture copy on OpenGL and OpenGLES
// backend.
DAWN_SKIP_TEST_IF(IsMetal() || IsOpenGL() || IsOpenGLES());
DAWN_SKIP_TEST_IF(IsOpenGL() || IsOpenGLES());
constexpr uint32_t kWidth = 256;
constexpr uint32_t kHeight = 128;
@@ -1462,9 +1462,9 @@ TEST_P(CopyTests_B2T, Texture3DFull) {
// Test that copying a range of texture 3D Depths in one texture-to-buffer-copy works.
TEST_P(CopyTests_B2T, Texture3DSubRegion) {
// TODO(yunchao.he@intel.com): implement 3D texture copy on Metal, OpenGL and OpenGLES
// TODO(yunchao.he@intel.com): implement 3D texture copy on OpenGL and OpenGLES
// backend.
DAWN_SKIP_TEST_IF(IsMetal() || IsOpenGL() || IsOpenGLES());
DAWN_SKIP_TEST_IF(IsOpenGL() || IsOpenGLES());
constexpr uint32_t kWidth = 256;
constexpr uint32_t kHeight = 128;
@@ -1799,9 +1799,9 @@ TEST_P(CopyTests_T2T, CopyFromNonZeroMipLevelWithTexelBlockSizeLessThan4Bytes) {
// Test that copying whole 3D texture in one texture-to-texture-copy works.
TEST_P(CopyTests_T2T, Texture3DFull) {
// TODO(yunchao.he@intel.com): implement 3D texture copy, Metal, OpenGL and OpenGLES
// TODO(yunchao.he@intel.com): implement 3D texture copy on OpenGL and OpenGLES
// backend.
DAWN_SKIP_TEST_IF(IsMetal() || IsOpenGL() || IsOpenGLES());
DAWN_SKIP_TEST_IF(IsOpenGL() || IsOpenGLES());
constexpr uint32_t kWidth = 256;
constexpr uint32_t kHeight = 128;