lavapipe: fix primitive restart with indexed indirect draws
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>
Wed, 8 Sep 2021 02:44:41 +0000 (22:44 -0400)
committerMike Blumenkrantz <michael.blumenkrantz@gmail.com>
Wed, 8 Sep 2021 02:45:07 +0000 (22:45 -0400)
restart index needs to be set

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12761>

src/gallium/frontends/lavapipe/lvp_execute.c

index 5b47821..919b7ee 100644 (file)
@@ -2525,6 +2525,8 @@ static void handle_draw_indirect(struct vk_cmd_queue_entry *cmd,
       state->info.index_size = state->index_size;
       state->info.index.resource = state->index_buffer;
       state->info.max_index = ~0;
+      if (state->info.primitive_restart)
+         state->info.restart_index = util_prim_restart_index_from_size(state->info.index_size);
    } else
       state->info.index_size = 0;
    state->indirect_info.offset = cmd->u.draw_indirect.offset;