mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-25 17:20:10 +01:00
radv: rework the error function helpers a bit
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6230>
This commit is contained in:
parent
11781c0e49
commit
cc4b9c2128
2 changed files with 28 additions and 8 deletions
|
|
@ -194,7 +194,13 @@ radv_clear_mask(uint32_t *inout_mask, uint32_t clear_mask)
|
|||
struct radv_image_view;
|
||||
struct radv_instance;
|
||||
|
||||
VkResult __vk_errorf(struct radv_instance *instance, VkResult error, const char *file, int line, const char *format, ...);
|
||||
VkResult __vk_errorv(struct radv_instance *instance, VkResult error,
|
||||
const char *file, int line, const char *format,
|
||||
va_list args);
|
||||
|
||||
VkResult __vk_errorf(struct radv_instance *instance, VkResult error,
|
||||
const char *file, int line, const char *format, ...)
|
||||
radv_printflike(5, 6);
|
||||
|
||||
#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__);
|
||||
|
|
|
|||
|
|
@ -88,11 +88,11 @@ void radv_printflike(3, 4)
|
|||
}
|
||||
|
||||
VkResult
|
||||
__vk_errorf(struct radv_instance *instance, VkResult error, const char *file,
|
||||
int line, const char *format, ...)
|
||||
__vk_errorv(struct radv_instance *instance, VkResult error, const char *file,
|
||||
int line, const char *format, va_list ap)
|
||||
{
|
||||
va_list ap;
|
||||
char buffer[256];
|
||||
char report[512];
|
||||
|
||||
const char *error_str = vk_Result_to_str(error);
|
||||
|
||||
|
|
@ -102,15 +102,29 @@ __vk_errorf(struct radv_instance *instance, VkResult error, const char *file,
|
|||
#endif
|
||||
|
||||
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);
|
||||
snprintf(report, sizeof(report), "%s:%d: %s (%s)", file, line,
|
||||
buffer, error_str);
|
||||
} else {
|
||||
fprintf(stderr, "%s:%d: %s\n", file, line, error_str);
|
||||
snprintf(report, sizeof(report), "%s:%d: %s", file, line,
|
||||
error_str);
|
||||
}
|
||||
|
||||
fprintf(stderr, "%s\n", report);
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
VkResult
|
||||
__vk_errorf(struct radv_instance *instance, VkResult error, const char *file,
|
||||
int line, const char *format, ...)
|
||||
{
|
||||
va_list ap;
|
||||
|
||||
va_start(ap, format);
|
||||
__vk_errorv(instance, error, file, line, format, ap);
|
||||
va_end(ap);
|
||||
|
||||
return error;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue