[Mesa-dev] [PATCH 00/18] Gallium blitter optimizations
Marek Olšák
maraeo at gmail.com
Thu Aug 17 18:31:21 UTC 2017
Hi,
Major u_blitter changes:
- All draw calls except cubemap blits will now use the draw_rectangle
callback. (cubemap blits are not used if the driver supports texture
views)
- The VS POSITION output always covers the whole 2D clip space,
(-1,-1) -> (1,1). The final vertex positions and Z are determined by
the viewport transformation.
- If VertexID is supported, the VS POSITION output is derived from
VertexID, and the vertex input with POSITION data is not present.
- If the VS GENERIC output is not needed, it's not present.
(previously it was always there)
- If there are no VS inputs, the blitter doesn't change vertex buffer
and vertex element states, leading to lower CPU overhead.
(measurable with trivial apps like glxgears)
RadeonSI changes:
- We only used the draw_rectangle callback for decompress and resolve
passes, and depth and color clears. Now we will always use it when
the blitter invokes it.
The overall impact on RadeonSI is that only slow color clears and
texture blits use a vertex shader that has 1 vertex input. Moving that
input into user SGPRs would be possible, but that's not done here.
Please review.
Marek
More information about the mesa-dev
mailing list