radv: Disable DCC for GENERAL layout and compute transfer dest.
authorBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Thu, 28 Dec 2017 01:54:10 +0000 (02:54 +0100)
committerBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Fri, 29 Dec 2017 11:21:53 +0000 (12:21 +0100)
commit44fcf5874454dc5b68596c4eceeb9067bbe6527f
tree880d65dbd65ff0915a26fc9d4155c05d4a769964
parent95f50f7f6cd0e2b2708b501c051e8980b8ec3008
radv: Disable DCC for GENERAL layout and compute transfer dest.

Apps can use this for render feedback loops, where things are
defined if they render each pixel only once. However, DCC fails
here, as the level of coherence is a block not a pixel, so disable it.

This is also going to help implementing other stuff.

Even if we optimize this later to only happen if there actually is
a loop (if possible at all ...), then the machinery is still useful
to exclude images accessible by the SDMA queue when that is implemented.

Reviewed-by: Dave Airlie <airlied@redhat.com>
Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
src/amd/vulkan/radv_cmd_buffer.c
src/amd/vulkan/radv_image.c
src/amd/vulkan/radv_meta_resolve.c
src/amd/vulkan/radv_private.h