Re: [PATCH RESEND] drm/vc4: Make sure to emit a tile coordinates between two MSAA loads.

From: Eric Anholt
Date: Fri Mar 22 2019 - 17:28:12 EST


Paul Kocialkowski <paul.kocialkowski@xxxxxxxxxxx> writes:

> Hi,
>
> Le mercredi 06 fÃvrier 2019 Ã 15:25 -0800, Eric Anholt a Ãcrit :
>> The HW only executes a load once the tile coordinates packet happens,
>> and only tracks one at a time, so by emitting our two MSAA loads back
>> to back we would end up with an undefined color or Z buffer.
>
> This change deals with things that I'm not very familiar with, but here
> is my take on what is happening here:
>
> - When we have to do more than a single load in the same render command
> list, we need to send out tile coordinates and a dummy store in between
> the two, because of internal architecture requirements of the GPU;
> - We're dealing with the color buffer first and then the z-stencil
> buffer;
> - As a result, we need to issue that dummy store in the block handling
> the z-stencil, if there was a previous color load in the rcl;
> - We previously only did that for non-MSAA z-stencil buffers (without
> the FULL_RES flag);
> - The same thing actually needs to be done for the MSAA case too, as
> the reason why we need that dummy store also applies to MSAA loads.
>
> If my understanding is correct, then consider this:
> Reviewed-by: Paul Kocialkowski <paul.kocialkowski@xxxxxxxxxxx>

This is all correct. Thanks!

Attachment: signature.asc
Description: PGP signature