Vulkan: Don't support EGL_SWAP_BEHAVIOR_PRESERVED_BIT
dEQP-EGL.functional.preserve_swap.preserve.no_read_before_swap#no_draw
dEQP-EGL.functional.preserve_swap.preserve.no_read_before_swap#post_clear
dEQP-EGL.functional.preserve_swap.preserve.no_read_before_swap#post_render
dEQP-EGL.functional.preserve_swap.preserve.no_read_before_swap#pre_clear
dEQP-EGL.functional.preserve_swap.preserve.no_read_before_swap#pre_clear_post_clear
dEQP-EGL.functional.preserve_swap.preserve.no_read_before_swap#pre_clear_post_render
dEQP-EGL.functional.preserve_swap.preserve.no_read_before_swap#pre_render
dEQP-EGL.functional.preserve_swap.preserve.no_read_before_swap#pre_render_post_clear
dEQP-EGL.functional.preserve_swap.preserve.no_read_before_swap#pre_render_post_render
Bug: angleproject:3051 angleproject:2716
Change-Id: I3607f45cd2f447fb0a95f91ffd9aa93000dfa18c
Reviewed-on: https://chromium-review.googlesource.com/c/1407248
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
diff --git a/src/libANGLE/renderer/vulkan/SurfaceVk.cpp b/src/libANGLE/renderer/vulkan/SurfaceVk.cpp
index 317a058..d0076ce 100644
--- a/src/libANGLE/renderer/vulkan/SurfaceVk.cpp
+++ b/src/libANGLE/renderer/vulkan/SurfaceVk.cpp
@@ -224,7 +224,7 @@
EGLint OffscreenSurfaceVk::getSwapBehavior() const
{
- return EGL_BUFFER_PRESERVED;
+ return EGL_BUFFER_DESTROYED;
}
angle::Result OffscreenSurfaceVk::getAttachmentRenderTarget(
diff --git a/src/libANGLE/renderer/vulkan/vk_caps_utils.cpp b/src/libANGLE/renderer/vulkan/vk_caps_utils.cpp
index c27563d..eab9fb5 100644
--- a/src/libANGLE/renderer/vulkan/vk_caps_utils.cpp
+++ b/src/libANGLE/renderer/vulkan/vk_caps_utils.cpp
@@ -253,7 +253,7 @@
config.renderableType = es2Support | es3Support;
config.sampleBuffers = (sampleCount > 0) ? 1 : 0;
config.samples = sampleCount;
- config.surfaceType = EGL_WINDOW_BIT | EGL_PBUFFER_BIT | EGL_SWAP_BEHAVIOR_PRESERVED_BIT;
+ config.surfaceType = EGL_WINDOW_BIT | EGL_PBUFFER_BIT;
// Vulkan surfaces use a different origin than OpenGL, always prefer to be flipped vertically if
// possible.
config.optimalOrientation = EGL_SURFACE_ORIENTATION_INVERT_Y_ANGLE;
diff --git a/src/tests/deqp_support/deqp_egl_test_expectations.txt b/src/tests/deqp_support/deqp_egl_test_expectations.txt
index 54a4644..0dae48a 100644
--- a/src/tests/deqp_support/deqp_egl_test_expectations.txt
+++ b/src/tests/deqp_support/deqp_egl_test_expectations.txt
@@ -244,31 +244,31 @@
2507 ANDROID GLES : dEQP-EGL.functional.image.modify.renderbuffer_rgba4_tex_subimage_rgba8 = FAIL
2507 ANDROID GLES : dEQP-EGL.functional.image.modify.tex_rgb565_tex_subimage_rgb8 = FAIL
2507 ANDROID GLES : dEQP-EGL.functional.image.modify.tex_rgba4_tex_subimage_rgba8 = FAIL
+2716 ANDROID GLES : dEQP-EGL.functional.preserve_swap.preserve.* = FAIL
// Android failures
-2546 ANDROID : dEQP-EGL.functional.multithread.* = SKIP
-2546 ANDROID : dEQP-EGL.functional.render.multi_thread.* = SKIP
-2546 ANDROID : dEQP-EGL.functional.sharing.gles2.multithread.* = SKIP
-2546 ANDROID : dEQP-EGL.functional.thread_cleanup.multi_context_* = SKIP
2546 ANDROID : dEQP-EGL.functional.buffer_age.* = FAIL
2546 ANDROID : dEQP-EGL.functional.choose_config.simple.selection_and_sort.transparent_* = FAIL
2546 ANDROID : dEQP-EGL.functional.choose_config.simple.selection_only.transparent_* = FAIL
2546 ANDROID : dEQP-EGL.functional.color_clears.multi_context.* = FAIL
2546 ANDROID : dEQP-EGL.functional.color_clears.multi_thread.* = FAIL
2546 ANDROID : dEQP-EGL.functional.color_clears.single_context.* = FAIL
+2546 ANDROID : dEQP-EGL.functional.multithread.* = SKIP
2546 ANDROID : dEQP-EGL.functional.native_color_mapping.native_window.* = FAIL
2546 ANDROID : dEQP-EGL.functional.native_coord_mapping.native_window.* = FAIL
2546 ANDROID : dEQP-EGL.functional.negative_api.copy_buffers = FAIL
2546 ANDROID : dEQP-EGL.functional.partial_update.odd_clear_* = FAIL
2546 ANDROID : dEQP-EGL.functional.partial_update.odd_render_* = FAIL
2546 ANDROID : dEQP-EGL.functional.partial_update.render_* = FAIL
-2716 ANDROID : dEQP-EGL.functional.preserve_swap.preserve.* = FAIL
2546 ANDROID : dEQP-EGL.functional.query_context.get_current_context.* = FAIL
2546 ANDROID : dEQP-EGL.functional.query_context.get_current_display.* = FAIL
2546 ANDROID : dEQP-EGL.functional.query_context.get_current_surface.r* = FAIL
2546 ANDROID : dEQP-EGL.functional.query_context.query_context.* = FAIL
2546 ANDROID : dEQP-EGL.functional.render.multi_context.* = FAIL
+2546 ANDROID : dEQP-EGL.functional.render.multi_thread.* = SKIP
2546 ANDROID : dEQP-EGL.functional.render.single_context.* = FAIL
+2546 ANDROID : dEQP-EGL.functional.sharing.gles2.multithread.* = SKIP
+2546 ANDROID : dEQP-EGL.functional.thread_cleanup.multi_context_* = SKIP
2546 ANDROID : dEQP-EGL.functional.thread_cleanup.single_context_* = FAIL
// ES 1 tests