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

Author: Alyssa Rosenzweig <[email protected]>
Date:   Wed Jul 17 15:43:24 2019 -0700

panfrost/decode: Don't disassemble NULL shaders

It is legal to load a shader from a NULL address, particularly when the
TILER job is used strictly for effects on the Z/S buffer with 0x0 color
mask. Don't crash the decoder in this case.

Signed-off-by: Alyssa Rosenzweig <[email protected]>

---

 src/panfrost/pandecode/decode.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/panfrost/pandecode/decode.c b/src/panfrost/pandecode/decode.c
index 4eaf09fd342..4132dc530ee 100644
--- a/src/panfrost/pandecode/decode.c
+++ b/src/panfrost/pandecode/decode.c
@@ -1603,12 +1603,13 @@ pandecode_vertex_tiler_postfix_pre(const struct 
mali_vertex_tiler_postfix *p,
                                 else
                                         shader = 
pandecode_midgard_blend_mrt(blend_base, job_no, i);
 
-                                if (shader)
+                                if (shader & ~0xF)
                                         pandecode_shader_disassemble(shader, 
job_no, job_type, false);
                         }
                 }
 
-                pandecode_shader_disassemble(shader_ptr, job_no, job_type, 
is_bifrost);
+                if (shader_ptr & ~0xF)
+                   pandecode_shader_disassemble(shader_ptr, job_no, job_type, 
is_bifrost);
         } else
                 pandecode_msg("<no shader>\n");
 

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to