Mesa (master): radeonsi/nir: add FRAG_RESULT_COLOR to scan pass

Timothy Arceri tarceri at kemper.freedesktop.org
Fri Feb 9 23:49:04 UTC 2018


Module: Mesa
Branch: master
Commit: 6a8efbe652c328c2367476069ff1435c358e6f78
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6a8efbe652c328c2367476069ff1435c358e6f78

Author: Timothy Arceri <tarceri at itsqueeze.com>
Date:   Fri Feb  9 20:34:53 2018 +1100

radeonsi/nir: add FRAG_RESULT_COLOR to scan pass

Fixes a number of draw buffers piglit tests.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>

---

 src/gallium/drivers/radeonsi/si_shader_nir.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/gallium/drivers/radeonsi/si_shader_nir.c b/src/gallium/drivers/radeonsi/si_shader_nir.c
index dd1de6c851..04d07381f5 100644
--- a/src/gallium/drivers/radeonsi/si_shader_nir.c
+++ b/src/gallium/drivers/radeonsi/si_shader_nir.c
@@ -517,6 +517,12 @@ void si_nir_scan_shader(const struct nir_shader *nir,
 				info->reads_pervertex_outputs = true;
 			}
 		}
+
+		unsigned loc = variable->data.location;
+		if (loc == FRAG_RESULT_COLOR &&
+		    nir->info.outputs_written & (1ull << loc)) {
+			info->properties[TGSI_PROPERTY_FS_COLOR0_WRITES_ALL_CBUFS] = true;
+		}
 	}
 
 	info->num_outputs = num_outputs;




More information about the mesa-commit mailing list