XYUV test, frag shader clean-ups, and shader garbage collection
This MR depends on !132 (merged).
Fixes: #462 (closed)
This is the follow-up for the loose ends from !132 (merged):
- Clean up drm_fourcc.h fallback definitions and make a single place for them and
- add
wl_shm
support forXYUV8888
format in GL-renderer, so that - the new test case for
XYUV8888
can exercise the XYUV shader variant in CI. This means all shader variants except EXTERNAL are now exercised in CI. - Fragment shader gets a series of clean-ups and documentation, addressing what was dropped from !132 (merged) when I took over.
- Fragment shader programs get a garbage collection mechanism, which can be seen to operate with
- the added debug logs for shader programs.
I tested the garbage collection by hack-patching the minimum number of kept shaders to 1 and the expiry time to 1 second, and running weston-simple-dmabuf-v4l -f YUYV
which hits the EXTERNAL shader variant. Open weston-debug gl-shader-generator
and you see the EXTERNAL shader deleted shortly after you quit the V4L client, provided something still happens on Weston outputs.
"gl-renderer: drop R8 and GR88 definitions" is the first original commit in this series, the earlier ones belong to MRs this depends on.
Cc @harishkrupo