xserver/glamor
Hans de Goede 3fe4107643 glamor: Fix crash when master gpu is using glamor and another gpu is hotplugged
When a GPU gets hotplugged while X is already running, glamor_egl_init()
gets called and changes the current egl context, without updating
lastGLContext, potentially causing the next glamor call on another GPU to
run in the wrong context.

This causes glamor to e.g. crash in the next glamor_create_pixmap() call
(called through the master's screen->CreatePixmap), note this is not the
only troublesome entry point I've seen other backtraces when using a
compositing window manager.

Set lastGLContext to NULL to force the next glamor_make_current() call
to set the right context.

Note that we cannot use glamor_make_current() here to replace the
eglMakeCurrent() call and update lastGLContext for us because
glamor_make_current takes a glamor_priv struct as argument and that
has not been created yet when glamor_egl_init() gets called.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
2016-09-13 10:26:35 +02:00
..
Makefile.am glamor: do not build Xv support when --disable-xv 2016-03-09 14:03:06 -05:00
glamor.c glamor: Add glamor_shareable_fd_from_pixmap() 2016-09-13 10:26:21 +02:00
glamor.h glamor: Add glamor_shareable_fd_from_pixmap() 2016-09-13 10:26:21 +02:00
glamor_addtraps.c
glamor_composite_glyphs.c glamor: Declare "pos" in the composite glyph GLSL 1.20 vertex shader 2016-08-23 12:59:55 +09:00
glamor_compositerects.c glamor: fix wrong offset on composite rectangles 2016-04-15 16:31:36 -04:00
glamor_context.h
glamor_copy.c glamor: Handle bitplane in glamor_copy_fbo_cpu 2016-08-22 10:15:32 +09:00
glamor_core.c glamor: Replace "finish access" shader with texture swizzling. 2016-03-10 11:12:43 -05:00
glamor_dash.c glamor: Preserve GL_RED bits in R channel when destination is GL_RED [v2] 2016-05-26 09:17:59 -07:00
glamor_debug.h
glamor_egl.c glamor: Fix crash when master gpu is using glamor and another gpu is hotplugged 2016-09-13 10:26:35 +02:00
glamor_egl_stubs.c
glamor_eglmodule.c
glamor_fbo.c glamor: Remove the FBO cache. 2016-07-18 15:22:04 -04:00
glamor_font.c dix: Switch to the libXfont2 API (v2) 2016-07-18 15:25:59 -04:00
glamor_font.h
glamor_glx.c
glamor_glyphblt.c glamor: Simplify the pixmap box looping. 2016-01-29 18:13:09 -08:00
glamor_gradient.c
glamor_image.c
glamor_largepixmap.c
glamor_lines.c glamor: Simplify the pixmap box looping. 2016-01-29 18:13:09 -08:00
glamor_picture.c glamor: Replace "finish access" shader with texture swizzling. 2016-03-10 11:12:43 -05:00
glamor_pixmap.c
glamor_points.c glamor: Simplify the pixmap box looping. 2016-01-29 18:13:09 -08:00
glamor_prepare.c
glamor_prepare.h
glamor_priv.h glamor: Remove the FBO cache. 2016-07-18 15:22:04 -04:00
glamor_program.c glamor: Preserve GL_RED bits in R channel when destination is GL_RED [v2] 2016-05-26 09:17:59 -07:00
glamor_program.h glamor: Add support for CA rendering in a single pass. 2016-01-26 12:02:42 -08:00
glamor_rects.c glamor: Simplify the pixmap box looping. 2016-01-29 18:13:09 -08:00
glamor_render.c glamor: Cannot use copies when accessing outside of composite source 2016-05-30 17:49:32 +09:00
glamor_segs.c glamor: Simplify the pixmap box looping. 2016-01-29 18:13:09 -08:00
glamor_spans.c glamor: Preserve GL_RED bits in R channel when destination is GL_RED [v2] 2016-05-26 09:17:59 -07:00
glamor_sync.c
glamor_text.c glamor: Translate solid text background region after clipping 2016-07-15 12:59:43 -04:00
glamor_transfer.c glamor: Preserve GL_RED bits in R channel when destination is GL_RED [v2] 2016-05-26 09:17:59 -07:00
glamor_transfer.h
glamor_transform.c glamor: Preserve GL_RED bits in R channel when destination is GL_RED [v2] 2016-05-26 09:17:59 -07:00
glamor_transform.h glamor: Preserve GL_RED bits in R channel when destination is GL_RED [v2] 2016-05-26 09:17:59 -07:00
glamor_trapezoid.c
glamor_triangles.c
glamor_utils.c
glamor_utils.h glamor: Drop the REVERT_UPLOADING_1_5_5_5 path. 2016-03-10 11:12:43 -05:00
glamor_vbo.c
glamor_window.c
glamor_xv.c glamor: Fix XvPutImage when src_y != 0 2016-03-08 13:05:38 -05:00