Bug 101081 - Error when resizing windows while running Vulkan Examples from SDK
Summary: Error when resizing windows while running Vulkan Examples from SDK
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/Vulkan/intel (show other bugs)
Version: 17.0
Hardware: x86-64 (AMD64) Linux (All)
: medium major
Assignee: Intel 3D Bugs Mailing List
QA Contact: Intel 3D Bugs Mailing List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-05-17 22:09 UTC by LunarG
Modified: 2017-06-19 16:44 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

Description LunarG 2017-05-17 22:09:06 UTC
Overview:
Running the cube example out of the Vulkan SDK and resizing the window will cause a black window. Nothing gets drawn after resizing and an some fence warnings get thrown to console.

Setup/OS:
This problem has been reproduced with Mesa 17.0.4, 17.0.5, and 17.0.6 on Ubuntu 16.04 and Fedora 25.

Steps to reproduce:
Build the examples from LunarG's Vulkan SDK (Download the SDK [https://vulkan.lunarg.com/sdk/home]; follow the getting started guide [https://vulkan.lunarg.com/doc/sdk/1.0.46.0/linux/getting_started.html] if needed). 

Run the cube example and resize the window. The area will become black as nothing gets drawn after resizing. If you run with the "--validate" option after setting your environmental variables the following fence warning is sent to the console:
$ ./cube --validate
WARNING: [ParameterValidation] Code 9 : vkAcquireNextImageKHR: returned VK_ERROR_OUT_OF_DATE_KHR, indicating that a surface has changed in such a way that it is no longer compatible with the swapchain
WARNING: [MEM] Code 10 : vkWaitForFences called for fence 0x5 which has not been submitted on a Queue or during acquire next image.
Comment 1 Jason Ekstrand 2017-05-19 00:01:19 UTC
It looks like the cube demo is no longer handling OUT_OF_DATE correctly.  Older versions of the cube demo work and resize just fine.  Can you please check that this isn't a regression in the cube demo itself.
Comment 2 tony 2017-05-24 20:58:23 UTC
The synchronization strategy in cube changed between SDK 1.0.46 and SDK 1.0.49, which probably precipitated this. I've reproduced the issue and will look into it further.
Comment 3 tony 2017-06-02 20:46:14 UTC
The VK_ERROR_OUT_OF_DATE warning is there because the spec defines that return value as an error even though it is completely expected on resize.

The hang and vkWaitForFences warning were a result of the recent change to synchronization in the cube demo that did not adequately address the VK_ERROR_OUT_OF_DATE path through window resize.  With commit '982232 demos: Fix fence sync after new throttling scheme', I've addressed that issue.
Comment 4 LunarG 2017-06-19 16:44:24 UTC
This is fixed in 1.0.51.0 SDK


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.