[Bug 102574] glDrawBuffer crashes in case of surfaceless context

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Bug ID 102574
Summary glDrawBuffer crashes in case of surfaceless context
Product Mesa
Version 17.1
Hardware x86-64 (AMD64)
OS Linux (All)
Status NEW
Severity normal
Priority medium
Component Drivers/DRI/i915
Assignee dri-devel@lists.freedesktop.org
Reporter v.vogelhuber@digitalendoscopy.de
QA Contact dri-devel@lists.freedesktop.org

I've created a surfaceless OpenGL context using the EGL_KHR_surfaceless_context
extension together with eglGetPlatformDisplay/EGL_PLATFORM_GBM_MESA.
In this scenario there seem to be no valid default framebuffer which is Ok, as
I'm normally only render to FBOs with textures bound. Due to an error on my
side I called glDrawBuffer with GL_FRONT_LEFT while no FBO was bound.

This result in a crash in intel_buffers.c because in intelDrawBuffer()
dri2InvalidateDrawable is called with a null pointer which is
not checked in dri2InvalidateDrawable() or anywhere before.

While the root cause for triggering the error is on my side,
I think it may be better to raise an error instead of crashing.
So I propose to add a check to brw->driContext->driDrawablePriv
within intelDrawBuffer. Probably if the driDrawablePriv is nullptr
one should not call intel_prepare_render either. 

Mesa 17.1 with Kernel 4.9.6 on Intel Apollo Lake GPU


You are receiving this mail because:
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel

[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux