Vulkan-Samples icon indicating copy to clipboard operation
Vulkan-Samples copied to clipboard

hello_triangle sample should avoid referencing a retired swapchain #1015

Open yaman-lunarg opened this issue 1 year ago • 4 comments

Description

By obtaining the image_count prior to the retirement of old_swapchain, Android warning is prevented.

Fixes #1015

General Checklist:

Please ensure the following points are checked:

  • [ ] My code follows the coding style
  • [ ] I have reviewed file licenses
  • [ ] I have commented any added functions (in line with Doxygen)
  • [ ] I have commented any code that could be hard to understand
  • [ ] My changes do not add any new compiler warnings
  • [ ] My changes do not add any new validation layer errors or warnings
  • [ ] I have used existing framework/helper functions where possible
  • [ ] My changes do not add any regressions
  • [ ] I have tested every sample to ensure everything runs correctly
  • [ ] This PR describes the scope and expected impact of the changes I am making

Note: The Samples CI runs a number of checks including:

  • [ ] I have updated the header Copyright to reflect the current year (CI build will fail if Copyright is out of date)
  • [ ] My changes build on Windows, Linux, macOS and Android. Otherwise I have documented any exceptions

Sample Checklist

If your PR contains a new or modified sample, these further checks must be carried out in addition to the General Checklist:

  • [ ] I have tested the sample on at least one compliant Vulkan implementation
  • [ ] If the sample is vendor-specific, I have tagged it appropriately
  • [ ] I have stated on what implementation the sample has been tested so that others can test on different implementations and platforms
  • [ ] Any dependent assets have been merged and published in downstream modules
  • [ ] For new samples, I have added a paragraph with a summary to the appropriate chapter in the readme of the folder that the sample belongs to e.g. api samples readme
  • [ ] For new samples, I have added a tutorial README.md file to guide users through what they need to know to implement code using this feature. For example, see conditional_rendering
  • [ ] For new samples, I have added a link to the Antora navigation so that the sample will be listed at the Vulkan documentation site

yaman-lunarg avatar Apr 11 '24 13:04 yaman-lunarg

CLA assistant check
All committers have signed the CLA.

CLAassistant avatar Apr 11 '24 13:04 CLAassistant

As I don't have an Android environment to test, I can't tell if this change is valid. But it looks a bit strange... If it actually is an issue, could you please adjust hpp_hello_triangle accordingly?

asuessenbach avatar Apr 17 '24 07:04 asuessenbach

HI @yaman-lunarg, this is still labeled "draft". Any thoughts on next steps? Thanks

marty-johnson59 avatar Jul 03 '24 13:07 marty-johnson59

Yaman no longer is available at that login. We probably won't carry forward this PR, we don't have any resource to handle the long to-do list.

We noted this failure on Android in logcat:

Running some vulkan samples, for example Hello Triangle on android with gfxr enabled a warning is issued:

02-27 19:12:17.625 31072 31130 W vulkan : getting images for non-active swapchain 0xb400007a8dd3ef70; only dequeued image handles are valid

It comes from here: https://android.googlesource.com/platform/frameworks/native/+/android-8.1.0_r9/vulkan/libvulkan/swapchain.cpp#1173

I've gotten this on Pixel 6, to reproduce just run Vulkan Samples and choose the Hello Triangle sample, with gfxr enabled

In reply to @asuessenbach the current code is incorrect under the spec (but there may not be a VUID). Passing old_swapchain to CreateSwapchainKHR makes old_swapchain retired, and images cannot then be acquired from that swapchain. This PR makes sure the images are acquired before the swapchain is retired.

Retired Swapchain A swapchain that has been used as the oldSwapchain parameter to vkCreateSwapchainKHR. Images cannot be acquired from a retired swapchain, however images that were acquired (but not presented) before the swapchain was retired can be presented.

bradgrantham-lunarg avatar Jul 03 '24 18:07 bradgrantham-lunarg