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 <sroland@vmware.com>
Cc: <mesa-stable@lists.freedesktop.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
(cherry picked from commit 68b976bd91)
This commit is contained in:
Dave Airlie 2018-01-10 03:41:57 +00:00 committed by Emil Velikov
parent 48db8ed822
commit 14ebd7ecd9

View file

@ -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();
}