diff --git a/src/renderer_vk.cpp b/src/renderer_vk.cpp index 63de6f540..7b2ddafda 100644 --- a/src/renderer_vk.cpp +++ b/src/renderer_vk.cpp @@ -894,8 +894,6 @@ VK_IMPORT_DEVICE VKENUM(VK_INCOMPLETE); VKENUM(VK_ERROR_OUT_OF_HOST_MEMORY); VKENUM(VK_ERROR_OUT_OF_DEVICE_MEMORY); - VKENUM(VK_ERROR_OUT_OF_POOL_MEMORY); - VKENUM(VK_ERROR_FRAGMENTED_POOL); VKENUM(VK_ERROR_INITIALIZATION_FAILED); VKENUM(VK_ERROR_DEVICE_LOST); VKENUM(VK_ERROR_MEMORY_MAP_FAILED); @@ -905,12 +903,20 @@ VK_IMPORT_DEVICE VKENUM(VK_ERROR_INCOMPATIBLE_DRIVER); VKENUM(VK_ERROR_TOO_MANY_OBJECTS); VKENUM(VK_ERROR_FORMAT_NOT_SUPPORTED); + VKENUM(VK_ERROR_FRAGMENTED_POOL); + VKENUM(VK_ERROR_UNKNOWN); + VKENUM(VK_ERROR_VALIDATION_FAILED); + VKENUM(VK_ERROR_OUT_OF_POOL_MEMORY); + VKENUM(VK_ERROR_INVALID_EXTERNAL_HANDLE); + VKENUM(VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS); + VKENUM(VK_ERROR_FRAGMENTATION); + VKENUM(VK_PIPELINE_COMPILE_REQUIRED); + VKENUM(VK_ERROR_NOT_PERMITTED); VKENUM(VK_ERROR_SURFACE_LOST_KHR); VKENUM(VK_ERROR_NATIVE_WINDOW_IN_USE_KHR); VKENUM(VK_SUBOPTIMAL_KHR); VKENUM(VK_ERROR_OUT_OF_DATE_KHR); VKENUM(VK_ERROR_INCOMPATIBLE_DISPLAY_KHR); - VKENUM(VK_ERROR_VALIDATION_FAILED_EXT); #undef VKENUM default: break; } @@ -922,26 +928,26 @@ VK_IMPORT_DEVICE template constexpr VkObjectType getType(); - template<> VkObjectType getType() { return VK_OBJECT_TYPE_BUFFER; } - template<> VkObjectType getType() { return VK_OBJECT_TYPE_COMMAND_POOL; } - template<> VkObjectType getType() { return VK_OBJECT_TYPE_DESCRIPTOR_POOL; } - template<> VkObjectType getType() { return VK_OBJECT_TYPE_DESCRIPTOR_SET; } - template<> VkObjectType getType() { return VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT; } - template<> VkObjectType getType() { return VK_OBJECT_TYPE_DEVICE_MEMORY; } - template<> VkObjectType getType() { return VK_OBJECT_TYPE_FENCE; } - template<> VkObjectType getType() { return VK_OBJECT_TYPE_FRAMEBUFFER; } - template<> VkObjectType getType() { return VK_OBJECT_TYPE_IMAGE; } - template<> VkObjectType getType() { return VK_OBJECT_TYPE_IMAGE_VIEW; } - template<> VkObjectType getType() { return VK_OBJECT_TYPE_PIPELINE; } - template<> VkObjectType getType() { return VK_OBJECT_TYPE_PIPELINE_CACHE; } - template<> VkObjectType getType() { return VK_OBJECT_TYPE_PIPELINE_LAYOUT; } - template<> VkObjectType getType() { return VK_OBJECT_TYPE_QUERY_POOL; } - template<> VkObjectType getType() { return VK_OBJECT_TYPE_RENDER_PASS; } - template<> VkObjectType getType() { return VK_OBJECT_TYPE_SAMPLER; } - template<> VkObjectType getType() { return VK_OBJECT_TYPE_SEMAPHORE; } - template<> VkObjectType getType() { return VK_OBJECT_TYPE_SHADER_MODULE; } - template<> VkObjectType getType() { return VK_OBJECT_TYPE_SURFACE_KHR; } - template<> VkObjectType getType() { return VK_OBJECT_TYPE_SWAPCHAIN_KHR; } + template<> constexpr VkObjectType getType() { return VK_OBJECT_TYPE_BUFFER; } + template<> constexpr VkObjectType getType() { return VK_OBJECT_TYPE_COMMAND_POOL; } + template<> constexpr VkObjectType getType() { return VK_OBJECT_TYPE_DESCRIPTOR_POOL; } + template<> constexpr VkObjectType getType() { return VK_OBJECT_TYPE_DESCRIPTOR_SET; } + template<> constexpr VkObjectType getType() { return VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT; } + template<> constexpr VkObjectType getType() { return VK_OBJECT_TYPE_DEVICE_MEMORY; } + template<> constexpr VkObjectType getType() { return VK_OBJECT_TYPE_FENCE; } + template<> constexpr VkObjectType getType() { return VK_OBJECT_TYPE_FRAMEBUFFER; } + template<> constexpr VkObjectType getType() { return VK_OBJECT_TYPE_IMAGE; } + template<> constexpr VkObjectType getType() { return VK_OBJECT_TYPE_IMAGE_VIEW; } + template<> constexpr VkObjectType getType() { return VK_OBJECT_TYPE_PIPELINE; } + template<> constexpr VkObjectType getType() { return VK_OBJECT_TYPE_PIPELINE_CACHE; } + template<> constexpr VkObjectType getType() { return VK_OBJECT_TYPE_PIPELINE_LAYOUT; } + template<> constexpr VkObjectType getType() { return VK_OBJECT_TYPE_QUERY_POOL; } + template<> constexpr VkObjectType getType() { return VK_OBJECT_TYPE_RENDER_PASS; } + template<> constexpr VkObjectType getType() { return VK_OBJECT_TYPE_SAMPLER; } + template<> constexpr VkObjectType getType() { return VK_OBJECT_TYPE_SEMAPHORE; } + template<> constexpr VkObjectType getType() { return VK_OBJECT_TYPE_SHADER_MODULE; } + template<> constexpr VkObjectType getType() { return VK_OBJECT_TYPE_SURFACE_KHR; } + template<> constexpr VkObjectType getType() { return VK_OBJECT_TYPE_SWAPCHAIN_KHR; } template static BX_NO_INLINE void setDebugObjectName(VkDevice _device, Ty _object, const char* _format, ...) @@ -963,7 +969,7 @@ VK_IMPORT_DEVICE ni.objectHandle = uint64_t(_object.vk); ni.pObjectName = temp; - VK_CHECK(vkSetDebugUtilsObjectNameEXT(_device, &ni) ); + VK_CHECK_W(vkSetDebugUtilsObjectNameEXT(_device, &ni) ); } } diff --git a/src/renderer_vk.h b/src/renderer_vk.h index e0a908210..27b4d009c 100644 --- a/src/renderer_vk.h +++ b/src/renderer_vk.h @@ -245,17 +245,19 @@ VK_DESTROY_FUNC(ShaderModule); \ VK_DESTROY_FUNC(SwapchainKHR); \ -#define _VK_CHECK(_check, _call) \ - BX_MACRO_BLOCK_BEGIN \ - /*BX_TRACE(#_call);*/ \ - VkResult vkresult = _call; \ - _check(VK_SUCCESS == vkresult, #_call "; VK error 0x%x: %s", vkresult, getName(vkresult) ); \ +#define _VK_CHECK(_check, _call) \ + BX_MACRO_BLOCK_BEGIN \ + /*BX_TRACE(#_call);*/ \ + VkResult vkresult = _call; \ + _check(VK_SUCCESS == vkresult, #_call "; VK error %d: %s", vkresult, getName(vkresult) ); \ BX_MACRO_BLOCK_END #if BGFX_CONFIG_DEBUG -# define VK_CHECK(_call) _VK_CHECK(BX_ASSERT, _call) +# define VK_CHECK(_call) _VK_CHECK(BX_ASSERT, _call) +# define VK_CHECK_W(_call) _VK_CHECK(BX_WARN, _call) #else -# define VK_CHECK(_call) _call +# define VK_CHECK(_call) _call +# define VK_CHECK_W(_call) _call #endif // BGFX_CONFIG_DEBUG #if BGFX_CONFIG_DEBUG_ANNOTATION