radv: do not compress DCC in presence of render loops on GFX10+

DCC shouldn't be compressed for Vulkan feedback loops (ie. render pass
with input attachments). It looks like it has always been broken...
Note that GFX9 and earlier chips aren't affected because they don't
compress DCC on GENERAL.

This fixes
dEQP-VK.rasterization.rasterization_order_attachment_access.format*.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Joshua Ashton <joshua@froggi.es>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18104>
This commit is contained in:
Samuel Pitoiset 2022-08-17 15:21:09 +02:00
parent 854e8797ac
commit 93fa687808
8 changed files with 1 additions and 26 deletions

View file

@ -1,10 +1,4 @@
dEQP-VK.rasterization.rasterization_order_attachment_access.depth.samples_1.multi_draw_barriers,Fail
dEQP-VK.rasterization.rasterization_order_attachment_access.format_float.attachments_4_samples_8.multi_draw_barriers,Fail
dEQP-VK.rasterization.rasterization_order_attachment_access.format_float.attachments_8_samples_4.multi_draw_barriers,Fail
dEQP-VK.rasterization.rasterization_order_attachment_access.format_float.attachments_8_samples_8.multi_draw_barriers,Fail
dEQP-VK.rasterization.rasterization_order_attachment_access.format_integer.attachments_4_samples_8.multi_draw_barriers,Fail
dEQP-VK.rasterization.rasterization_order_attachment_access.format_integer.attachments_8_samples_4.multi_draw_barriers,Fail
dEQP-VK.rasterization.rasterization_order_attachment_access.format_integer.attachments_8_samples_8.multi_draw_barriers,Fail
dEQP-VK.rasterization.rasterization_order_attachment_access.stencil.samples_1.multi_draw_barriers,Fail
dEQP-VK.rasterization.rasterization_order_attachment_access.stencil.samples_2.multi_draw_barriers,Fail
dEQP-VK.rasterization.rasterization_order_attachment_access.stencil.samples_4.multi_draw_barriers,Fail

View file

@ -1,3 +1,2 @@
dEQP-VK.dynamic_rendering.basic.*
dEQP-VK.rasterization.rasterization_order_attachment_access.format_float.attachments_8_samples_4.multi_draw_barriers
dEQP-VK.texture.filtering.3d.combinations.nearest.linear.mirror_clamp_to_edge.mirror_clamp_to_edge.repeat

View file

@ -1,11 +1,5 @@
# The following are a guess, based on navi10
dEQP-VK.rasterization.rasterization_order_attachment_access.depth.samples_1.multi_draw_barriers,Fail
dEQP-VK.rasterization.rasterization_order_attachment_access.format_float.attachments_4_samples_8.multi_draw_barriers,Fail
dEQP-VK.rasterization.rasterization_order_attachment_access.format_float.attachments_8_samples_4.multi_draw_barriers,Fail
dEQP-VK.rasterization.rasterization_order_attachment_access.format_float.attachments_8_samples_8.multi_draw_barriers,Fail
dEQP-VK.rasterization.rasterization_order_attachment_access.format_integer.attachments_4_samples_8.multi_draw_barriers,Fail
dEQP-VK.rasterization.rasterization_order_attachment_access.format_integer.attachments_8_samples_4.multi_draw_barriers,Fail
dEQP-VK.rasterization.rasterization_order_attachment_access.format_integer.attachments_8_samples_8.multi_draw_barriers,Fail
dEQP-VK.rasterization.rasterization_order_attachment_access.stencil.samples_1.multi_draw_barriers,Fail
dEQP-VK.rasterization.rasterization_order_attachment_access.stencil.samples_2.multi_draw_barriers,Fail
dEQP-VK.rasterization.rasterization_order_attachment_access.stencil.samples_4.multi_draw_barriers,Fail

View file

