xserver/glamor
Eric Anholt 9a5972801f glamor: Fix segfault in fallback picture uploading.
If the source/mask pixmap is a pixmap that doesn't have an FBO
attached, and it doesn't match the Render operation's size, then we'll
composite it to a CPU temporary (not sure why).  We would take the
PictFormatShort from the source Picture, make a pixmap of that depth,
and try to look up the PictFormat description from the depth and the
PictFormatShort.  However, the screen's PictFormats are only attached
to the screen's visuals' depths.  So, with an x2r10g10b10 short format
(depth 30), we wouldn't find the screen's PictFormat for it
(associated with depth 32).

Instead of trying to look up from the screen, just use the pFormat
that came from our source picture.  The only time we need to look up a
PictFormat when we're doing non-shader gradients, which we put in
a8r8g8b8.

Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
2015-11-10 13:55:51 -08:00
..
Makefile.am glamor: Replace CompositeGlyphs code [v2] 2015-05-14 16:32:07 -07:00
glamor.c glamor: Handle GL_OUT_OF_MEMORY when allocating texture images. 2015-11-10 13:55:35 -08:00
glamor.h glamor: Ask the server to always allocate our private. 2015-07-10 09:42:57 -07:00
glamor_addtraps.c glamor: Remove _nf rendering functions 2015-03-24 12:01:39 -07:00
glamor_composite_glyphs.c glamor: Fix crashes when the glyph atlas allocation fails. 2015-11-10 13:55:44 -08:00
glamor_compositerects.c Convert glamor & glx to new *allocarray functions 2015-04-21 16:58:08 -07:00
glamor_context.h glamor: Replace glamor_get/put_context() with just glamor_make_current(). 2014-04-23 10:32:23 -07:00
glamor_copy.c glamor: Adapt glamor_program API to handle render acceleration 2015-05-14 16:12:42 -07:00
glamor_core.c glamor: Drop a bunch of glamor_priv == NULL checks. 2015-07-10 09:42:57 -07:00
glamor_dash.c glamor: Adapt glamor_program API to handle render acceleration 2015-05-14 16:12:42 -07:00
glamor_debug.h glamor: Apply x-indent.sh. 2014-01-27 09:30:47 -08:00
glamor_egl.c glamor: move 'dri3_capable' extension checks after eglMakeCurrent 2015-09-29 10:21:39 -04:00
glamor_egl_stubs.c glamor: add support for allocating linear buffers (v2) 2015-06-30 12:17:55 +10:00
glamor_eglmodule.c Fix files including xorg-server.h by mistake 2014-07-30 12:17:27 -07:00
glamor_fbo.c glamor: Handle GL_OUT_OF_MEMORY when allocating texture images. 2015-11-10 13:55:35 -08:00
glamor_font.c glamor: Fix rendering when core font texture allocation fails. 2015-11-10 13:55:47 -08:00
glamor_font.h glamor: Add glamor_program based poly_text and image_text 2014-04-03 13:07:52 -07:00
glamor_glx.c glamor: Do the same MakeCurrent(None) for GLX as we do for EGL. 2014-04-23 10:32:32 -07:00
glamor_glyphblt.c glamor: Just set the logic op to what we want at the start of all rendering. 2015-03-24 12:43:34 -07:00
glamor_gradient.c glamor: Drop CloseScreen-time GL resource cleanup code. 2015-06-29 21:43:35 -07:00
glamor_image.c glamor: Use glamor_prepare_access_box() for PutImage/GetImage fallback 2015-07-16 10:43:54 -07:00
glamor_largepixmap.c glamor: Make a bunch of single-file glamor functions static. 2015-07-02 10:05:59 -07:00
glamor_lines.c glamor: Just set the logic op to what we want at the start of all rendering. 2015-03-24 12:43:34 -07:00
glamor_picture.c glamor: Fix assert failures when fallback picture upload alloc fails. 2015-11-10 13:55:49 -08:00
glamor_pixmap.c glamor: Move glamor_render.c pict handling to glamor_picture.c 2015-07-10 09:42:58 -07:00
glamor_points.c glamor: Adapt glamor_program API to handle render acceleration 2015-05-14 16:12:42 -07:00
glamor_prepare.c glamor: make current in prepare paths 2015-07-16 10:57:00 -07:00
glamor_prepare.h glamor: Replace fallback preparation code 2014-06-15 22:02:40 +01:00
glamor_priv.h glamor: Handle GL_OUT_OF_MEMORY when allocating texture images. 2015-11-10 13:55:35 -08:00
glamor_program.c glamor: Use ARRAY_SIZE in a couple more places for consistency. 2015-07-02 10:06:36 -07:00
glamor_program.h glamor: Replace CompositeGlyphs code [v2] 2015-05-14 16:32:07 -07:00
glamor_rects.c glamor: Add a helper function for the common GL_QUADS fallback pattern. 2015-03-24 12:43:34 -07:00
glamor_render.c glamor: Fix segfault in fallback picture uploading. 2015-11-10 13:55:51 -08:00
glamor_segs.c glamor: Just set the logic op to what we want at the start of all rendering. 2015-03-24 12:43:34 -07:00
glamor_spans.c glamor: Pass depth to glamor_pm_is_solid and glamor_set_planemask 2015-05-14 15:55:53 -07:00
glamor_sync.c glamor: Fix build when configured --enable-glamor --disable-xshmfence 2015-03-24 12:43:34 -07:00
glamor_text.c glamor: Adapt glamor_program API to handle render acceleration 2015-05-14 16:12:42 -07:00
glamor_transfer.c glamor: Add an assert to catch the previous bug. 2015-07-06 12:01:33 -07:00
glamor_transfer.h glamor: Add simple upload/download functions in glamor_transfer 2014-04-03 13:07:51 -07:00
glamor_transform.c glamor: Adapt glamor_program API to handle render acceleration 2015-05-14 16:12:42 -07:00
glamor_transform.h glamor: Adapt glamor_program API to handle render acceleration 2015-05-14 16:12:42 -07:00
glamor_trapezoid.c glamor: Remove _nf rendering functions 2015-03-24 12:01:39 -07:00
glamor_triangles.c glamor: Remove _nf rendering functions 2015-03-24 12:01:39 -07:00
glamor_utils.c Convert glamor & glx to new *allocarray functions 2015-04-21 16:58:08 -07:00
glamor_utils.h glamor: Drop unused box translation/bounds code. 2015-07-10 09:42:58 -07:00
glamor_vbo.c glamor: Avoid GL errors from mapping with size == 0. 2015-11-10 13:50:09 -08:00
glamor_window.c glamor: Drop tracking of the last picture attached to pixmaps. 2015-07-10 09:42:58 -07:00
glamor_xv.c glamor: Use the new upload/download interface for XV uploads. 2015-07-10 09:42:58 -07:00