On 21/08/17 03:25, Marek Olšák wrote:
On Thu, Aug 17, 2017 at 1:02 PM, Timothy Arceri <tarc...@itsqueeze.com> wrote:
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.
Why having a separate codepath that only 2 drivers will use If it
doesn't improve any app?
I didn't say it doesn't improve any apps, presumably something uses the
shared and packed layout provided by the spec. I just didn't seen it in
my quick search of my shader-db collection.
Ignoring how many apps use it, it's not much of a separate path it
mostly just reuses the existing paths for SSBOs. Also if we can get SNB
fixed up and add support to the remaining Gallium drivers that support
ubos than we can drop the old paths entirely.
For radeonsi once I get LOAD working with my uniform packing series that
would just leave immediates using the fetch_constant() code path.
Marek
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev