Vulkan: Respect EGL_HEIGHT & EGL_WIDTH in SurfaceVk
If currentExtent is unspecified and EGL_WIDTH & EGL_HEIGHT are provided,
we'll use a surface size of 0xFFFFFFFF. That's not going to work and
appears to be a typo. Use the size specified in EGL_WIDTH & EGL_HEIGHT
instead.
BUG=angleproject:2475
TEST=angle_end2end_tests on Fuchsia with an earlier version of
CL 1446496 PS12. It is N/A with later patches.
Change-Id: I7e67b2c796318bed512dd6d5d22ef2183916416d
Reviewed-on: https://chromium-review.googlesource.com/c/1461637
Commit-Queue: Michael Spang <spang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libANGLE/renderer/vulkan/SurfaceVk.cpp b/src/libANGLE/renderer/vulkan/SurfaceVk.cpp
index 9aafb1d..792d480 100644
--- a/src/libANGLE/renderer/vulkan/SurfaceVk.cpp
+++ b/src/libANGLE/renderer/vulkan/SurfaceVk.cpp
@@ -373,14 +373,8 @@
{
ASSERT(mSurfaceCaps.currentExtent.height == 0xFFFFFFFFu);
- if (attribWidth == 0)
- {
- width = windowSize.width;
- }
- if (attribHeight == 0)
- {
- height = windowSize.height;
- }
+ width = (attribWidth != 0) ? static_cast<uint32_t>(attribWidth) : windowSize.width;
+ height = (attribHeight != 0) ? static_cast<uint32_t>(attribHeight) : windowSize.height;
}
gl::Extents extents(static_cast<int>(width), static_cast<int>(height), 1);