aboutsummaryrefslogtreecommitdiff
path: root/render/egl.c
diff options
context:
space:
mode:
authorSimon Ser <contact@emersion.fr>2020-06-18 15:48:38 +0200
committerDrew DeVault <sir@cmpwn.com>2020-06-18 07:56:05 -0600
commit58df3eda9f7570ef563888f61ecba7572bbcc8b9 (patch)
treee5fa353745a03f1458f0f5362400f097b08af034 /render/egl.c
parentd177abecaeebb4fd05d7b2e06b198d71a7baa035 (diff)
render/egl: print error name
Allows for easier debugging.
Diffstat (limited to 'render/egl.c')
-rw-r--r--render/egl.c40
1 files changed, 38 insertions, 2 deletions
diff --git a/render/egl.c b/render/egl.c
index 237012cb..797d8f15 100644
--- a/render/egl.c
+++ b/render/egl.c
@@ -51,11 +51,47 @@ static enum wlr_log_importance egl_log_importance_to_wlr(EGLint type) {
}
}
+static const char *egl_error_str(EGLint error) {
+ switch (error) {
+ case EGL_SUCCESS:
+ return "EGL_SUCCESS";
+ case EGL_NOT_INITIALIZED:
+ return "EGL_NOT_INITIALIZED";
+ case EGL_BAD_ACCESS:
+ return "EGL_BAD_ACCESS";
+ case EGL_BAD_ALLOC:
+ return "EGL_BAD_ALLOC";
+ case EGL_BAD_ATTRIBUTE:
+ return "EGL_BAD_ATTRIBUTE";
+ case EGL_BAD_CONTEXT:
+ return "EGL_BAD_CONTEXT";
+ case EGL_BAD_CONFIG:
+ return "EGL_BAD_CONFIG";
+ case EGL_BAD_CURRENT_SURFACE:
+ return "EGL_BAD_CURRENT_SURFACE";
+ case EGL_BAD_DISPLAY:
+ return "EGL_BAD_DISPLAY";
+ case EGL_BAD_SURFACE:
+ return "EGL_BAD_SURFACE";
+ case EGL_BAD_MATCH:
+ return "EGL_BAD_MATCH";
+ case EGL_BAD_PARAMETER:
+ return "EGL_BAD_PARAMETER";
+ case EGL_BAD_NATIVE_PIXMAP:
+ return "EGL_BAD_NATIVE_PIXMAP";
+ case EGL_BAD_NATIVE_WINDOW:
+ return "EGL_BAD_NATIVE_WINDOW";
+ case EGL_CONTEXT_LOST:
+ return "EGL_CONTEXT_LOST";
+ }
+ return "unknown error";
+}
+
static void egl_log(EGLenum error, const char *command, EGLint msg_type,
EGLLabelKHR thread, EGLLabelKHR obj, const char *msg) {
_wlr_log(egl_log_importance_to_wlr(msg_type),
- "[EGL] command: %s, error: 0x%x, message: \"%s\"",
- command, error, msg);
+ "[EGL] command: %s, error: %s (0x%x), message: \"%s\"",
+ command, egl_error_str(error), error, msg);
}
static bool check_egl_ext(const char *exts, const char *ext) {