diff options
Diffstat (limited to 'src/amd/vulkan/radv_util.c')
-rw-r--r-- | src/amd/vulkan/radv_util.c | 28 |
1 files changed, 21 insertions, 7 deletions
diff --git a/src/amd/vulkan/radv_util.c b/src/amd/vulkan/radv_util.c index 72bedc687d4..01224157e5e 100644 --- a/src/amd/vulkan/radv_util.c +++ b/src/amd/vulkan/radv_util.c @@ -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; +} |