mirror of
https://github.com/bkaradzic/bgfx.git
synced 2026-02-17 20:52:36 +01:00
VK: Don't assert when it fails to set debug object name. (#3499)
* VK: Don't assert when it fails to set debug object name. * VK: Show VkResult as decimal to match vulkan.h.
This commit is contained in:
committed by
GitHub
parent
ee2072d02f
commit
df6e5ced62
@@ -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<typename Ty>
|
||||
constexpr VkObjectType getType();
|
||||
|
||||
template<> VkObjectType getType<VkBuffer >() { return VK_OBJECT_TYPE_BUFFER; }
|
||||
template<> VkObjectType getType<VkCommandPool >() { return VK_OBJECT_TYPE_COMMAND_POOL; }
|
||||
template<> VkObjectType getType<VkDescriptorPool >() { return VK_OBJECT_TYPE_DESCRIPTOR_POOL; }
|
||||
template<> VkObjectType getType<VkDescriptorSet >() { return VK_OBJECT_TYPE_DESCRIPTOR_SET; }
|
||||
template<> VkObjectType getType<VkDescriptorSetLayout>() { return VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT; }
|
||||
template<> VkObjectType getType<VkDeviceMemory >() { return VK_OBJECT_TYPE_DEVICE_MEMORY; }
|
||||
template<> VkObjectType getType<VkFence >() { return VK_OBJECT_TYPE_FENCE; }
|
||||
template<> VkObjectType getType<VkFramebuffer >() { return VK_OBJECT_TYPE_FRAMEBUFFER; }
|
||||
template<> VkObjectType getType<VkImage >() { return VK_OBJECT_TYPE_IMAGE; }
|
||||
template<> VkObjectType getType<VkImageView >() { return VK_OBJECT_TYPE_IMAGE_VIEW; }
|
||||
template<> VkObjectType getType<VkPipeline >() { return VK_OBJECT_TYPE_PIPELINE; }
|
||||
template<> VkObjectType getType<VkPipelineCache >() { return VK_OBJECT_TYPE_PIPELINE_CACHE; }
|
||||
template<> VkObjectType getType<VkPipelineLayout >() { return VK_OBJECT_TYPE_PIPELINE_LAYOUT; }
|
||||
template<> VkObjectType getType<VkQueryPool >() { return VK_OBJECT_TYPE_QUERY_POOL; }
|
||||
template<> VkObjectType getType<VkRenderPass >() { return VK_OBJECT_TYPE_RENDER_PASS; }
|
||||
template<> VkObjectType getType<VkSampler >() { return VK_OBJECT_TYPE_SAMPLER; }
|
||||
template<> VkObjectType getType<VkSemaphore >() { return VK_OBJECT_TYPE_SEMAPHORE; }
|
||||
template<> VkObjectType getType<VkShaderModule >() { return VK_OBJECT_TYPE_SHADER_MODULE; }
|
||||
template<> VkObjectType getType<VkSurfaceKHR >() { return VK_OBJECT_TYPE_SURFACE_KHR; }
|
||||
template<> VkObjectType getType<VkSwapchainKHR >() { return VK_OBJECT_TYPE_SWAPCHAIN_KHR; }
|
||||
template<> constexpr VkObjectType getType<VkBuffer >() { return VK_OBJECT_TYPE_BUFFER; }
|
||||
template<> constexpr VkObjectType getType<VkCommandPool >() { return VK_OBJECT_TYPE_COMMAND_POOL; }
|
||||
template<> constexpr VkObjectType getType<VkDescriptorPool >() { return VK_OBJECT_TYPE_DESCRIPTOR_POOL; }
|
||||
template<> constexpr VkObjectType getType<VkDescriptorSet >() { return VK_OBJECT_TYPE_DESCRIPTOR_SET; }
|
||||
template<> constexpr VkObjectType getType<VkDescriptorSetLayout>() { return VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT; }
|
||||
template<> constexpr VkObjectType getType<VkDeviceMemory >() { return VK_OBJECT_TYPE_DEVICE_MEMORY; }
|
||||
template<> constexpr VkObjectType getType<VkFence >() { return VK_OBJECT_TYPE_FENCE; }
|
||||
template<> constexpr VkObjectType getType<VkFramebuffer >() { return VK_OBJECT_TYPE_FRAMEBUFFER; }
|
||||
template<> constexpr VkObjectType getType<VkImage >() { return VK_OBJECT_TYPE_IMAGE; }
|
||||
template<> constexpr VkObjectType getType<VkImageView >() { return VK_OBJECT_TYPE_IMAGE_VIEW; }
|
||||
template<> constexpr VkObjectType getType<VkPipeline >() { return VK_OBJECT_TYPE_PIPELINE; }
|
||||
template<> constexpr VkObjectType getType<VkPipelineCache >() { return VK_OBJECT_TYPE_PIPELINE_CACHE; }
|
||||
template<> constexpr VkObjectType getType<VkPipelineLayout >() { return VK_OBJECT_TYPE_PIPELINE_LAYOUT; }
|
||||
template<> constexpr VkObjectType getType<VkQueryPool >() { return VK_OBJECT_TYPE_QUERY_POOL; }
|
||||
template<> constexpr VkObjectType getType<VkRenderPass >() { return VK_OBJECT_TYPE_RENDER_PASS; }
|
||||
template<> constexpr VkObjectType getType<VkSampler >() { return VK_OBJECT_TYPE_SAMPLER; }
|
||||
template<> constexpr VkObjectType getType<VkSemaphore >() { return VK_OBJECT_TYPE_SEMAPHORE; }
|
||||
template<> constexpr VkObjectType getType<VkShaderModule >() { return VK_OBJECT_TYPE_SHADER_MODULE; }
|
||||
template<> constexpr VkObjectType getType<VkSurfaceKHR >() { return VK_OBJECT_TYPE_SURFACE_KHR; }
|
||||
template<> constexpr VkObjectType getType<VkSwapchainKHR >() { return VK_OBJECT_TYPE_SWAPCHAIN_KHR; }
|
||||
|
||||
template<typename Ty>
|
||||
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) );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user