[Mesa-dev] [PATCH 13/18] radeonsi: completely rework updating descriptors without CP DMA
Michel Dänzer
michel at daenzer.net
Fri Jul 31 02:59:05 PDT 2015
On 28.07.2015 19:05, Marek Olšák wrote:
> From: Marek Olšák <marek.olsak at amd.com>
>
> The patch has a better explanation. Just a summary here:
> - The CPU always uploads a whole descriptor array to previously-unused memory.
> - CP DMA isn't used.
> - No caches need to be flushed.
> - All descriptors are always up-to-date in memory even after a hang, because
> CP DMA doesn't serve as a middle man to update them.
>
> This should bring:
> - better hang recovery (descriptors are always up-to-date)
> - better GPU performance (no KCACHE and TC flushes)
> - worse CPU performance for partial updates (only whole arrays are uploaded)
> - less used IB space (no CP_DMA and WRITE_DATA packets)
> - simpler code
> - hopefully, some of the corruption issues with SI cards will go away.
> If not, we'll know the issue is not here.
[...]
> @@ -24,14 +24,23 @@
> * Marek Olšák <marek.olsak at amd.com>
> */
>
> -/* Resource binding slots and sampler states (each described with 8 or 4 dwords)
> - * live in memory on SI.
> +/* Resource binding slots and sampler states (each described with 8 or
> + * 4 dwords) are stored in lists in memory which is accessed by shaders
> + * using scalar load instructions.
I'd call them arrays instead of lists, but either way:
Reviewed-by: Michel Dänzer <michel.daenzer at amd.com>
--
Earthling Michel Dänzer | http://www.amd.com
Libre software enthusiast | Mesa and X developer
More information about the mesa-dev
mailing list