From 83821ece79011d21303058e30694dd3796d072f2 Mon Sep 17 00:00:00 2001 From: Jon TURNEY Date: Sat, 10 May 2014 11:04:44 +0100 Subject: [PATCH] glx: Add an error message when a direct renderer's createScreen() routine fails because no matching fbConfigs or visuals could be found. Nearly all the error cases in *createScreen() issue an error message to diagnose the failure to initialize before branching to handle_error. The few remaining error cases which don't should probably do the same. (At the moment, it seems this can be triggered in drisw with an X server which reports definite values for MAX_PBUFFFER_(WIDTH|HEIGHT|SIZE), because those attributes are checked for an exact match against 0.) Signed-off-by: Jon TURNEY Reviewed-by: Kenneth Graunke --- src/glx/dri2_glx.c | 4 +++- src/glx/dri3_glx.c | 4 +++- src/glx/dri_glx.c | 4 +++- src/glx/drisw_glx.c | 4 +++- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/glx/dri2_glx.c b/src/glx/dri2_glx.c index bd7ed8bbe97..462d5602a1c 100644 --- a/src/glx/dri2_glx.c +++ b/src/glx/dri2_glx.c @@ -1263,8 +1263,10 @@ dri2CreateScreen(int screen, struct glx_display * priv) configs = driConvertConfigs(psc->core, psc->base.configs, driver_configs); visuals = driConvertConfigs(psc->core, psc->base.visuals, driver_configs); - if (!configs || !visuals) + if (!configs || !visuals) { + ErrorMessageF("No matching fbConfigs or visuals found\n"); goto handle_error; + } glx_config_destroy_list(psc->base.configs); psc->base.configs = configs; diff --git a/src/glx/dri3_glx.c b/src/glx/dri3_glx.c index 3d8a6627b1d..55eed391a79 100644 --- a/src/glx/dri3_glx.c +++ b/src/glx/dri3_glx.c @@ -1741,8 +1741,10 @@ dri3_create_screen(int screen, struct glx_display * priv) configs = driConvertConfigs(psc->core, psc->base.configs, driver_configs); visuals = driConvertConfigs(psc->core, psc->base.visuals, driver_configs); - if (!configs || !visuals) + if (!configs || !visuals) { + ErrorMessageF("No matching fbConfigs or visuals found\n"); goto handle_error; + } glx_config_destroy_list(psc->base.configs); psc->base.configs = configs; diff --git a/src/glx/dri_glx.c b/src/glx/dri_glx.c index 04a0847a4b6..5295331769a 100644 --- a/src/glx/dri_glx.c +++ b/src/glx/dri_glx.c @@ -460,8 +460,10 @@ CallCreateNewScreen(Display *dpy, int scrn, struct dri_screen *psc, configs = driConvertConfigs(psc->core, psc->base.configs, driver_configs); visuals = driConvertConfigs(psc->core, psc->base.visuals, driver_configs); - if (!configs || !visuals) + if (!configs || !visuals) { + ErrorMessageF("No matching fbConfigs or visuals found\n"); goto handle_error; + } glx_config_destroy_list(psc->base.configs); psc->base.configs = configs; diff --git a/src/glx/drisw_glx.c b/src/glx/drisw_glx.c index 5885b6635c4..fcb5d8f5789 100644 --- a/src/glx/drisw_glx.c +++ b/src/glx/drisw_glx.c @@ -733,8 +733,10 @@ driswCreateScreen(int screen, struct glx_display *priv) configs = driConvertConfigs(psc->core, psc->base.configs, driver_configs); visuals = driConvertConfigs(psc->core, psc->base.visuals, driver_configs); - if (!configs || !visuals) + if (!configs || !visuals) { + ErrorMessageF("No matching fbConfigs or visuals found\n"); goto handle_error; + } glx_config_destroy_list(psc->base.configs); psc->base.configs = configs; -- 2.30.2