mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-09 04:38:03 +02:00
intel: Fix segfault in glXSwapBuffers with no bound context
Calling glXSwapBuffers with no bound context causes segmentation
fault in function intelDRI2Flush. All the gl calls should be
ignored after setting the current context to null. So the contents
of framebuffer stay unchanged. But the driver should not seg fault.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44614
Reported-by: Yi Sun <yi.sun@intel.com>
Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Tested-by: Yi Sun <yi.sun@intel.com>
(cherry picked from commit dd7220652e)
Conflicts:
src/mesa/drivers/dri/intel/intel_screen.c
This commit is contained in:
parent
d7d47d6c0b
commit
9b3ac17991
1 changed files with 7 additions and 5 deletions
|
|
@ -108,13 +108,15 @@ intelDRI2Flush(__DRIdrawable *drawable)
|
|||
GET_CURRENT_CONTEXT(ctx);
|
||||
struct intel_context *intel = intel_context(ctx);
|
||||
|
||||
if (intel->gen < 4)
|
||||
INTEL_FIREVERTICES(intel);
|
||||
if (intel != NULL) {
|
||||
if (intel->gen < 4)
|
||||
INTEL_FIREVERTICES(intel);
|
||||
|
||||
intel->need_throttle = GL_TRUE;
|
||||
intel->need_throttle = GL_TRUE;
|
||||
|
||||
if (intel->batch.used)
|
||||
intel_batchbuffer_flush(intel);
|
||||
if (intel->batch.used)
|
||||
intel_batchbuffer_flush(intel);
|
||||
}
|
||||
}
|
||||
|
||||
static const struct __DRI2flushExtensionRec intelFlushExtension = {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue