diff options
author | Bas Nieuwenhuizen <[email protected]> | 2018-05-31 01:06:41 +0200 |
---|---|---|
committer | Bas Nieuwenhuizen <[email protected]> | 2018-05-31 11:51:23 +0200 |
commit | 38933c11514696505e49fd8036ebd1d1e62fa6ec (patch) | |
tree | 829a3ff8410c47d48761ce20214e94a9e07b3cb3 /src/amd/vulkan/radv_private.h | |
parent | 729f7373deaf98d860ef95be36ef8af267218bc3 (diff) |
radv: Add option to print errors even in optimized builds.
Errors are not that common of a case so we can eat a slight perf
hit in having to call a function and do a runtime check.
In turn this makes debugging random errors happening for end users
easier, because they don't have to have a debug build on hand.
Reviewed-by: Timothy Arceri <[email protected]>
Reviewed-by: Samuel Pitoiset <[email protected]>
Diffstat (limited to 'src/amd/vulkan/radv_private.h')
-rw-r--r-- | src/amd/vulkan/radv_private.h | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/src/amd/vulkan/radv_private.h b/src/amd/vulkan/radv_private.h index e241283346a..5f18fc49394 100644 --- a/src/amd/vulkan/radv_private.h +++ b/src/amd/vulkan/radv_private.h @@ -217,15 +217,12 @@ radv_clear_mask(uint32_t *inout_mask, uint32_t clear_mask) * propagating errors. Might be useful to plug in a stack trace here. */ -VkResult __vk_errorf(VkResult error, const char *file, int line, const char *format, ...); +struct radv_instance; -#ifdef DEBUG -#define vk_error(error) __vk_errorf(error, __FILE__, __LINE__, NULL); -#define vk_errorf(error, format, ...) __vk_errorf(error, __FILE__, __LINE__, format, ## __VA_ARGS__); -#else -#define vk_error(error) error -#define vk_errorf(error, format, ...) error -#endif +VkResult __vk_errorf(struct radv_instance *instance, VkResult error, const char *file, int line, const char *format, ...); + +#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 __radv_finishme(const char *file, int line, const char *format, ...) radv_printflike(3, 4); |