The open source OpenXR runtime
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

a/vk: Improve vk_print_result

+27 -10
+2 -2
src/xrt/auxiliary/vk/vk_enumerate.c
··· 26 26 do { \ 27 27 VkResult _ret = RET; \ 28 28 if (_ret != VK_SUCCESS) { \ 29 - vk_print_result(vk, _ret, FUNC, __FILE__, __LINE__); \ 29 + vk_print_result(vk, __FILE__, __LINE__, __func__, _ret, FUNC); \ 30 30 return RET; \ 31 31 } \ 32 32 if (COUNT == 0) { \ ··· 38 38 do { \ 39 39 VkResult _ret = RET; \ 40 40 if (_ret != VK_SUCCESS) { \ 41 - vk_print_result(vk, _ret, FUNC, __FILE__, __LINE__); \ 41 + vk_print_result(vk, __FILE__, __LINE__, __func__, _ret, FUNC); \ 42 42 free(TO_FREE); \ 43 43 return RET; \ 44 44 } \
+5 -4
src/xrt/auxiliary/vk/vk_helpers.h
··· 472 472 do { \ 473 473 VkResult _ret = RET; \ 474 474 if (_ret != VK_SUCCESS) { \ 475 - vk_print_result(vk, _ret, FUNC_STR, __FILE__, __LINE__); \ 475 + vk_print_result(vk, __FILE__, __LINE__, __func__, _ret, FUNC_STR); \ 476 476 return _ret; \ 477 477 } \ 478 478 } while (false) ··· 497 497 do { \ 498 498 VkResult _ret = RET; \ 499 499 if (_ret != VK_SUCCESS) { \ 500 - vk_print_result(vk, _ret, FUNC_STR, __FILE__, __LINE__); \ 500 + vk_print_result(vk, __FILE__, __LINE__, __func__, _ret, FUNC_STR); \ 501 501 return TO_RET; \ 502 502 } \ 503 503 } while (false) ··· 523 523 do { \ 524 524 VkResult _ret = RET; \ 525 525 if (_ret != VK_SUCCESS) { \ 526 - vk_print_result(vk, _ret, FUNC_STR, __FILE__, __LINE__); \ 526 + vk_print_result(vk, __FILE__, __LINE__, __func__, _ret, FUNC_STR); \ 527 527 goto GOTO; \ 528 528 } \ 529 529 } while (false) ··· 727 727 * @ingroup aux_vk 728 728 */ 729 729 void 730 - vk_print_result(struct vk_bundle *vk, VkResult ret, const char *fun, const char *file, int line); 730 + vk_print_result( 731 + struct vk_bundle *vk, const char *file, int line, const char *calling_func, VkResult ret, const char *called_func); 731 732 732 733 /*! 733 734 * Print device information to the logger at the given logging level,
+20 -4
src/xrt/auxiliary/vk/vk_print.c
··· 46 46 */ 47 47 48 48 void 49 - vk_print_result(struct vk_bundle *vk, VkResult ret, const char *fun, const char *file, int line) 49 + vk_print_result( 50 + struct vk_bundle *vk, const char *file, int line, const char *calling_func, VkResult ret, const char *called_func) 50 51 { 51 - if (ret == VK_SUCCESS) { 52 - VK_INFO(vk, "%s: %s [%s:%d]", fun, vk_result_string(ret), file, line); 52 + bool success = ret == VK_SUCCESS; 53 + enum u_logging_level level = success ? U_LOGGING_INFO : U_LOGGING_ERROR; 54 + 55 + // Should we be logging? 56 + if (level < vk->log_level) { 57 + return; 58 + } 59 + 60 + struct u_pp_sink_stack_only sink; 61 + u_pp_delegate_t dg = u_pp_sink_stack_only_init(&sink); 62 + 63 + if (success) { 64 + u_pp(dg, "%s: ", called_func); 53 65 } else { 54 - VK_ERROR(vk, "%s failed: %s [%s:%d]", fun, vk_result_string(ret), file, line); 66 + u_pp(dg, "%s failed: ", called_func); 55 67 } 68 + 69 + u_pp(dg, "%s [%s:%i]", vk_result_string(ret), file, line); 70 + 71 + u_log(file, line, calling_func, level, "%s", sink.buffer); 56 72 } 57 73 58 74 void