Skip to content

glamor: accelerate incomplete textures for GL ES

Konstantin requested to merge rilian-la-te/xserver:glamor-fix-glyphmasks into master

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 (closed) Fixes #1411 (closed)

Signed-off-by: Konstantin Pugin

@ofourdan @daenzer can you give an R-b for it? This is a most significant barrier for making functional XWayland on i.MX 6 with GLES2.

Part of !924 (closed)

Edited by Konstantin

Merge request reports