VulkanUtility.cpp 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. #include "core/VulkanUtility.hpp"
  2. namespace Vulkan = Core::Vulkan;
  3. #define VK_ERROR_CASE(error) \
  4. case error: return #error
  5. const char* Vulkan::getResultString(VkResult r) {
  6. switch(r) {
  7. VK_ERROR_CASE(VK_SUCCESS);
  8. VK_ERROR_CASE(VK_NOT_READY);
  9. VK_ERROR_CASE(VK_TIMEOUT);
  10. VK_ERROR_CASE(VK_EVENT_SET);
  11. VK_ERROR_CASE(VK_EVENT_RESET);
  12. VK_ERROR_CASE(VK_INCOMPLETE);
  13. VK_ERROR_CASE(VK_ERROR_OUT_OF_HOST_MEMORY);
  14. VK_ERROR_CASE(VK_ERROR_OUT_OF_DEVICE_MEMORY);
  15. VK_ERROR_CASE(VK_ERROR_INITIALIZATION_FAILED);
  16. VK_ERROR_CASE(VK_ERROR_DEVICE_LOST);
  17. VK_ERROR_CASE(VK_ERROR_MEMORY_MAP_FAILED);
  18. VK_ERROR_CASE(VK_ERROR_LAYER_NOT_PRESENT);
  19. VK_ERROR_CASE(VK_ERROR_EXTENSION_NOT_PRESENT);
  20. VK_ERROR_CASE(VK_ERROR_FEATURE_NOT_PRESENT);
  21. VK_ERROR_CASE(VK_ERROR_INCOMPATIBLE_DRIVER);
  22. VK_ERROR_CASE(VK_ERROR_TOO_MANY_OBJECTS);
  23. VK_ERROR_CASE(VK_ERROR_FORMAT_NOT_SUPPORTED);
  24. VK_ERROR_CASE(VK_ERROR_FRAGMENTED_POOL);
  25. VK_ERROR_CASE(VK_ERROR_UNKNOWN);
  26. VK_ERROR_CASE(VK_ERROR_OUT_OF_POOL_MEMORY);
  27. VK_ERROR_CASE(VK_ERROR_INVALID_EXTERNAL_HANDLE);
  28. VK_ERROR_CASE(VK_ERROR_FRAGMENTATION);
  29. VK_ERROR_CASE(VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS);
  30. VK_ERROR_CASE(VK_PIPELINE_COMPILE_REQUIRED);
  31. VK_ERROR_CASE(VK_ERROR_SURFACE_LOST_KHR);
  32. VK_ERROR_CASE(VK_ERROR_NATIVE_WINDOW_IN_USE_KHR);
  33. VK_ERROR_CASE(VK_SUBOPTIMAL_KHR);
  34. VK_ERROR_CASE(VK_ERROR_OUT_OF_DATE_KHR);
  35. VK_ERROR_CASE(VK_ERROR_INCOMPATIBLE_DISPLAY_KHR);
  36. VK_ERROR_CASE(VK_ERROR_VALIDATION_FAILED_EXT);
  37. VK_ERROR_CASE(VK_ERROR_INVALID_SHADER_NV);
  38. VK_ERROR_CASE(VK_ERROR_IMAGE_USAGE_NOT_SUPPORTED_KHR);
  39. VK_ERROR_CASE(VK_ERROR_VIDEO_PICTURE_LAYOUT_NOT_SUPPORTED_KHR);
  40. VK_ERROR_CASE(VK_ERROR_VIDEO_PROFILE_OPERATION_NOT_SUPPORTED_KHR);
  41. VK_ERROR_CASE(VK_ERROR_VIDEO_PROFILE_FORMAT_NOT_SUPPORTED_KHR);
  42. VK_ERROR_CASE(VK_ERROR_VIDEO_PROFILE_CODEC_NOT_SUPPORTED_KHR);
  43. VK_ERROR_CASE(VK_ERROR_VIDEO_STD_VERSION_NOT_SUPPORTED_KHR);
  44. VK_ERROR_CASE(VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT);
  45. VK_ERROR_CASE(VK_ERROR_NOT_PERMITTED_KHR);
  46. VK_ERROR_CASE(VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT);
  47. VK_ERROR_CASE(VK_THREAD_IDLE_KHR);
  48. VK_ERROR_CASE(VK_THREAD_DONE_KHR);
  49. VK_ERROR_CASE(VK_OPERATION_DEFERRED_KHR);
  50. VK_ERROR_CASE(VK_OPERATION_NOT_DEFERRED_KHR);
  51. VK_ERROR_CASE(VK_ERROR_INVALID_VIDEO_STD_PARAMETERS_KHR);
  52. VK_ERROR_CASE(VK_ERROR_COMPRESSION_EXHAUSTED_EXT);
  53. VK_ERROR_CASE(VK_INCOMPATIBLE_SHADER_BINARY_EXT);
  54. VK_ERROR_CASE(VK_PIPELINE_BINARY_MISSING_KHR);
  55. VK_ERROR_CASE(VK_ERROR_NOT_ENOUGH_SPACE_KHR);
  56. default: break;
  57. }
  58. return "unknown";
  59. }