From 5bcf361537a75039e6577b9e0a4b41fd17116943 Mon Sep 17 00:00:00 2001 From: Tobin Ehlis Date: Wed, 6 Jan 2016 10:27:47 -0700 Subject: [PATCH] layers: Minor fixes to draw_state for new semaphore checks Conflicts: layers/vk_validation_layer_details.md --- layers/draw_state.cpp | 2 ++ layers/vk_validation_layer_details.md | 1 + 2 files changed, 3 insertions(+) diff --git a/layers/draw_state.cpp b/layers/draw_state.cpp index b18e772..f572bc6 100644 --- a/layers/draw_state.cpp +++ b/layers/draw_state.cpp @@ -5791,6 +5791,7 @@ VKAPI_ATTR VkResult VKAPI_CALL vkCreateSemaphore( if (result == VK_SUCCESS) { dev_data->semaphoreSignaledMap[*pSemaphore] = 0; } + return result; } VK_LAYER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateSwapchainKHR( @@ -5908,6 +5909,7 @@ VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImageKHR( layer_data* dev_data = get_my_data_ptr(get_dispatch_key(device), layer_data_map); VkResult result = dev_data->device_dispatch_table->AcquireNextImageKHR(device, swapchain, timeout, semaphore, fence, pImageIndex); dev_data->semaphoreSignaledMap[semaphore] = 1; + return result; } VK_LAYER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugReportCallbackEXT( diff --git a/layers/vk_validation_layer_details.md b/layers/vk_validation_layer_details.md index 61045ba..692a8c4 100644 --- a/layers/vk_validation_layer_details.md +++ b/layers/vk_validation_layer_details.md @@ -70,6 +70,7 @@ The VK_LAYER_LUNARG_draw_state layer tracks state leading into Draw cmds. This i | Verify Memory Buffer Destroy | Validate memory buffers are not destroyed more than once | DOUBLE_DESTROY | vkDestroyBuffer | TBD | None | | Verify Memory Buffer Not In Use | Validate that memory buffer being freed is not in use | OBJECT_INUSE | vkDestroyBuffer | TBD | None | | Verify Get Queries| Validate that that queries are properly initialized and synchronized | INVALID_QUERY | vkGetFenceStatus vkQueueWaitIdle vkWaitForFences vkDeviceWaitIdle | TBD | None | +| Live Semaphore | When waiting on a semaphore, need to make sure that the semaphore is live and therefore can be signalled, otherwise queue is stalled and cannot make forward progress. | QUEUE_FORWARD_PROGRESS | vkQueueSubmit vkQueueBindSparse vkQueuePresentKHR vkAcquireNextImageKHR | TODO | Create test | | NA | Enum used for informational messages | NONE | | NA | None | | NA | Enum used for errors in the layer itself. This does not indicate an app issue, but instead a bug in the layer. | INTERNAL_ERROR | | NA | None | | NA | Enum used when VK_LAYER_LUNARG_draw_state attempts to allocate memory for its own internal use and is unable to. | OUT_OF_MEMORY | | NA | None | -- 2.7.4