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;