anv/util: Split a vk_errorv helper out of vk_errorf
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
This commit is contained in:
@@ -381,6 +381,11 @@ vk_to_isl_color(VkClearColorValue color)
|
|||||||
* propagating errors. Might be useful to plug in a stack trace here.
|
* propagating errors. Might be useful to plug in a stack trace here.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
VkResult __vk_errorv(struct anv_instance *instance, const void *object,
|
||||||
|
VkDebugReportObjectTypeEXT type, VkResult error,
|
||||||
|
const char *file, int line, const char *format,
|
||||||
|
va_list args);
|
||||||
|
|
||||||
VkResult __vk_errorf(struct anv_instance *instance, const void *object,
|
VkResult __vk_errorf(struct anv_instance *instance, const void *object,
|
||||||
VkDebugReportObjectTypeEXT type, VkResult error,
|
VkDebugReportObjectTypeEXT type, VkResult error,
|
||||||
const char *file, int line, const char *format, ...);
|
const char *file, int line, const char *format, ...);
|
||||||
@@ -389,6 +394,9 @@ VkResult __vk_errorf(struct anv_instance *instance, const void *object,
|
|||||||
#define vk_error(error) __vk_errorf(NULL, NULL,\
|
#define vk_error(error) __vk_errorf(NULL, NULL,\
|
||||||
VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT,\
|
VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT,\
|
||||||
error, __FILE__, __LINE__, NULL)
|
error, __FILE__, __LINE__, NULL)
|
||||||
|
#define vk_errorv(instance, obj, error, format, args)\
|
||||||
|
__vk_errorv(instance, obj, REPORT_OBJECT_TYPE(obj), error,\
|
||||||
|
__FILE__, __LINE__, format, args)
|
||||||
#define vk_errorf(instance, obj, error, format, ...)\
|
#define vk_errorf(instance, obj, error, format, ...)\
|
||||||
__vk_errorf(instance, obj, REPORT_OBJECT_TYPE(obj), error,\
|
__vk_errorf(instance, obj, REPORT_OBJECT_TYPE(obj), error,\
|
||||||
__FILE__, __LINE__, format, ## __VA_ARGS__)
|
__FILE__, __LINE__, format, ## __VA_ARGS__)
|
||||||
|
@@ -77,20 +77,17 @@ __anv_perf_warn(struct anv_instance *instance, const void *object,
|
|||||||
}
|
}
|
||||||
|
|
||||||
VkResult
|
VkResult
|
||||||
__vk_errorf(struct anv_instance *instance, const void *object,
|
__vk_errorv(struct anv_instance *instance, const void *object,
|
||||||
VkDebugReportObjectTypeEXT type, VkResult error,
|
VkDebugReportObjectTypeEXT type, VkResult error,
|
||||||
const char *file, int line, const char *format, ...)
|
const char *file, int line, const char *format, va_list ap)
|
||||||
{
|
{
|
||||||
va_list ap;
|
|
||||||
char buffer[256];
|
char buffer[256];
|
||||||
char report[512];
|
char report[512];
|
||||||
|
|
||||||
const char *error_str = vk_Result_to_str(error);
|
const char *error_str = vk_Result_to_str(error);
|
||||||
|
|
||||||
if (format) {
|
if (format) {
|
||||||
va_start(ap, format);
|
|
||||||
vsnprintf(buffer, sizeof(buffer), format, ap);
|
vsnprintf(buffer, sizeof(buffer), format, ap);
|
||||||
va_end(ap);
|
|
||||||
|
|
||||||
snprintf(report, sizeof(report), "%s:%d: %s (%s)", file, line, buffer,
|
snprintf(report, sizeof(report), "%s:%d: %s (%s)", file, line, buffer,
|
||||||
error_str);
|
error_str);
|
||||||
@@ -113,3 +110,17 @@ __vk_errorf(struct anv_instance *instance, const void *object,
|
|||||||
|
|
||||||
return error;
|
return error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
VkResult
|
||||||
|
__vk_errorf(struct anv_instance *instance, const void *object,
|
||||||
|
VkDebugReportObjectTypeEXT type, VkResult error,
|
||||||
|
const char *file, int line, const char *format, ...)
|
||||||
|
{
|
||||||
|
va_list ap;
|
||||||
|
|
||||||
|
va_start(ap, format);
|
||||||
|
__vk_errorv(instance, object, type, error, file, line, format, ap);
|
||||||
|
va_end(ap);
|
||||||
|
|
||||||
|
return error;
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user