[Mesa-dev] Request for opinions on merging ARB_enhanced_layouts component packing

Timothy Arceri timothy.arceri at collabora.com
Tue Mar 29 06:00:20 UTC 2016


Hi all,

Patches for implementing all the pieces of ARB_enhanced_layouts (and
therefore the remain pieces of OpenGL 4.4) are now on the list.

However things are in limbo with component packing due to the
complexity and issues with patch 24 [1].
During development I went from passing the packing information down to
the backend to having a lowering pass in GLSL IR a couple of times
before settling on the lowering pass.

The lowering pass has the advantage of working on all drivers and
avoiding complexity in the backend. It does however get a bit
complicated when handling tessellation shaders.
Currently it also has a couple of limitations. The tess packing pass
doesn't currently handle packing of different array types (sizes) or
arrays starting at different locations. This is allowed by the spec and
works in other stages but I'm throwing an error for now when we come
across these in tess, however this pass is still more compliant than
the Nvidia blob which can't pack arrays in tess at all.

My thinking is that eventually we might want to redo this to pass the
packing information down to the backend rather than trying to shadow
varyings in GLSL IR but for now I would like to see what others think
about merging this as is and revisiting again later if need be.

Patches 20-24 are the only unreviewed patches [2] and at this point I'd
settle for an acked for the final patches.

[1] https://patchwork.freedesktop.org/patch/75984/
[2] https://patchwork.freedesktop.org/series/3897/


More information about the mesa-dev mailing list