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.haeh...@amd.com>
Please review.
Marek
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev
--
Lerne, wie die Welt wirklich ist,
Aber vergiss niemals, wie sie sein sollte.
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev