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:
- You are the assignee for the bug.
_______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel