vk: gem handles are uint32_t
[mesa.git] / src / vulkan / anv_util.c
index 94f14f98f8fcc275788eb745a4ebff48b38541ca..22fd01c9495f83e05dbdbdf3b3402592fcda6d46 100644 (file)
@@ -88,52 +88,39 @@ __vk_errorf(VkResult error, const char *file, int line, const char *format, ...)
    va_list ap;
    char buffer[256];
 
-   static const char *error_names[] = {
-      "VK_ERROR_UNKNOWN",
-      "VK_ERROR_UNAVAILABLE",
-      "VK_ERROR_INITIALIZATION_FAILED",
-      "VK_ERROR_OUT_OF_HOST_MEMORY",
-      "VK_ERROR_OUT_OF_DEVICE_MEMORY",
-      "VK_ERROR_DEVICE_ALREADY_CREATED",
-      "VK_ERROR_DEVICE_LOST",
-      "VK_ERROR_INVALID_POINTER",
-      "VK_ERROR_INVALID_VALUE",
-      "VK_ERROR_INVALID_HANDLE",
-      "VK_ERROR_INVALID_ORDINAL",
-      "VK_ERROR_INVALID_MEMORY_SIZE",
-      "VK_ERROR_INVALID_EXTENSION",
-      "VK_ERROR_INVALID_FLAGS",
-      "VK_ERROR_INVALID_ALIGNMENT",
-      "VK_ERROR_INVALID_FORMAT",
-      "VK_ERROR_INVALID_IMAGE",
-      "VK_ERROR_INVALID_DESCRIPTOR_SET_DATA",
-      "VK_ERROR_INVALID_QUEUE_TYPE",
-      "VK_ERROR_UNSUPPORTED_SHADER_IL_VERSION",
-      "VK_ERROR_BAD_SHADER_CODE",
-      "VK_ERROR_BAD_PIPELINE_DATA",
-      "VK_ERROR_NOT_MAPPABLE",
-      "VK_ERROR_MEMORY_MAP_FAILED",
-      "VK_ERROR_MEMORY_UNMAP_FAILED",
-      "VK_ERROR_INCOMPATIBLE_DEVICE",
-      "VK_ERROR_INCOMPATIBLE_DRIVER",
-      "VK_ERROR_INCOMPLETE_COMMAND_BUFFER",
-      "VK_ERROR_BUILDING_COMMAND_BUFFER",
-      "VK_ERROR_MEMORY_NOT_BOUND",
-      "VK_ERROR_INCOMPATIBLE_QUEUE",
-      "VK_ERROR_INVALID_LAYER",
-   };
-
-   assert(error <= VK_ERROR_UNKNOWN && error >= VK_ERROR_INVALID_LAYER);
+#define ERROR_CASE(error) case error: error_str = #error; break;
+
+   const char *error_str;
+   switch ((int32_t)error) {
+
+   /* Core errors */
+   ERROR_CASE(VK_ERROR_OUT_OF_HOST_MEMORY)
+   ERROR_CASE(VK_ERROR_OUT_OF_DEVICE_MEMORY)
+   ERROR_CASE(VK_ERROR_INITIALIZATION_FAILED)
+   ERROR_CASE(VK_ERROR_DEVICE_LOST)
+   ERROR_CASE(VK_ERROR_MEMORY_MAP_FAILED)
+   ERROR_CASE(VK_ERROR_LAYER_NOT_PRESENT)
+   ERROR_CASE(VK_ERROR_EXTENSION_NOT_PRESENT)
+   ERROR_CASE(VK_ERROR_INCOMPATIBLE_DRIVER)
+
+   /* Extension errors */
+   ERROR_CASE(VK_ERROR_OUT_OF_DATE_KHR)
+
+   default:
+      assert(!"Unknown error");
+      error_str = "unknown error";
+   }
+
+#undef ERROR_CASE
 
    if (format) {
       va_start(ap, format);
       vsnprintf(buffer, sizeof(buffer), format, ap);
       va_end(ap);
 
-      fprintf(stderr, "%s:%d: %s (%s)\n", file, line,
-              buffer, error_names[-error - 1]);
+      fprintf(stderr, "%s:%d: %s (%s)\n", file, line, buffer, error_str);
    } else {
-      fprintf(stderr, "%s:%d: %s\n", file, line, error_names[-error - 1]);
+      fprintf(stderr, "%s:%d: %s\n", file, line, error_str);
    }
 
    return error;