Skip to content

XYUV test, frag shader clean-ups, and shader garbage collection

Pekka Paalanen requested to merge pq/weston:mr/shader-polish into master

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 for XYUV8888 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

Merge request reports