lima/gpir: Fix schedule_first insertion logic
The idea was to make sure schedule_first nodes were always first in the ready list. I made sure they were inserted first, but not that other nodes wouldn't later be scheduled ahead of them. Fixes spec@glsl-1.10@execution@built-in-functions@vs-exp-float and probably others. Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com> Tested-by: Vasily Khoruzhick <anarsoul@gmail.com>
This commit is contained in:
@@ -441,8 +441,9 @@ static void schedule_insert_ready_list(sched_ctx *ctx,
|
||||
|
||||
struct list_head *insert_pos = &ctx->ready_list;
|
||||
list_for_each_entry(gpir_node, node, &ctx->ready_list, list) {
|
||||
if (insert_node->sched.dist > node->sched.dist ||
|
||||
gpir_op_infos[insert_node->op].schedule_first) {
|
||||
if ((insert_node->sched.dist > node->sched.dist ||
|
||||
gpir_op_infos[insert_node->op].schedule_first) &&
|
||||
!gpir_op_infos[node->op].schedule_first) {
|
||||
insert_pos = &node->list;
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user