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 <alyssa.rosenzweig@collabora.com>
This commit is contained in:
Alyssa Rosenzweig 2019-07-17 15:43:24 -07:00
parent 65d89097b8
commit 479185a1cd
1 changed files with 3 additions and 2 deletions

View File

@ -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");