diff options
| author | Chris Forbes <chrisforbes@google.com> | 2016-12-09 11:00:21 +1300 |
|---|---|---|
| committer | Chris Forbes <chrisforbes@google.com> | 2016-12-14 15:25:29 +1300 |
| commit | 8543b6b9c0412fd0a826f9b25bb68e0d420c3193 (patch) | |
| tree | 7cb8db88ef1381a7aca2536ed26e59424eb41f02 /layers/core_validation.cpp | |
| parent | a6eb629273ca43dfadc2295a8c18b5b46761028c (diff) | |
| download | usermoji-8543b6b9c0412fd0a826f9b25bb68e0d420c3193.tar.xz | |
layers: Complain in AcquireNextImageKHR if the swapchain is replaced
V2: Tweak error language for Ian
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Diffstat (limited to 'layers/core_validation.cpp')
| -rw-r--r-- | layers/core_validation.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/layers/core_validation.cpp b/layers/core_validation.cpp index 7d79e2c6..9a420b7f 100644 --- a/layers/core_validation.cpp +++ b/layers/core_validation.cpp @@ -12244,6 +12244,14 @@ VKAPI_ATTR VkResult VKAPI_CALL AcquireNextImageKHR(VkDevice device, VkSwapchainK } auto swapchain_data = getSwapchainNode(dev_data, swapchain); + + if (swapchain_data->replaced) { + skip_call |= log_msg(dev_data->report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT, + reinterpret_cast<uint64_t &>(swapchain), __LINE__, DRAWSTATE_SWAPCHAIN_REPLACED, "DS", + "vkAcquireNextImageKHR: This swapchain has been replaced. The application can still " + "present any images it has acquired, but cannot acquire any more."); + } + auto physical_device_state = getPhysicalDeviceState(dev_data->instance_data, dev_data->physical_device); if (physical_device_state->vkGetPhysicalDeviceSurfaceCapabilitiesKHRState != UNCALLED) { uint64_t acquired_images = std::count_if(swapchain_data->images.begin(), swapchain_data->images.end(), |
