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