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

Reply via email to