[Mesa-dev] RFC uniform packing for gallium V2
Nicolai Hähnle
nhaehnle at gmail.com
Mon Jun 26 09:32:34 UTC 2017
I had a chance to look at the patches in detail now. Thanks for working
on this, it should be quite useful!
With the remark on patch 1 addressed, patches 1, 2, and 4-9 are
Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
I've sent some more extensive comments on patch 3, and I already
explained that I don't like the TGSI changes. I do think it should be
possible to emit a LOAD instead.
Thanks,
Nicolai
On 25.06.2017 03:31, Timothy Arceri wrote:
> There are still a handful of piglit tests failing and I'm yet to test
> that there are no regressions in the non-packed path, but I'd really
> like some feedback on the approach as Dave has flagged it as a possible
> controversial tgsi change.
>
> In order to avoid complicated swizzling and array element adjustments
> when dealing with arrays, this series simply adjusts the constant buffer
> index to point to the right location. There are some small changes to
> deal with indirect indexing but these also remain very simple and easy
> to follow.
>
> Dave has raised concerns that others might not like this as it doesn't
> strictly follow the tgsi approach that everything is a vec4. I would
> argue however that this is by far the simplest approch.
> Doing this with swizzles and array adjustments is going to require
> something like lower_packed_varyings.cpp which would be unnecessarily
> complicated IMO, I started off down that track and soon changed
> direction.
>
> The main goal of this series is to reduce the cpu overhead cause by
> _mesa_propagate_uniforms_to_driver_storage(). The function is slow since we
> need to deal with strides etc because we are copying packed data to an
> unpacked destination. It's also copying data that we have only just copied
> to anouther duplicate uniform storage that gets created by the linker.
>
> This series fixes both of these issues and also reduces the size of the
> drivers const buffer as a side effect.
>
> Patches 2-3 just rework the way we use the param list.
>
> The remaining add the packing support enabled by the
> PackedDriverUniformStorage const.
>
> You can get the series in my test4 branch [1].
>
> [1] https://github.com/tarceri/Mesa.git
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
--
Lerne, wie die Welt wirklich ist,
Aber vergiss niemals, wie sie sein sollte.
More information about the mesa-dev
mailing list