diff options
| author | Ian Elliott <ianelliott@google.com> | 2016-01-05 14:41:45 -0700 |
|---|---|---|
| committer | Jon Ashburn <jon@lunarg.com> | 2016-01-06 12:23:10 -0700 |
| commit | 06b0532d0711f24ed4d993edd584d528bb32d6b9 (patch) | |
| tree | e6b9fe30143d0a13da8c5805c37317895dda03db | |
| parent | 87b69dc91ab37635dc0d3402fd1246dab3995a62 (diff) | |
| download | usermoji-06b0532d0711f24ed4d993edd584d528bb32d6b9.tar.xz | |
Swapchain: Use an INFO instead of an ERROR for when pNext is non-NULL.
This is a compromise. Currently, this is an error situation. However, another
extension could be added that uses pNext, and then if the Swapchain layer isn't
updated, a false-error situation could occur. By using an INFO message, the
user is still alerted of the possibility of a problem, but won't be annoyed in
the case of a new extension.
| -rw-r--r-- | layers/swapchain.cpp | 16 | ||||
| -rw-r--r-- | layers/swapchain.h | 14 |
2 files changed, 15 insertions, 15 deletions
diff --git a/layers/swapchain.cpp b/layers/swapchain.cpp index 3441c955..7941005a 100644 --- a/layers/swapchain.cpp +++ b/layers/swapchain.cpp @@ -372,7 +372,7 @@ VK_LAYER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateAndroidSurfaceKHR( "VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR"); } if (pCreateInfo->pNext != NULL) { - skipCall |= LOG_ERROR_WRONG_NEXT(VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, + skipCall |= LOG_INFO_WRONG_NEXT(VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, device, "pCreateInfo"); } @@ -411,7 +411,7 @@ VK_LAYER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateMirSurfaceKHR( "VK_STRUCTURE_TYPE_MIR_SURFACE_CREATE_INFO_KHR"); } if (pCreateInfo->pNext != NULL) { - skipCall |= LOG_ERROR_WRONG_NEXT(VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, + skipCall |= LOG_INFO_WRONG_NEXT(VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, device, "pCreateInfo"); } @@ -484,7 +484,7 @@ VK_LAYER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateWaylandSurfaceKHR( "VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR"); } if (pCreateInfo->pNext != NULL) { - skipCall |= LOG_ERROR_WRONG_NEXT(VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, + skipCall |= LOG_INFO_WRONG_NEXT(VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, device, "pCreateInfo"); } @@ -557,7 +557,7 @@ VK_LAYER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateWin32SurfaceKHR( "VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR"); } if (pCreateInfo->pNext != NULL) { - skipCall |= LOG_ERROR_WRONG_NEXT(VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, + skipCall |= LOG_INFO_WRONG_NEXT(VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, device, "pCreateInfo"); } @@ -629,7 +629,7 @@ VK_LAYER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateXcbSurfaceKHR( "VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR"); } if (pCreateInfo->pNext != NULL) { - skipCall |= LOG_ERROR_WRONG_NEXT(VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, + skipCall |= LOG_INFO_WRONG_NEXT(VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, device, "pCreateInfo"); } @@ -703,7 +703,7 @@ VK_LAYER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateXlibSurfaceKHR( "VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR"); } if (pCreateInfo->pNext != NULL) { - skipCall |= LOG_ERROR_WRONG_NEXT(VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, + skipCall |= LOG_INFO_WRONG_NEXT(VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, device, "pCreateInfo"); } @@ -1133,7 +1133,7 @@ static VkBool32 validateCreateSwapchainKHR( "VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR"); } if (pCreateInfo->pNext != NULL) { - skipCall |= LOG_ERROR_WRONG_NEXT(VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, + skipCall |= LOG_INFO_WRONG_NEXT(VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, device, "pCreateInfo"); } @@ -1709,7 +1709,7 @@ VK_LAYER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR( "VK_STRUCTURE_TYPE_PRESENT_INFO_KHR"); } if (pPresentInfo->pNext != NULL) { - skipCall |= LOG_ERROR_WRONG_NEXT(VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, + skipCall |= LOG_INFO_WRONG_NEXT(VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, device, "pPresentInfo"); } diff --git a/layers/swapchain.h b/layers/swapchain.h index d4b0f236..7076697b 100644 --- a/layers/swapchain.h +++ b/layers/swapchain.h @@ -122,13 +122,6 @@ typedef enum _SWAPCHAIN_ERROR "(expected %s).", \ __FUNCTION__, (obj), (val)) \ : VK_FALSE -#define LOG_ERROR_WRONG_NEXT(objType, type, obj) \ - (my_data) ? \ - log_msg(my_data->report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, (objType), \ - (uint64_t) (obj), 0, SWAPCHAIN_WRONG_NEXT, LAYER_NAME, \ - "%s() called with non-NULL value for %s->pNext.", \ - __FUNCTION__, (obj)) \ - : VK_FALSE #define LOG_ERROR_ZERO_VALUE(objType, type, obj) \ (my_data) ? \ log_msg(my_data->report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, (objType), \ @@ -146,6 +139,13 @@ typedef enum _SWAPCHAIN_ERROR log_msg(my_data->report_data, VK_DEBUG_REPORT_PERF_WARN_BIT_EXT, (objType), \ (uint64_t) (obj), __LINE__, (enm), LAYER_NAME, (fmt), __VA_ARGS__) \ : VK_FALSE +#define LOG_INFO_WRONG_NEXT(objType, type, obj) \ + (my_data) ? \ + log_msg(my_data->report_data, VK_DEBUG_REPORT_INFO_BIT_EXT, (objType), \ + (uint64_t) (obj), 0, SWAPCHAIN_WRONG_NEXT, LAYER_NAME, \ + "%s() called with non-NULL value for %s->pNext.", \ + __FUNCTION__, (obj)) \ + : VK_FALSE // NOTE: The following struct's/typedef's are for keeping track of |
