Mesa (master): radeonsi: skip ES output stores for undefined output components

Marek Olšák mareko at kemper.freedesktop.org
Fri May 18 17:38:28 UTC 2018


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

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Wed May 16 23:47:15 2018 -0400

radeonsi: skip ES output stores for undefined output components

Tested-by: Dieter Nützel <Dieter at nuetzel-hh.de>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>

---

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

diff --git a/src/gallium/drivers/radeonsi/si_shader.c b/src/gallium/drivers/radeonsi/si_shader.c
index e8d08cd8e7..0d24c3af10 100644
--- a/src/gallium/drivers/radeonsi/si_shader.c
+++ b/src/gallium/drivers/radeonsi/si_shader.c
@@ -3598,6 +3598,9 @@ static void si_llvm_emit_es_epilogue(struct ac_shader_abi *abi,
 						      info->output_semantic_index[i]);
 
 		for (chan = 0; chan < 4; chan++) {
+			if (!(info->output_usagemask[i] & (1 << chan)))
+				continue;
+
 			LLVMValueRef out_val = LLVMBuildLoad(ctx->ac.builder, addrs[4 * i + chan], "");
 			out_val = ac_to_integer(&ctx->ac, out_val);
 




More information about the mesa-commit mailing list