diff --git a/src/xrt/state_trackers/oxr/oxr_session_egl.c b/src/xrt/state_trackers/oxr/oxr_session_egl.c index 26cfdead1..465039029 100644 --- a/src/xrt/state_trackers/oxr/oxr_session_egl.c +++ b/src/xrt/state_trackers/oxr/oxr_session_egl.c @@ -69,6 +69,11 @@ oxr_session_populate_egl(struct oxr_logger *log, next->getProcAddress, // &xcgl); // + if (xret == XRT_ERROR_EGL_CONFIG_MISSING) { + return oxr_error(log, XR_ERROR_VALIDATION_FAILURE, + "XrGraphicsBindingEGLMNDX::config can not be null when EGL_KHR_no_config_context is " + "not supported by the display."); + } if (xret != XR_SUCCESS || xcgl == NULL) { return oxr_error(log, XR_ERROR_INITIALIZATION_FAILED, "Failed to create an egl client compositor"); } diff --git a/src/xrt/state_trackers/oxr/oxr_session_gles_android.c b/src/xrt/state_trackers/oxr/oxr_session_gles_android.c index 615ed39e8..be55ab2d2 100644 --- a/src/xrt/state_trackers/oxr/oxr_session_gles_android.c +++ b/src/xrt/state_trackers/oxr/oxr_session_gles_android.c @@ -77,6 +77,11 @@ oxr_session_populate_gles_android(struct oxr_logger *log, get_proc_addr, // &xcgl); // + if (xret == XRT_ERROR_EGL_CONFIG_MISSING) { + return oxr_error(log, XR_ERROR_VALIDATION_FAILURE, + "XrGraphicsBindingEGLMNDX::config can not be null when EGL_KHR_no_config_context is " + "not supported by the display."); + } if (xret != XR_SUCCESS || xcgl == NULL) { return oxr_error(log, XR_ERROR_INITIALIZATION_FAILED, "Failed to create an egl client compositor"); } diff --git a/src/xrt/state_trackers/oxr/oxr_verify.c b/src/xrt/state_trackers/oxr/oxr_verify.c index eade7f524..c70abfbfb 100644 --- a/src/xrt/state_trackers/oxr/oxr_verify.c +++ b/src/xrt/state_trackers/oxr/oxr_verify.c @@ -564,9 +564,7 @@ oxr_verify_XrGraphicsBindingEGLMNDX(struct oxr_logger *log, const XrGraphicsBind return oxr_error(log, XR_ERROR_VALIDATION_FAILURE, "XrGraphicsBindingEGLMNDX::display cannot be NULL"); } - if (next->config == NULL) { - return oxr_error(log, XR_ERROR_VALIDATION_FAILURE, "XrGraphicsBindingEGLMNDX::config cannot be NULL"); - } + // The next->config field can be NULL if EGL_KHR_no_config_context is supported by the display. if (next->context == NULL) { return oxr_error(log, XR_ERROR_VALIDATION_FAILURE, "XrGraphicsBindingEGLMNDX::context cannot be NULL");