anv: wire up anv_perf_warn macro to do debug reporting

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
This commit is contained in:
Tapani Pälli
2017-08-25 09:50:11 +03:00
parent 086cfa5652
commit 73638be11f
5 changed files with 141 additions and 16 deletions

View File

@@ -65,16 +65,30 @@ __anv_finishme(const char *file, int line, const char *format, ...)
fprintf(stderr, "%s:%d: FINISHME: %s\n", file, line, buffer);
}
void anv_printflike(3, 4)
__anv_perf_warn(const char *file, int line, const char *format, ...)
void anv_printflike(6, 7)
__anv_perf_warn(struct anv_instance *instance, const void *object,
VkDebugReportObjectTypeEXT type,
const char *file, int line, const char *format, ...)
{
va_list ap;
char buffer[256];
char report[256];
va_start(ap, format);
vsnprintf(buffer, sizeof(buffer), format, ap);
va_end(ap);
snprintf(report, sizeof(report), "%s: %s", file, buffer);
anv_debug_report(instance,
VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT,
type,
(uint64_t) (uintptr_t) object,
line,
0,
"anv",
report);
fprintf(stderr, "%s:%d: PERF: %s\n", file, line, buffer);
}