xserver/glamor
Konstantin Pugin e573d4ca03 glamor: accelerate incomplete textures for GL ES
If texture can be uploaded to GL using glTexImage2D normally, but
cannot be read back using glReadPixels, we still can accelerate it,
but we cannot create pixmap with FBO using this texture type. So,
add a flag to avoid such creations.

This allow us to accelerate 8-bit glyph masks on GL ES 2.0, because those
masks are used only as textures, and in next stages are rendered on RGBA
surfaces normally, so, we do not need to call glReadPixels on them.

This is needed for correctly working fonts on GL ES 2.0, due to inability
to use GL_RED and texture swizzle. We should use GL_ALPHA there, and
with this format we cannot have a complete framebuffer. But completed
framebuffer, according to testing, is not required for fonts anyway.
Also it fixes all 8-bit formats for GLES2.

Fixes #1362
Fixes #1411

Signed-off-by: Konstantin Pugin <ria.freelander@gmail.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Acked-by: Michel Dänzer <mdaenzer@redhat.com>
Acked-by: Martin Roukala <martin.roukala@mupuf.org>
2023-10-20 14:09:57 +03:00
..
glamor.c glamor: accelerate incomplete textures for GL ES 2023-10-20 14:09:57 +03:00
glamor.h Fix spelling/wording issues 2020-07-05 13:07:33 -07:00
glamor_addtraps.c glamor: Remove _nf rendering functions 2015-03-24 12:01:39 -07:00
glamor_composite_glyphs.c glamor: support GLES3 shaders 2023-10-09 17:25:28 +00:00
glamor_compositerects.c glamor: Make glamor_solid_boxes take a DrawablePtr 2023-07-20 10:14:56 +02:00
glamor_context.h glamor: Assume EGL in glamor_context 2021-09-15 19:14:23 +00:00
glamor_copy.c glamor: support GLES3 shaders 2023-10-09 17:25:28 +00:00
glamor_core.c glamor: Stop tracking the screen_fbo. 2017-06-02 17:46:45 -07:00
glamor_dash.c glamor: support GLES3 shaders 2023-10-09 17:25:28 +00:00
glamor_debug.h glamor: Remove the "delayed fallback" code. 2017-06-02 17:46:48 -07:00
glamor_egl.c glamor: Don't initialize on softpipe 2023-01-19 20:06:04 +00:00
glamor_egl.h glamor/xwayland: Define EGL_NO_X11 2019-11-04 20:49:33 +01: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_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: make sure the correct FBO is cleared 2019-11-22 17:12:03 +01:00
glamor_font.c glamor: add glamor_glsl_has_ints wrapper 2021-07-07 08:41:50 +10:00
glamor_font.h glamor: store old fonts in double width textures. 2016-01-13 11:21:02 +10:00
glamor_glyphblt.c glamor: support GLES3 shaders 2023-10-09 17:25:28 +00:00
glamor_gradient.c glamor: transpose gradients transparently 2022-12-01 08:41:57 +00:00
glamor_image.c glamor: Add and use glamor_drawable_effective_depth helper 2023-07-20 10:14:56 +02:00
glamor_largepixmap.c Fix spelling/wording issues 2020-07-05 13:07:33 -07:00
glamor_lines.c glamor: support GLES3 shaders 2023-10-09 17:25:28 +00:00
glamor_picture.c glamor: make use of GL_EXT_texture_format_BGRA8888 2022-12-01 08:41:57 +00:00
glamor_pixmap.c rootless: Use screen_x and screen_y instead of pixmap pointer hacks 2023-01-20 17:10:54 +00:00
glamor_points.c glamor: support GLES3 shaders 2023-10-09 17:25:28 +00:00
glamor_prepare.c glamor: Add and use glamor_drawable_effective_depth helper 2023-07-20 10:14:56 +02:00
glamor_prepare.h glamor: Replace fallback preparation code 2014-06-15 22:02:40 +01:00
glamor_priv.h glamor: accelerate incomplete textures for GL ES 2023-10-20 14:09:57 +03:00
glamor_program.c glamor: support GLES3 shaders 2023-10-09 17:25:28 +00:00
glamor_program.h glamor: Make program APIs take DrawablePtrs instead of PixmapPtrs 2023-07-18 09:34:39 +00:00
glamor_rects.c glamor: support GLES3 shaders 2023-10-09 17:25:28 +00:00
glamor_render.c glamor: support GLES3 shaders 2023-10-09 17:25:28 +00:00
glamor_segs.c glamor: support GLES3 shaders 2023-10-09 17:25:28 +00:00
glamor_spans.c glamor: support GLES3 shaders 2023-10-09 17:25:28 +00:00
glamor_sync.c glamor: Don't glFlush/ctx switch unless any work has been performed 2023-03-17 12:38:23 +00:00
glamor_text.c glamor: support GLES3 shaders 2023-10-09 17:25:28 +00:00
glamor_transfer.c glamor: Add and use glamor_drawable_effective_depth helper 2023-07-20 10:14:56 +02:00
glamor_transfer.h glamor: Take DrawablePtr instead of PixmapPtr in up/download_boxes 2023-07-18 09:34:39 +00:00
glamor_transform.c glamor: Make program APIs take DrawablePtrs instead of PixmapPtrs 2023-07-18 09:34:39 +00:00
glamor_transform.h glamor: Add and use glamor_drawable_effective_depth helper 2023-07-20 10:14:56 +02: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 glamor: Make glamor_solid_boxes take a DrawablePtr 2023-07-20 10:14:56 +02:00
glamor_utils.h glamor: Don't glFlush/ctx switch unless any work has been performed 2023-03-17 12:38:23 +00:00
glamor_vbo.c Fix spelling/wording issues 2020-07-05 13:07:33 -07: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: xv: Fix invalid accessing of plane attributes for NV12 2023-10-10 20:18:43 +00:00
meson.build ephyr/glamor: Port to EGL 2021-09-15 19:14:23 +00:00