From: Dave Airlie Date: Wed, 10 Jan 2018 03:41:57 +0000 (+0000) Subject: r600/sb: fix a bug emitting ar load from a constant. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=68b976bd91d1a23d2d04f383ab194980b5084970;p=mesa.git r600/sb: fix a bug emitting ar load from a constant. Some tess shaders were doing MOVA_INT _, c0.x on cayman, and then hitting an assert in sb_bc_finalize.cpp:translate_kcache. This makes sure the toplevel kcache tracker gets updated, and the clause gets fixed up. Reviewed-by: Roland Scheidegger Cc: Signed-off-by: Dave Airlie --- diff --git a/src/gallium/drivers/r600/sb/sb_sched.cpp b/src/gallium/drivers/r600/sb/sb_sched.cpp index 2fbec2f77e0..4158317765f 100644 --- a/src/gallium/drivers/r600/sb/sb_sched.cpp +++ b/src/gallium/drivers/r600/sb/sb_sched.cpp @@ -1130,6 +1130,9 @@ void post_scheduler::emit_clause() { if (alu.current_ar) { emit_load_ar(); process_group(); + if (!alu.check_clause_limits()) { + // Can't happen since clause only contains MOVA/CF_SET_IDX0/1 + } alu.emit_group(); }