lavapipe: Switch to the new vk_error helpers
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13045>
This commit is contained in:
parent
7a2516568d
commit
47adb11143
|
@ -36,7 +36,7 @@ static VkResult lvp_create_cmd_buffer(
|
|||
cmd_buffer = vk_alloc(&pool->alloc, sizeof(*cmd_buffer), 8,
|
||||
VK_SYSTEM_ALLOCATION_SCOPE_OBJECT);
|
||||
if (cmd_buffer == NULL)
|
||||
return vk_error(device->instance, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
return vk_error(device, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
|
||||
VkResult result = vk_command_buffer_init(&cmd_buffer->vk, &device->vk);
|
||||
if (result != VK_SUCCESS) {
|
||||
|
@ -192,7 +192,7 @@ VKAPI_ATTR VkResult VKAPI_CALL lvp_CreateCommandPool(
|
|||
pool = vk_alloc2(&device->vk.alloc, pAllocator, sizeof(*pool), 8,
|
||||
VK_SYSTEM_ALLOCATION_SCOPE_OBJECT);
|
||||
if (pool == NULL)
|
||||
return vk_error(device->instance, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
return vk_error(device, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
|
||||
vk_object_base_init(&device->vk, &pool->base,
|
||||
VK_OBJECT_TYPE_COMMAND_POOL);
|
||||
|
|
|
@ -65,7 +65,7 @@ VKAPI_ATTR VkResult VKAPI_CALL lvp_CreateDescriptorSetLayout(
|
|||
set_layout = vk_zalloc2(&device->vk.alloc, pAllocator, size, 8,
|
||||
VK_SYSTEM_ALLOCATION_SCOPE_OBJECT);
|
||||
if (!set_layout)
|
||||
return vk_error(device->instance, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
return vk_error(device, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
|
||||
vk_object_base_init(&device->vk, &set_layout->base,
|
||||
VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT);
|
||||
|
@ -86,7 +86,7 @@ VKAPI_ATTR VkResult VKAPI_CALL lvp_CreateDescriptorSetLayout(
|
|||
if (result != VK_SUCCESS) {
|
||||
vk_object_base_finish(&set_layout->base);
|
||||
vk_free2(&device->vk.alloc, pAllocator, set_layout);
|
||||
return vk_error(device->instance, result);
|
||||
return vk_error(device, result);
|
||||
}
|
||||
|
||||
uint32_t dynamic_offset_count = 0;
|
||||
|
@ -218,7 +218,7 @@ VKAPI_ATTR VkResult VKAPI_CALL lvp_CreatePipelineLayout(
|
|||
layout = vk_alloc2(&device->vk.alloc, pAllocator, sizeof(*layout), 8,
|
||||
VK_SYSTEM_ALLOCATION_SCOPE_OBJECT);
|
||||
if (layout == NULL)
|
||||
return vk_error(device->instance, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
return vk_error(device, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
|
||||
vk_object_base_init(&device->vk, &layout->base,
|
||||
VK_OBJECT_TYPE_PIPELINE_LAYOUT);
|
||||
|
@ -271,7 +271,7 @@ lvp_descriptor_set_create(struct lvp_device *device,
|
|||
set = vk_alloc(&device->vk.alloc /* XXX: Use the pool */, size, 8,
|
||||
VK_SYSTEM_ALLOCATION_SCOPE_OBJECT);
|
||||
if (!set)
|
||||
return vk_error(device->instance, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
return vk_error(device, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
|
||||
/* A descriptor set may not be 100% filled. Clear the set so we can can
|
||||
* later detect holes in it.
|
||||
|
@ -489,7 +489,7 @@ VKAPI_ATTR VkResult VKAPI_CALL lvp_CreateDescriptorPool(
|
|||
pool = vk_zalloc2(&device->vk.alloc, pAllocator, size, 8,
|
||||
VK_SYSTEM_ALLOCATION_SCOPE_OBJECT);
|
||||
if (!pool)
|
||||
return vk_error(device->instance, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
return vk_error(device, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
|
||||
vk_object_base_init(&device->vk, &pool->base,
|
||||
VK_OBJECT_TYPE_DESCRIPTOR_POOL);
|
||||
|
@ -559,7 +559,7 @@ VKAPI_ATTR VkResult VKAPI_CALL lvp_CreateDescriptorUpdateTemplate(VkDevice _devi
|
|||
|
||||
templ = vk_alloc2(&device->vk.alloc, pAllocator, size, 8, VK_SYSTEM_ALLOCATION_SCOPE_OBJECT);
|
||||
if (!templ)
|
||||
return vk_error(device->instance, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
return vk_error(device, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
|
||||
vk_object_base_init(&device->vk, &templ->base,
|
||||
VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE);
|
||||
|
|
|
@ -1668,7 +1668,7 @@ VKAPI_ATTR VkResult VKAPI_CALL lvp_AllocateMemory(
|
|||
mem = vk_alloc2(&device->vk.alloc, pAllocator, sizeof(*mem), 8,
|
||||
VK_SYSTEM_ALLOCATION_SCOPE_OBJECT);
|
||||
if (mem == NULL)
|
||||
return vk_error(device->instance, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
return vk_error(device, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
|
||||
vk_object_base_init(&device->vk, &mem->base,
|
||||
VK_OBJECT_TYPE_DEVICE_MEMORY);
|
||||
|
@ -1724,7 +1724,7 @@ VKAPI_ATTR VkResult VKAPI_CALL lvp_AllocateMemory(
|
|||
|
||||
fail:
|
||||
vk_free2(&device->vk.alloc, pAllocator, mem);
|
||||
return vk_error(device->instance, error);
|
||||
return vk_error(device, error);
|
||||
}
|
||||
|
||||
VKAPI_ATTR void VKAPI_CALL lvp_FreeMemory(
|
||||
|
@ -1974,7 +1974,7 @@ VKAPI_ATTR VkResult VKAPI_CALL lvp_BindImageMemory2(VkDevice _device,
|
|||
* report this as the *closest* allowed error-code. It's not ideal,
|
||||
* but it's unlikely that anyone will care too much.
|
||||
*/
|
||||
return vk_error(device->instance, VK_ERROR_OUT_OF_DEVICE_MEMORY);
|
||||
return vk_error(device, VK_ERROR_OUT_OF_DEVICE_MEMORY);
|
||||
}
|
||||
image->pmem = mem->pmem;
|
||||
image->memory_offset = bind_info->memoryOffset;
|
||||
|
@ -2041,7 +2041,7 @@ VKAPI_ATTR VkResult VKAPI_CALL lvp_CreateFence(
|
|||
fence = vk_alloc2(&device->vk.alloc, pAllocator, sizeof(*fence), 8,
|
||||
VK_SYSTEM_ALLOCATION_SCOPE_OBJECT);
|
||||
if (fence == NULL)
|
||||
return vk_error(device->instance, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
return vk_error(device, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
vk_object_base_init(&device->vk, &fence->base, VK_OBJECT_TYPE_FENCE);
|
||||
util_queue_fence_init(&fence->fence);
|
||||
fence->signalled = (pCreateInfo->flags & VK_FENCE_CREATE_SIGNALED_BIT) == VK_FENCE_CREATE_SIGNALED_BIT;
|
||||
|
@ -2144,7 +2144,7 @@ VKAPI_ATTR VkResult VKAPI_CALL lvp_CreateFramebuffer(
|
|||
framebuffer = vk_alloc2(&device->vk.alloc, pAllocator, size, 8,
|
||||
VK_SYSTEM_ALLOCATION_SCOPE_OBJECT);
|
||||
if (framebuffer == NULL)
|
||||
return vk_error(device->instance, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
return vk_error(device, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
|
||||
vk_object_base_init(&device->vk, &framebuffer->base,
|
||||
VK_OBJECT_TYPE_FRAMEBUFFER);
|
||||
|
@ -2253,7 +2253,7 @@ VKAPI_ATTR VkResult VKAPI_CALL lvp_CreateSemaphore(
|
|||
VK_SYSTEM_ALLOCATION_SCOPE_OBJECT);
|
||||
|
||||
if (!sema)
|
||||
return vk_error(device->instance, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
return vk_error(device, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
vk_object_base_init(&device->vk, &sema->base,
|
||||
VK_OBJECT_TYPE_SEMAPHORE);
|
||||
|
||||
|
@ -2348,7 +2348,7 @@ VKAPI_ATTR VkResult VKAPI_CALL lvp_CreateEvent(
|
|||
VK_SYSTEM_ALLOCATION_SCOPE_OBJECT);
|
||||
|
||||
if (!event)
|
||||
return vk_error(device->instance, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
return vk_error(device, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
|
||||
vk_object_base_init(&device->vk, &event->base, VK_OBJECT_TYPE_EVENT);
|
||||
*pEvent = lvp_event_to_handle(event);
|
||||
|
@ -2422,7 +2422,7 @@ VKAPI_ATTR VkResult VKAPI_CALL lvp_CreateSampler(
|
|||
sampler = vk_alloc2(&device->vk.alloc, pAllocator, sizeof(*sampler), 8,
|
||||
VK_SYSTEM_ALLOCATION_SCOPE_OBJECT);
|
||||
if (!sampler)
|
||||
return vk_error(device->instance, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
return vk_error(device, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
|
||||
vk_object_base_init(&device->vk, &sampler->base,
|
||||
VK_OBJECT_TYPE_SAMPLER);
|
||||
|
|
|
@ -39,7 +39,7 @@ lvp_image_create(VkDevice _device,
|
|||
|
||||
image = vk_image_create(&device->vk, pCreateInfo, alloc, sizeof(*image));
|
||||
if (image == NULL)
|
||||
return vk_error(device->instance, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
return vk_error(device, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
|
||||
image->alignment = 16;
|
||||
{
|
||||
|
@ -100,7 +100,7 @@ lvp_image_create(VkDevice _device,
|
|||
&template,
|
||||
&image->size);
|
||||
if (!image->bo)
|
||||
return vk_error(device->instance, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
return vk_error(device, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
}
|
||||
*pImage = lvp_image_to_handle(image);
|
||||
|
||||
|
@ -192,7 +192,7 @@ lvp_CreateImageView(VkDevice _device,
|
|||
view = vk_alloc2(&device->vk.alloc, pAllocator, sizeof(*view), 8,
|
||||
VK_SYSTEM_ALLOCATION_SCOPE_OBJECT);
|
||||
if (view == NULL)
|
||||
return vk_error(device->instance, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
return vk_error(device, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
|
||||
vk_object_base_init(&device->vk, &view->base,
|
||||
VK_OBJECT_TYPE_IMAGE_VIEW);
|
||||
|
@ -303,7 +303,7 @@ VKAPI_ATTR VkResult VKAPI_CALL lvp_CreateBuffer(
|
|||
buffer = vk_alloc2(&device->vk.alloc, pAllocator, sizeof(*buffer), 8,
|
||||
VK_SYSTEM_ALLOCATION_SCOPE_OBJECT);
|
||||
if (buffer == NULL)
|
||||
return vk_error(device->instance, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
return vk_error(device, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
|
||||
vk_object_base_init(&device->vk, &buffer->base, VK_OBJECT_TYPE_BUFFER);
|
||||
buffer->size = pCreateInfo->size;
|
||||
|
@ -336,7 +336,7 @@ VKAPI_ATTR VkResult VKAPI_CALL lvp_CreateBuffer(
|
|||
&buffer->total_size);
|
||||
if (!buffer->bo) {
|
||||
vk_free2(&device->vk.alloc, pAllocator, buffer);
|
||||
return vk_error(device->instance, VK_ERROR_OUT_OF_DEVICE_MEMORY);
|
||||
return vk_error(device, VK_ERROR_OUT_OF_DEVICE_MEMORY);
|
||||
}
|
||||
}
|
||||
*pBuffer = lvp_buffer_to_handle(buffer);
|
||||
|
@ -395,7 +395,7 @@ lvp_CreateBufferView(VkDevice _device,
|
|||
view = vk_alloc2(&device->vk.alloc, pAllocator, sizeof(*view), 8,
|
||||
VK_SYSTEM_ALLOCATION_SCOPE_OBJECT);
|
||||
if (!view)
|
||||
return vk_error(device->instance, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
return vk_error(device, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
|
||||
vk_object_base_init(&device->vk, &view->base,
|
||||
VK_OBJECT_TYPE_BUFFER_VIEW);
|
||||
|
|
|
@ -167,7 +167,7 @@ VKAPI_ATTR VkResult VKAPI_CALL lvp_CreateRenderPass2(
|
|||
pass = vk_alloc2(&device->vk.alloc, pAllocator, size, 8,
|
||||
VK_SYSTEM_ALLOCATION_SCOPE_OBJECT);
|
||||
if (pass == NULL)
|
||||
return vk_error(device->instance, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
return vk_error(device, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
|
||||
/* Clear the subpasses along with the parent pass. This required because
|
||||
* each array member of lvp_subpass must be a valid pointer if not NULL.
|
||||
|
@ -206,7 +206,7 @@ VKAPI_ATTR VkResult VKAPI_CALL lvp_CreateRenderPass2(
|
|||
VK_SYSTEM_ALLOCATION_SCOPE_OBJECT);
|
||||
if (pass->subpass_attachments == NULL) {
|
||||
vk_free2(&device->vk.alloc, pAllocator, pass);
|
||||
return vk_error(device->instance, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
return vk_error(device, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
}
|
||||
} else
|
||||
pass->subpass_attachments = NULL;
|
||||
|
|
|
@ -928,7 +928,7 @@ lvp_graphics_pipeline_create(
|
|||
pipeline = vk_zalloc2(&device->vk.alloc, pAllocator, sizeof(*pipeline), 8,
|
||||
VK_SYSTEM_ALLOCATION_SCOPE_OBJECT);
|
||||
if (pipeline == NULL)
|
||||
return vk_error(device->instance, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
return vk_error(device, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
|
||||
vk_object_base_init(&device->vk, &pipeline->base,
|
||||
VK_OBJECT_TYPE_PIPELINE);
|
||||
|
@ -1018,7 +1018,7 @@ lvp_compute_pipeline_create(
|
|||
pipeline = vk_zalloc2(&device->vk.alloc, pAllocator, sizeof(*pipeline), 8,
|
||||
VK_SYSTEM_ALLOCATION_SCOPE_OBJECT);
|
||||
if (pipeline == NULL)
|
||||
return vk_error(device->instance, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
return vk_error(device, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
|
||||
vk_object_base_init(&device->vk, &pipeline->base,
|
||||
VK_OBJECT_TYPE_PIPELINE);
|
||||
|
|
|
@ -39,7 +39,7 @@ VKAPI_ATTR VkResult VKAPI_CALL lvp_CreatePipelineCache(
|
|||
sizeof(*cache), 8,
|
||||
VK_SYSTEM_ALLOCATION_SCOPE_OBJECT);
|
||||
if (cache == NULL)
|
||||
return vk_error(device->instance, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
return vk_error(device, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
|
||||
vk_object_base_init(&device->vk, &cache->base,
|
||||
VK_OBJECT_TYPE_PIPELINE_CACHE);
|
||||
|
|
|
@ -56,6 +56,7 @@ typedef uint32_t xcb_window_t;
|
|||
#include "vk_device.h"
|
||||
#include "vk_instance.h"
|
||||
#include "vk_image.h"
|
||||
#include "vk_log.h"
|
||||
#include "vk_physical_device.h"
|
||||
#include "vk_shader_module.h"
|
||||
#include "vk_util.h"
|
||||
|
@ -97,20 +98,8 @@ bool lvp_device_entrypoint_is_enabled(int index, uint32_t core_version,
|
|||
const struct vk_instance_extension_table *instance,
|
||||
const struct vk_device_extension_table *device);
|
||||
|
||||
|
||||
/* Whenever we generate an error, pass it through this function. Useful for
|
||||
* debugging, where we can break on it. Only call at error site, not when
|
||||
* propagating errors. Might be useful to plug in a stack trace here.
|
||||
*/
|
||||
|
||||
struct lvp_instance;
|
||||
VkResult __vk_errorf(struct lvp_instance *instance, VkResult error, const char *file, int line, const char *format, ...);
|
||||
|
||||
#define LVP_DEBUG_ALL_ENTRYPOINTS (1 << 0)
|
||||
|
||||
#define vk_error(instance, error) __vk_errorf(instance, error, __FILE__, __LINE__, NULL);
|
||||
#define vk_errorf(instance, error, format, ...) __vk_errorf(instance, error, __FILE__, __LINE__, format, ## __VA_ARGS__);
|
||||
|
||||
void __lvp_finishme(const char *file, int line, const char *format, ...)
|
||||
lvp_printflike(3, 4);
|
||||
|
||||
|
|
|
@ -56,7 +56,7 @@ VKAPI_ATTR VkResult VKAPI_CALL lvp_CreateQueryPool(
|
|||
pool_size, 8,
|
||||
VK_SYSTEM_ALLOCATION_SCOPE_OBJECT);
|
||||
if (!pool)
|
||||
return vk_error(device->instance, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
return vk_error(device, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
|
||||
vk_object_base_init(&device->vk, &pool->base,
|
||||
VK_OBJECT_TYPE_QUERY_POOL);
|
||||
|
|
|
@ -35,24 +35,3 @@ __lvp_finishme(const char *file, int line, const char *format, ...)
|
|||
|
||||
fprintf(stderr, "%s:%d: FINISHME: %s\n", file, line, buffer);
|
||||
}
|
||||
|
||||
VkResult
|
||||
__vk_errorf(struct lvp_instance *instance, VkResult error, const char *file, int line, const char *format, ...)
|
||||
{
|
||||
va_list ap;
|
||||
char buffer[256];
|
||||
|
||||
const char *error_str = vk_Result_to_str(error);
|
||||
|
||||
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_str);
|
||||
} else {
|
||||
fprintf(stderr, "%s:%d: %s\n", file, line, error_str);
|
||||
}
|
||||
|
||||
return error;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue