[Mesa-dev] [PATCH 00/18] Gallium blitter optimizations

Brian Paul brianp at vmware.com
Fri Aug 18 15:56:09 UTC 2017


On 08/17/2017 12:31 PM, Marek Olšák wrote:
> 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.

If you can wait a bit, I'd like to apply your patches to my tree and do 
some testing to make sure our driver can handle these changes.

-Brian



More information about the mesa-dev mailing list