|
@@ -12,16 +12,60 @@ static VkDebugReportCallbackEXT debugReportCallback;
|
|
#define VK_ERROR_CASE(error) \
|
|
#define VK_ERROR_CASE(error) \
|
|
case error: return #error
|
|
case error: return #error
|
|
|
|
|
|
-const char* getVulkanErrorString(VkResult r) {
|
|
|
|
|
|
+const char* getVulkanResultString(VkResult r) {
|
|
switch(r) {
|
|
switch(r) {
|
|
|
|
+ VK_ERROR_CASE(VK_SUCCESS);
|
|
|
|
+ VK_ERROR_CASE(VK_NOT_READY);
|
|
|
|
+ VK_ERROR_CASE(VK_TIMEOUT);
|
|
|
|
+ VK_ERROR_CASE(VK_EVENT_SET);
|
|
|
|
+ VK_ERROR_CASE(VK_EVENT_RESET);
|
|
|
|
+ VK_ERROR_CASE(VK_INCOMPLETE);
|
|
VK_ERROR_CASE(VK_ERROR_OUT_OF_HOST_MEMORY);
|
|
VK_ERROR_CASE(VK_ERROR_OUT_OF_HOST_MEMORY);
|
|
VK_ERROR_CASE(VK_ERROR_OUT_OF_DEVICE_MEMORY);
|
|
VK_ERROR_CASE(VK_ERROR_OUT_OF_DEVICE_MEMORY);
|
|
VK_ERROR_CASE(VK_ERROR_INITIALIZATION_FAILED);
|
|
VK_ERROR_CASE(VK_ERROR_INITIALIZATION_FAILED);
|
|
|
|
+ VK_ERROR_CASE(VK_ERROR_DEVICE_LOST);
|
|
|
|
+ VK_ERROR_CASE(VK_ERROR_MEMORY_MAP_FAILED);
|
|
VK_ERROR_CASE(VK_ERROR_LAYER_NOT_PRESENT);
|
|
VK_ERROR_CASE(VK_ERROR_LAYER_NOT_PRESENT);
|
|
VK_ERROR_CASE(VK_ERROR_EXTENSION_NOT_PRESENT);
|
|
VK_ERROR_CASE(VK_ERROR_EXTENSION_NOT_PRESENT);
|
|
|
|
+ VK_ERROR_CASE(VK_ERROR_FEATURE_NOT_PRESENT);
|
|
VK_ERROR_CASE(VK_ERROR_INCOMPATIBLE_DRIVER);
|
|
VK_ERROR_CASE(VK_ERROR_INCOMPATIBLE_DRIVER);
|
|
- default: return "unknown";
|
|
|
|
- }
|
|
|
|
|
|
+ VK_ERROR_CASE(VK_ERROR_TOO_MANY_OBJECTS);
|
|
|
|
+ VK_ERROR_CASE(VK_ERROR_FORMAT_NOT_SUPPORTED);
|
|
|
|
+ VK_ERROR_CASE(VK_ERROR_FRAGMENTED_POOL);
|
|
|
|
+ VK_ERROR_CASE(VK_ERROR_UNKNOWN);
|
|
|
|
+ VK_ERROR_CASE(VK_ERROR_OUT_OF_POOL_MEMORY);
|
|
|
|
+ VK_ERROR_CASE(VK_ERROR_INVALID_EXTERNAL_HANDLE);
|
|
|
|
+ VK_ERROR_CASE(VK_ERROR_FRAGMENTATION);
|
|
|
|
+ VK_ERROR_CASE(VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS);
|
|
|
|
+ VK_ERROR_CASE(VK_PIPELINE_COMPILE_REQUIRED);
|
|
|
|
+ VK_ERROR_CASE(VK_ERROR_SURFACE_LOST_KHR);
|
|
|
|
+ VK_ERROR_CASE(VK_ERROR_NATIVE_WINDOW_IN_USE_KHR);
|
|
|
|
+ VK_ERROR_CASE(VK_SUBOPTIMAL_KHR);
|
|
|
|
+ VK_ERROR_CASE(VK_ERROR_OUT_OF_DATE_KHR);
|
|
|
|
+ VK_ERROR_CASE(VK_ERROR_INCOMPATIBLE_DISPLAY_KHR);
|
|
|
|
+ VK_ERROR_CASE(VK_ERROR_VALIDATION_FAILED_EXT);
|
|
|
|
+ VK_ERROR_CASE(VK_ERROR_INVALID_SHADER_NV);
|
|
|
|
+ VK_ERROR_CASE(VK_ERROR_IMAGE_USAGE_NOT_SUPPORTED_KHR);
|
|
|
|
+ VK_ERROR_CASE(VK_ERROR_VIDEO_PICTURE_LAYOUT_NOT_SUPPORTED_KHR);
|
|
|
|
+ VK_ERROR_CASE(VK_ERROR_VIDEO_PROFILE_OPERATION_NOT_SUPPORTED_KHR);
|
|
|
|
+ VK_ERROR_CASE(VK_ERROR_VIDEO_PROFILE_FORMAT_NOT_SUPPORTED_KHR);
|
|
|
|
+ VK_ERROR_CASE(VK_ERROR_VIDEO_PROFILE_CODEC_NOT_SUPPORTED_KHR);
|
|
|
|
+ VK_ERROR_CASE(VK_ERROR_VIDEO_STD_VERSION_NOT_SUPPORTED_KHR);
|
|
|
|
+ VK_ERROR_CASE(VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT);
|
|
|
|
+ VK_ERROR_CASE(VK_ERROR_NOT_PERMITTED_KHR);
|
|
|
|
+ VK_ERROR_CASE(VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT);
|
|
|
|
+ VK_ERROR_CASE(VK_THREAD_IDLE_KHR);
|
|
|
|
+ VK_ERROR_CASE(VK_THREAD_DONE_KHR);
|
|
|
|
+ VK_ERROR_CASE(VK_OPERATION_DEFERRED_KHR);
|
|
|
|
+ VK_ERROR_CASE(VK_OPERATION_NOT_DEFERRED_KHR);
|
|
|
|
+ VK_ERROR_CASE(VK_ERROR_INVALID_VIDEO_STD_PARAMETERS_KHR);
|
|
|
|
+ VK_ERROR_CASE(VK_ERROR_COMPRESSION_EXHAUSTED_EXT);
|
|
|
|
+ VK_ERROR_CASE(VK_INCOMPATIBLE_SHADER_BINARY_EXT);
|
|
|
|
+ VK_ERROR_CASE(VK_PIPELINE_BINARY_MISSING_KHR);
|
|
|
|
+ VK_ERROR_CASE(VK_ERROR_NOT_ENOUGH_SPACE_KHR);
|
|
|
|
+ default: break;
|
|
|
|
+ }
|
|
|
|
+ return "unknown";
|
|
}
|
|
}
|
|
|
|
|
|
static PFN_vkVoidFunction getVulkanFunction(const char* name) {
|
|
static PFN_vkVoidFunction getVulkanFunction(const char* name) {
|
|
@@ -252,7 +296,7 @@ bool hasVulkanExtension(VkPhysicalDevice pd, const char* extension) {
|
|
if(r != VK_SUCCESS) {
|
|
if(r != VK_SUCCESS) {
|
|
LOG_ERROR(
|
|
LOG_ERROR(
|
|
"Cannot get physical device extension properties: %s",
|
|
"Cannot get physical device extension properties: %s",
|
|
- getVulkanErrorString(r));
|
|
|
|
|
|
+ getVulkanResultString(r));
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
for(u32 i = 0; i < c; i++) {
|
|
for(u32 i = 0; i < c; i++) {
|