diff options
author | Dave Airlie <[email protected]> | 2016-10-19 17:34:28 +1000 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2016-10-19 17:39:47 +1000 |
commit | 86c4575a813bb57d1af3e3a0bb0c3eb44f27aedf (patch) | |
tree | 73a1cd1c7f2bf4dcf4619a18071790683a04233a /src/amd/vulkan/radv_cmd_buffer.c | |
parent | 67c91ef2a228b0843bdbb4b7b7128ef45e3dd71f (diff) |
radv: decompress fmask before reading using texture unit
Before we can read the fmask using the compute shader, we need
to decompress the fmask in place.
This fixes a bunch of remaining failure and hopefully multisampling
in Talos.
Diffstat (limited to 'src/amd/vulkan/radv_cmd_buffer.c')
-rw-r--r-- | src/amd/vulkan/radv_cmd_buffer.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c index 690c739c2ab..3f1a6f42527 100644 --- a/src/amd/vulkan/radv_cmd_buffer.c +++ b/src/amd/vulkan/radv_cmd_buffer.c @@ -2163,6 +2163,9 @@ static void radv_handle_cmask_image_transition(struct radv_cmd_buffer *cmd_buffe radv_initialise_cmask(cmd_buffer, image, 0xffffffffu); } else if (radv_layout_has_cmask(image, src_layout) && !radv_layout_has_cmask(image, dst_layout)) { + + if (!cmd_buffer->device->allow_fast_clears) + return; radv_fast_clear_flush_image_inplace(cmd_buffer, image); } } |