anv: add missing core errors in vk_errorf()
[mesa.git] / src / intel / vulkan / anv_util.c
index 62f47051ec7e6d51c3a3d8ddcd564b350f7e4e13..289d01ecb0c8871363f2643e004f00367f9a4c5d 100644 (file)
@@ -63,25 +63,6 @@ __anv_finishme(const char *file, int line, const char *format, ...)
    fprintf(stderr, "%s:%d: FINISHME: %s\n", file, line, buffer);
 }
 
-void anv_noreturn anv_printflike(1, 2)
-anv_abortf(const char *format, ...)
-{
-   va_list va;
-
-   va_start(va, format);
-   anv_abortfv(format, va);
-   va_end(va);
-}
-
-void anv_noreturn
-anv_abortfv(const char *format, va_list va)
-{
-   fprintf(stderr, "vk: error: ");
-   vfprintf(stderr, format, va);
-   fprintf(stderr, "\n");
-   abort();
-}
-
 VkResult
 __vk_errorf(VkResult error, const char *file, int line, const char *format, ...)
 {
@@ -101,10 +82,15 @@ __vk_errorf(VkResult error, const char *file, int line, const char *format, ...)
    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_FEATURE_NOT_PRESENT)
    ERROR_CASE(VK_ERROR_INCOMPATIBLE_DRIVER)
+   ERROR_CASE(VK_ERROR_TOO_MANY_OBJECTS)
+   ERROR_CASE(VK_ERROR_FORMAT_NOT_SUPPORTED)
+   ERROR_CASE(VK_ERROR_FRAGMENTED_POOL)
 
    /* Extension errors */
    ERROR_CASE(VK_ERROR_OUT_OF_DATE_KHR)
+   ERROR_CASE(VK_ERROR_OUT_OF_POOL_MEMORY_KHR)
 
    default:
       assert(!"Unknown error");
@@ -125,78 +111,3 @@ __vk_errorf(VkResult error, const char *file, int line, const char *format, ...)
 
    return error;
 }
-
-int
-anv_vector_init(struct anv_vector *vector, uint32_t element_size, uint32_t size)
-{
-   assert(util_is_power_of_two(size));
-   assert(element_size < size && util_is_power_of_two(element_size));
-
-   vector->head = 0;
-   vector->tail = 0;
-   vector->element_size = element_size;
-   vector->size = size;
-   vector->data = malloc(size);
-
-   return vector->data != NULL;
-}
-
-void *
-anv_vector_add(struct anv_vector *vector)
-{
-   uint32_t offset, size, split, src_tail, dst_tail;
-   void *data;
-
-   if (vector->head - vector->tail == vector->size) {
-      size = vector->size * 2;
-      data = malloc(size);
-      if (data == NULL)
-         return NULL;
-      src_tail = vector->tail & (vector->size - 1);
-      dst_tail = vector->tail & (size - 1);
-      if (src_tail == 0) {
-         /* Since we know that the vector is full, this means that it's
-          * linear from start to end so we can do one copy.
-          */
-         memcpy(data + dst_tail, vector->data, vector->size);
-      } else {
-         /* In this case, the vector is split into two pieces and we have
-          * to do two copies.  We have to be careful to make sure each
-          * piece goes to the right locations.  Thanks to the change in
-          * size, it may or may not still wrap around.
-          */
-         split = align_u32(vector->tail, vector->size);
-         assert(vector->tail <= split && split < vector->head);
-         memcpy(data + dst_tail, vector->data + src_tail,
-                split - vector->tail);
-         memcpy(data + (split & (size - 1)), vector->data,
-                vector->head - split);
-      }
-      free(vector->data);
-      vector->data = data;
-      vector->size = size;
-   }
-
-   assert(vector->head - vector->tail < vector->size);
-
-   offset = vector->head & (vector->size - 1);
-   vector->head += vector->element_size;
-
-   return vector->data + offset;
-}
-
-void *
-anv_vector_remove(struct anv_vector *vector)
-{
-   uint32_t offset;
-
-   if (vector->head == vector->tail)
-      return NULL;
-
-   assert(vector->head - vector->tail <= vector->size);
-
-   offset = vector->tail & (vector->size - 1);
-   vector->tail += vector->element_size;
-
-   return vector->data + offset;
-}