sb might optimize away a shader completely which results in a segfault, since
in this case last_cf is NULL.

Signed-off-by: Gert Wollny <gw.foss...@gmail.com>
---
 src/gallium/drivers/r600/sb/sb_bc_finalize.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/gallium/drivers/r600/sb/sb_bc_finalize.cpp 
b/src/gallium/drivers/r600/sb/sb_bc_finalize.cpp
index 5b202c3737..f5654c90f1 100644
--- a/src/gallium/drivers/r600/sb/sb_bc_finalize.cpp
+++ b/src/gallium/drivers/r600/sb/sb_bc_finalize.cpp
@@ -95,7 +95,7 @@ int bc_finalizer::run() {
                last_cf = c;
        }
 
-       if (!ctx.is_cayman() && last_cf->bc.op_ptr->flags & CF_ALU) {
+       if (!ctx.is_cayman() && (!last_cf || last_cf->bc.op_ptr->flags & 
CF_ALU)) {
                last_cf = sh.create_cf(CF_OP_NOP);
                sh.root->push_back(last_cf);
        }
-- 
2.13.6

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

Reply via email to