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

Marek Olšák maraeo at gmail.com
Fri Aug 18 16:25:07 UTC 2017


On Fri, Aug 18, 2017 at 5:56 PM, Brian Paul <brianp at vmware.com> wrote:
> 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.

Sure. The changes are here:
https://cgit.freedesktop.org/~mareko/mesa/log/?h=blitter-optz

If somebody wants to test it on r600g, that would be appreciated too.

Marek


More information about the mesa-dev mailing list