aboutsummaryrefslogtreecommitdiff
path: root/layers/core_validation.cpp
diff options
context:
space:
mode:
authorChris Forbes <chrisforbes@google.com>2016-12-09 11:00:21 +1300
committerChris Forbes <chrisforbes@google.com>2016-12-14 15:25:29 +1300
commit8543b6b9c0412fd0a826f9b25bb68e0d420c3193 (patch)
tree7cb8db88ef1381a7aca2536ed26e59424eb41f02 /layers/core_validation.cpp
parenta6eb629273ca43dfadc2295a8c18b5b46761028c (diff)
downloadusermoji-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.cpp8
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(),