From 9d95f02e8382787f2eb65979525f710c162cba72 Mon Sep 17 00:00:00 2001 From: Jonas Holzman Date: Tue, 2 Sep 2025 23:05:49 +0200 Subject: [PATCH] OpenXR: Display error enum string in debug mode Up until now, when encountering an OpenXR error / exception in debug mode, only the raw OpenXR error enum int value would be displayed, which wasn't really descriptive nor useful. To remedy this, this commit adds an `xrResultToString` call to additionally convert this value into its corresponding enum string. See PR for an example error print. Pull Request: https://projects.blender.org/blender/blender/pulls/142582 --- intern/ghost/intern/GHOST_XrContext.cc | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/intern/ghost/intern/GHOST_XrContext.cc b/intern/ghost/intern/GHOST_XrContext.cc index 7e0fe6a7693..c03e386ec72 100644 --- a/intern/ghost/intern/GHOST_XrContext.cc +++ b/intern/ghost/intern/GHOST_XrContext.cc @@ -252,9 +252,15 @@ void GHOST_XrContext::dispatchErrorMessage(const GHOST_XrException *exception) c error.user_message = exception->msg_.data(); error.customdata = s_error_handler_customdata; + char error_string_buf[XR_MAX_RESULT_STRING_SIZE]; + xrResultToString(getInstance(), static_cast(exception->result_), error_string_buf); + if (isDebugMode()) { - fprintf( - stderr, "Error: \t%s\n\tOpenXR error value: %i\n", error.user_message, exception->result_); + fprintf(stderr, + "Error: \t%s\n\tOpenXR error: %s (error value: %i)\n", + error.user_message, + error_string_buf, + exception->result_); } /* Potentially destroys GHOST_XrContext */