[Mesa-dev] [PATCH 00/12] RadeonSI: 3D clears and blits w/out VBOs and viewport state
Nicolai Hähnle
nhaehnle at gmail.com
Sat Oct 7 09:40:23 UTC 2017
On 06.10.2017 16:10, Marek Olšák wrote:
> Hi,
>
> There are 3 states that blits don't have to use or touch:
> - vertex buffers (also no buffer upload is needed)
> - vertex element state
> - viewport state
>
> The blit implementation is reworked as follows.
>
> VS blit shaders read inputs from user SGPRs and return positions in
> window space. (clipping and viewport transformation are disabled)
>
> User SGPRs occupy existing SGPR slots starting with the first
> per-stage pointer (const buffers). Depending on the type of blit,
> there can be 3, 7, or 9 SGPRs per blit.
>
> The x1,y1,x2,y2 position coordinates are passed as sint16 in 2 SGPRs.
> The 3rd one is Z as float. Followed by clear color (4 SGPRs) or
> texcoords (6 SGPRs - x1,y1,x2,y2,z,w).
>
> Original shader pointers and draw constants are restored by the first
> non-blit draw call.
I've been wondering whether there isn't a clean way to give SGPRs an
alternative use in a way that could be re-used for frequently-changing
uniforms. But that's for another time.
For the series:
Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
>
> Please review.
>
> Marek
> _______________________________________________
> 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