[glamor] Texture from pixmap broken with glamor on xserver 1.20
@ofourdan
Submitted by Olivier Fourdan Assigned to Xorg Project Team
Link to original bug (#107287)
Description
Created attachment 140707 Simple reproducer based on khronos example
Description:
Using texture from pixmap on Xwayland or modesetting with glamor acceleration leads to a blank output.
How reproducible
Always
Steps to reproduce:
- Install Xwayland from xserver-1.20
- Run weston
- Save, build and run the attached example (reproducer)
Actual result:
Blank window
Expected results:
Window with content
Additional information:
I apologize in advance for the apparent confusion around this issue, which is caused by me trying to pinpoint the problem in various places...
A similar issue was for reported in Debian with xfce compositor using the GL backend:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=901789
Then later reported to xfce bugzilla:
https://bugzilla.xfce.org/show_bug.cgi?id=14475
From which I filed a bug in Mesa as a regression:
https://bugs.freedesktop.org/show_bug.cgi?id=107117
To realize that the same issue was seen in Xwayland and was related to the use of glamor acceleration (in either the modesetting driver on Xorg or Xwayland).
Attach is a simple reproducer taken from khronos sample code:
https://www.khronos.org/opengl/wiki/Programming_OpenGL_in_Linux:_Using_texture_from_pixmap_extension
I bisected xserver and came up with:
c8c276c9 is the first bad commit commit c8c276c9 Author: Louis-Francis Ratté-Boulianne lfrb@collabora.com Date: Wed Feb 28 01:19:43 2018 +0000
glamor: Implement PixmapFromBuffers and BuffersFromPixmap
It relies on GBM >= 17.1.0 where we can import BO with multiple
planes and a format modifier (GBM_BO_IMPORT_FD_MODIFIER).
v2: Properly free fds in Xwayland
[Also add glamor_egl_ext.h to Makefile.am for distcheck's sake - ajax]
Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Acked-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
:100644 100644 f4534e30be40418d52459bdc35b504f101de0d19 773567b53d5df6d7f8f2d94bcefd43bd71247de4 M configure.ac :040000 040000 c0b6c60c7f495b364563a1c4bc2ab09a894d0226 631ddb5a8cd1df72577a082b9fb2b51c489bfe4f M glamor :040000 040000 e3c1ceb61a269c4672143f59d5dc149ce8ade721 033f6fbcc370ba076c2ca811ce67673368b0fa6f M hw :040000 040000 26e8d926cdd79d805a7850ee0c20c49f5e9de969 ac974d68896345c126304f5338c4f52abd83acfd M include
Attachment 140707, "Simple reproducer based on khronos example":
tfp.c
Version: git