r600: Set the last bit if an alu group is split by kcache allocation

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Acked-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15714>
This commit is contained in:
Gert Wollny 2022-02-08 23:14:21 +01:00 committed by Marge Bot
parent d920200ad6
commit 050e05db22

View file

@ -1129,6 +1129,15 @@ static int r600_bytecode_alloc_kcache_lines(struct r600_bytecode *bc,
if ((r = r600_bytecode_alloc_inst_kcache_lines(bc, kcache, alu))) {
/* can't alloc, need to start new clause */
/* Make sure the CF ends with an "last" instruction when
* we split an ALU group because of a new CF */
if (!list_is_empty(&bc->cf_last->alu)) {
struct r600_bytecode_alu *last_submitted =
list_last_entry(&bc->cf_last->alu, struct r600_bytecode_alu, list);
last_submitted->last = 1;
}
if ((r = r600_bytecode_add_cf(bc))) {
return r;
}