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

Author: Marek Olšák <marek.ol...@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 <die...@nuetzel-hh.de>
Reviewed-by: Samuel Pitoiset <samuel.pitoi...@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);
 

_______________________________________________
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to