xserver-multidpi/glamor
Paul Kocialkowski c98c7709c6 glamor: Propagate FBO allocation failure for picture to texture upload
When uploading a picture to a texture, glamor_upload_picture_to_texture
calls glamor_pixmap_ensure_fbo to ensure that there is backing FBO.
The FBO will be allocated if the picture's drawable pixmap does not have
one already, which can fail when there is no GL memory left.

glamor_upload_picture_to_texture checks that the call succeeded and will
enter the failure path if it did not. However, unlike many other
functions in glamor, this one has ret set to TRUE initially, so it needs
to be set to FALSE when a failure happens.

Otherwise, the error is not propagated and the failure path return TRUE.
This leads to a fault when trying to access the FBO pointer later on.

Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
2019-03-08 14:29:40 +01:00
..
glamor_addtraps.c glamor: Remove _nf rendering functions 2015-03-24 12:01:39 -07:00
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: Replace glamor_get/put_context() with just glamor_make_current(). 2014-04-23 10:32:23 -07:00
glamor_copy.c glamor: Fix loose ends in color depth 30 support. 2018-02-27 10:18:06 -05:00
glamor_core.c glamor: Stop tracking the screen_fbo. 2017-06-02 17:46:45 -07:00
glamor_dash.c glamor: Fix dashed line rendering. 2017-03-16 11:30:58 -07:00
glamor_debug.h glamor: Remove the "delayed fallback" code. 2017-06-02 17:46:48 -07:00
glamor_egl_ext.h glamor: Implement PixmapFromBuffers and BuffersFromPixmap 2018-03-05 13:27:49 -05:00
glamor_egl_stubs.c glamor: Unbreak glamor_fd_from_pixmap() 2018-06-27 15:07:56 -04:00
glamor_egl.c glamor/glamor_egl.c: EGL_NATIVE_PIXMAP_KHR do not require contexts 2019-01-10 21:35:19 +00:00
glamor_egl.h glamor: Implement PixmapFromBuffers and BuffersFromPixmap 2018-03-05 13:27:49 -05:00
glamor_eglmodule.c glamor: Bump version to 1.0.1 to signal depth 30 support. 2018-02-27 10:18:07 -05:00
glamor_fbo.c glamor: Add 30bit RGB color format support 2018-01-25 12:21:49 -05:00
glamor_font.c dix: Switch to the libXfont2 API (v2) 2016-07-18 15:25:59 -04:00
glamor_font.h glamor: store old fonts in double width textures. 2016-01-13 11:21:02 +10: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: Check glamor_set_destination_drawable() return value 2017-03-15 15:41:13 -04:00
glamor_gradient.c glamor: fix leak of fs_getcolor_source. 2018-09-12 12:26:48 +10:00
glamor_image.c glamor: Avoid software fallback for planemasked ZPixmap GetImage 2017-03-20 13:48:40 -04:00
glamor_largepixmap.c glamor: Avoid overflow between box32 and box16 box 2017-09-13 11:02:52 -04:00
glamor_lines.c glamor: Check glamor_set_destination_drawable() return value 2017-03-15 15:41:13 -04:00
glamor_picture.c glamor: Propagate FBO allocation failure for picture to texture upload 2019-03-08 14:29:40 +01: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: Check glamor_set_destination_drawable() return value 2017-03-15 15:41:13 -04: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: add support for GL_RG 2018-09-11 15:54:57 -04:00
glamor_program.c render: Store and use all 16bpc of precision for solid pixels (v2.1) 2018-02-26 16:46:34 -05: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: Scissor rectangle drawing to the bounds of the rects. 2017-08-14 12:35:55 -07:00
glamor_render.c glamor: Allow HW acceleration for more RENDER formats 2018-12-20 12:23:54 +01:00
glamor_segs.c glamor: Check glamor_set_destination_drawable() return value 2017-03-15 15:41:13 -04:00
glamor_spans.c glamor: Check glamor_set_destination_drawable() return value 2017-03-15 15:41:13 -04:00
glamor_sync.c glamor: Make glamor_sync_init work with --disable-xshmfence 2016-09-25 11:00:24 -07:00
glamor_text.c glamor: Translate solid text background region after clipping 2016-07-15 12:59:43 -04:00
glamor_transfer.c glamor: add support for GL_RG 2018-09-11 15:54:57 -04: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: glamor_set_destination_drawable() can fail 2017-03-15 15:41:12 -04:00
glamor_transform.h glamor: glamor_set_destination_drawable() can fail 2017-03-15 15:41:12 -04: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: Remove unused format_for_pixmap helper 2018-12-21 09:47:45 +01:00
glamor_vbo.c glamor: Drop the non-VAO rendering path 2017-11-15 09:53:50 -05: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: add support for NV12 in Xv 2018-09-11 15:54:57 -04:00
glamor.c glamor: add support for GL_RG 2018-09-11 15:54:57 -04:00
glamor.h glamor: add support for GL_RG 2018-09-11 15:54:57 -04:00
Makefile.am glamor: Implement PixmapFromBuffers and BuffersFromPixmap 2018-03-05 13:27:49 -05:00
meson.build glamor: Implement GetSupportedModifiers 2018-03-05 13:27:55 -05:00