-
Notifications
You must be signed in to change notification settings - Fork 450
Closed
Milestone
Description
If you call vkAcquireNextImageKHR before calling vkGetSwapchainImagesKHR, validation layers crash with this callstack:
VkLayer_core_validation.dll!core_validation::PostCallRecordAcquireNextImageKHR(core_validation::layer_data * dev_data, VkDevice_T * device, VkSwapchainKHR_T * swapchain, unsigned __int64 timeout, VkSemaphore_T * semaphore, VkFence_T * fence, unsigned int * pImageIndex) Line 11754 C++
VkLayer_core_validation.dll!core_validation::AcquireNextImageKHR(VkDevice_T * device, VkSwapchainKHR_T * swapchain, unsigned __int64 timeout, VkSemaphore_T * semaphore, VkFence_T * fence, unsigned int * pImageIndex) Line 11775 C++
VkLayer_object_tracker.dll!object_tracker::AcquireNextImageKHR(VkDevice_T * device, VkSwapchainKHR_T * swapchain, unsigned __int64 timeout, VkSemaphore_T * semaphore, VkFence_T * fence, unsigned int * pImageIndex) Line 2974 C++
VkLayer_parameter_validation.dll!parameter_validation::vkAcquireNextImageKHR(VkDevice_T * device, VkSwapchainKHR_T * swapchain, unsigned __int64 timeout, VkSemaphore_T * semaphore, VkFence_T * fence, unsigned int * pImageIndex) Line 7731 C++
VkLayer_threading.dll!threading::AcquireNextImageKHR(VkDevice_T * device, VkSwapchainKHR_T * swapchain, unsigned __int64 timeout, VkSemaphore_T * semaphore, VkFence_T * fence, unsigned int * pImageIndex) Line 3652 C++
Here:
// Mark the image as acquired.
auto swapchain_data = GetSwapchainNode(dev_data, swapchain);
auto image = swapchain_data->images[*pImageIndex];
auto image_state = GetImageState(dev_data, image);
The issue is that *pImageIndex is 0 (as returned by the driver), but swapchain_data->images is empty.
Metadata
Metadata
Assignees
Labels
No labels