[Mesa-dev] [PATCH 0/9] radeonsi: decompression cleanups and ZS optimization

Marek Olšák maraeo at gmail.com
Mon Apr 25 10:51:42 UTC 2016


On Sat, Apr 23, 2016 at 12:41 AM, Nicolai Hähnle <nhaehnle at gmail.com> wrote:
> Hi,
>
> this series contains a bunch of minor cleanups to the various decompression
> routines. The biggest functional change is that we decompress Z & S in-place
> simultaneously now when asked for decompressing both, while at the same time
> being slightly more precise about which of the two we decompress in the first
> place: if a blit only asks for Z or only S, there's no need to decompress both.
>
> Note that this doesn't cover all cases - in particular, when a ZS texture is
> bound both with a depth and with a stencil sampler, we still decompress them
> individually, since this is difficult to detect.
>
> I started out wanting to also move the si_blitter_begin/_end calls out of
> loops to reduce potential state churn, but the blitter isn't really designed
> for that, and many drivers rely on the current blitter behavior.
>
> I guess one could add a "manual" mode to the blitter, where we call
> util_blitter_begin/_end functions and explicitly restore all state in
> si_blitter_end. This could be implemented in a way that drivers can
> "opt in" to this new behavior, where the caller is responsible for
> restoring state. What do people think about that?

It depends on whether it can slow us down.

For VI, it would be better to use TC-compatible depth where HTILE is
bound instead of DCC to avoid decompression.

Marek


More information about the mesa-dev mailing list