@ -1,6 +1,4 @@
dEQP-VK.rasterization.rasterization_order_attachment_access.depth.samples_1.multi_draw_barriers,Fail
dEQP-VK.rasterization.rasterization_order_attachment_access.format_float.attachments_8_samples_8.multi_draw_barriers,Fail
dEQP-VK.rasterization.rasterization_order_attachment_access.format_integer.attachments_8_samples_8.multi_draw_barriers,Fail
dEQP-VK.rasterization.rasterization_order_attachment_access.stencil.samples_1.multi_draw_barriers,Fail
dEQP-VK.rasterization.rasterization_order_attachment_access.stencil.samples_2.multi_draw_barriers,Fail
dEQP-VK.rasterization.rasterization_order_attachment_access.stencil.samples_4.multi_draw_barriers,Fail

View file

@ -1,6 +1,4 @@
dEQP-VK.rasterization.rasterization_order_attachment_access.depth.samples_1.multi_draw_barriers,Fail
dEQP-VK.rasterization.rasterization_order_attachment_access.format_float.attachments_8_samples_8.multi_draw_barriers,Fail
dEQP-VK.rasterization.rasterization_order_attachment_access.format_integer.attachments_8_samples_8.multi_draw_barriers,Fail
dEQP-VK.rasterization.rasterization_order_attachment_access.stencil.samples_1.multi_draw_barriers,Fail
dEQP-VK.rasterization.rasterization_order_attachment_access.stencil.samples_2.multi_draw_barriers,Fail
dEQP-VK.rasterization.rasterization_order_attachment_access.stencil.samples_4.multi_draw_barriers,Fail

View file

@ -1,7 +1,5 @@
# The following are a guess, based on navi21
dEQP-VK.rasterization.rasterization_order_attachment_access.depth.samples_1.multi_draw_barriers,Fail
dEQP-VK.rasterization.rasterization_order_attachment_access.format_float.attachments_8_samples_8.multi_draw_barriers,Fail
dEQP-VK.rasterization.rasterization_order_attachment_access.format_integer.attachments_8_samples_8.multi_draw_barriers,Fail
dEQP-VK.rasterization.rasterization_order_attachment_access.stencil.samples_1.multi_draw_barriers,Fail
dEQP-VK.rasterization.rasterization_order_attachment_access.stencil.samples_2.multi_draw_barriers,Fail
dEQP-VK.rasterization.rasterization_order_attachment_access.stencil.samples_4.multi_draw_barriers,Fail

View file

@ -1,10 +1,4 @@
dEQP-VK.rasterization.rasterization_order_attachment_access.depth.samples_1.multi_draw_barriers,Fail
dEQP-VK.rasterization.rasterization_order_attachment_access.format_float.attachments_4_samples_8.multi_draw_barriers,Fail
dEQP-VK.rasterization.rasterization_order_attachment_access.format_float.attachments_8_samples_4.multi_draw_barriers,Fail
dEQP-VK.rasterization.rasterization_order_attachment_access.format_float.attachments_8_samples_8.multi_draw_barriers,Fail
dEQP-VK.rasterization.rasterization_order_attachment_access.format_integer.attachments_4_samples_8.multi_draw_barriers,Fail
dEQP-VK.rasterization.rasterization_order_attachment_access.format_integer.attachments_8_samples_4.multi_draw_barriers,Fail
dEQP-VK.rasterization.rasterization_order_attachment_access.format_integer.attachments_8_samples_8.multi_draw_barriers,Fail
dEQP-VK.rasterization.rasterization_order_attachment_access.stencil.samples_1.multi_draw_barriers,Fail
dEQP-VK.rasterization.rasterization_order_attachment_access.stencil.samples_2.multi_draw_barriers,Fail
dEQP-VK.rasterization.rasterization_order_attachment_access.stencil.samples_4.multi_draw_barriers,Fail

View file

@ -2308,7 +2308,7 @@ radv_layout_dcc_compressed(const struct radv_device *device, const struct radv_i
(queue_mask & (1u << RADV_QUEUE_COMPUTE)) && !radv_image_use_dcc_image_stores(device, image))
return false;
if (layout == VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT) {
if (in_render_loop || layout == VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT) {
/* Do not compress DCC with feedback loops because we can't read&write it without introducing
* corruption.
*/