Module: Mesa
Branch: master
Commit: 8c5310da9d1cbf2272f72d3ed4264544456a4683
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=8c5310da9d1cbf2272f72d3ed4264544456a4683

Author: Neil Roberts <n...@linux.intel.com>
Date:   Tue Dec  8 16:35:57 2015 +0000

i965: Fix crash when calling glViewport with no surface bound

If EGL_KHR_surfaceless_context is used then glViewport can be called
with NULL for the draw and read surfaces. This was previously causing
a crash because the i965 driver tries to use this point to invalidate
the surfaces and it was derferencing the NULL pointer.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93257
Cc: Nanley Chery <nanley.g.ch...@intel.com>
Cc: "11.1" <mesa-sta...@lists.freedesktop.org>
Tested-by: Nanley Chery <nanley.g.ch...@intel.com>
Reviewed-by: Nanley Chery <nanley.g.ch...@intel.com>

---

 src/mesa/drivers/dri/i965/brw_context.c |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_context.c 
b/src/mesa/drivers/dri/i965/brw_context.c
index 0abe601..de4bc2c 100644
--- a/src/mesa/drivers/dri/i965/brw_context.c
+++ b/src/mesa/drivers/dri/i965/brw_context.c
@@ -159,8 +159,10 @@ intel_viewport(struct gl_context *ctx)
    __DRIcontext *driContext = brw->driContext;
 
    if (_mesa_is_winsys_fbo(ctx->DrawBuffer)) {
-      dri2InvalidateDrawable(driContext->driDrawablePriv);
-      dri2InvalidateDrawable(driContext->driReadablePriv);
+      if (driContext->driDrawablePriv)
+         dri2InvalidateDrawable(driContext->driDrawablePriv);
+      if (driContext->driReadablePriv)
+         dri2InvalidateDrawable(driContext->driReadablePriv);
    }
 }
 

_______________________________________________
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to