Mesa (master): r100,r200: Don' t assume glVisual is non-NULL during context creation
Ian Romanick
idr at kemper.freedesktop.org
Thu Jun 1 04:32:22 UTC 2017
Module: Mesa
Branch: master
Commit: c24881d39c139c451c1c096d6b0a98c8945c902b
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c24881d39c139c451c1c096d6b0a98c8945c902b
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Wed May 24 22:14:44 2017 -0700
r100,r200: Don't assume glVisual is non-NULL during context creation
Thanks to EGL_MESA_configless_context, the visual pointer can be NULL.
Fixes a segfault (or assertion failure) in piglit's
egl-configless-context test.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Cc: mesa-stable at lists.freedesktop.org
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
---
src/mesa/drivers/dri/r200/r200_context.c | 1 -
src/mesa/drivers/dri/radeon/radeon_common_context.c | 2 +-
src/mesa/drivers/dri/radeon/radeon_context.c | 1 -
3 files changed, 1 insertion(+), 3 deletions(-)
diff --git a/src/mesa/drivers/dri/r200/r200_context.c b/src/mesa/drivers/dri/r200/r200_context.c
index 8f354c15b3..aaa9b9317d 100644
--- a/src/mesa/drivers/dri/r200/r200_context.c
+++ b/src/mesa/drivers/dri/r200/r200_context.c
@@ -199,7 +199,6 @@ GLboolean r200CreateContext( gl_api api,
return false;
}
- assert(glVisual);
assert(driContextPriv);
assert(screen);
diff --git a/src/mesa/drivers/dri/radeon/radeon_common_context.c b/src/mesa/drivers/dri/radeon/radeon_common_context.c
index f0c2dfa6ba..7789435376 100644
--- a/src/mesa/drivers/dri/radeon/radeon_common_context.c
+++ b/src/mesa/drivers/dri/radeon/radeon_common_context.c
@@ -182,7 +182,7 @@ GLboolean radeonInitContext(radeonContextPtr radeon,
radeon->texture_depth = driQueryOptioni (&radeon->optionCache,
"texture_depth");
if (radeon->texture_depth == DRI_CONF_TEXTURE_DEPTH_FB)
- radeon->texture_depth = ( glVisual->rgbBits > 16 ) ?
+ radeon->texture_depth = (glVisual == NULL || glVisual->rgbBits > 16) ?
DRI_CONF_TEXTURE_DEPTH_32 : DRI_CONF_TEXTURE_DEPTH_16;
radeon->texture_row_align = 32;
diff --git a/src/mesa/drivers/dri/radeon/radeon_context.c b/src/mesa/drivers/dri/radeon/radeon_context.c
index 5e15b46fb3..11afe20c6a 100644
--- a/src/mesa/drivers/dri/radeon/radeon_context.c
+++ b/src/mesa/drivers/dri/radeon/radeon_context.c
@@ -165,7 +165,6 @@ r100CreateContext( gl_api api,
return false;
}
- assert(glVisual);
assert(driContextPriv);
assert(screen);
More information about the mesa-commit
mailing list