[Mesa-dev] i965/radeonsi use STD430 packing of UBOs by default

Timothy Arceri tarceri at itsqueeze.com
Thu Aug 17 11:02:57 UTC 2017

Shared (the default) and packed layouts are decided by the implementation.
Currently we just pack them using the std140 layout. This change makes it so
we use the slightly more compact std430 layout on i965 and radeonsi.

I doubt this will help many games, but it still seems worth implementing.
I could only find shaders for a single game in my shader-db collection 
where STD140 layout wasn't explicitly defined for UBOs, and even there
it was using vec4s so there would be no improvement.

The number of changes in patch 4 is a little unfortunate however I decided this
was better than changing the type completely behind the scenes. Given the
complexity of the ifc linking/validation code I figured it would be better to
avoid adding to that confusion. If all the remaining gallium drivers add
support for the LOAD opcode and the issues with SNB are resolved we could
revert most of that change anyway.

Please review.

More information about the mesa-dev mailing list