Mesa (staging/19.1): radv: fix alpha-to-coverage when there is unused color attachments

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Jun 11 08:27:56 UTC 2019


Module: Mesa
Branch: staging/19.1
Commit: a7a2d403fd8983372e61f364ab23ad482e747235
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a7a2d403fd8983372e61f364ab23ad482e747235

Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Thu Jun  6 16:31:01 2019 +0200

radv: fix alpha-to-coverage when there is unused color attachments

When alphaToCoverage is enabled, we should always write the alpha
channel of MRT0 if it's unused. This now matches RadeonSI.

This fixes the new CTS:
dEQP-VK.pipeline.multisample.alpha_to_coverage_unused_attachment.samples_*.alpha_invisible

Cc: 19.0 19.1 <mesa-stable at lists.freedesktop.org>
Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-By: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl
(cherry picked from commit 91aa25f4625014ddf194578fc1c1d0a505e5f8db)

---

 src/amd/vulkan/radv_pipeline.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/amd/vulkan/radv_pipeline.c b/src/amd/vulkan/radv_pipeline.c
index f25a5f55bf5..773ccd8707a 100644
--- a/src/amd/vulkan/radv_pipeline.c
+++ b/src/amd/vulkan/radv_pipeline.c
@@ -524,7 +524,7 @@ radv_pipeline_compute_spi_color_formats(struct radv_pipeline *pipeline,
 		col_format |= cf << (4 * i);
 	}
 
-	if (!col_format && blend->need_src_alpha & (1 << 0)) {
+	if (!(col_format & 0xf) && blend->need_src_alpha & (1 << 0)) {
 		/* When a subpass doesn't have any color attachments, write the
 		 * alpha channel of MRT0 when alpha coverage is enabled because
 		 * the depth attachment needs it.




More information about the mesa-commit mailing list