From 8d07282a200bdd28c46b642c51ef00f065293826 Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Thu, 14 Jan 2021 15:42:01 -0800 Subject: [PATCH] vbo: Don't set node->min_index = max_index = indices_offset when merging MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit I'm can't see why this is necessary. There are already new fields (node->merged.{min,max}_index) for the new values in the merged case. But in vbo_save_draw.c, in the !draw_using_merged_prim case, we would try and use the original node...with the now destroyed min/max index. Fixes some assert failures when running with swtnl and forcing the non-merged path (though it takes the merged path by default). Fixes: 4c751ad67aa ("vbo/dlist: use a shared index buffer") Reviewed-by: Pierre-Eric Pelloux-Prayer Reviewed-by: Marek Olšák Part-of: (cherry picked from commit 44bdd5225c48d266e42d93defbb7ca9ae74aa21b) --- .pick_status.json | 2 +- src/mesa/vbo/vbo_save_api.c | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index d804ac70a79..ecf35651fc4 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -283,7 +283,7 @@ "description": "vbo: Don't set node->min_index = max_index = indices_offset when merging", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "master_sha": null, "because_sha": "4c751ad67aa2bbde5897030495f86e31c9e1fda7" }, diff --git a/src/mesa/vbo/vbo_save_api.c b/src/mesa/vbo/vbo_save_api.c index b8edee7cf5b..b258e6ac117 100644 --- a/src/mesa/vbo/vbo_save_api.c +++ b/src/mesa/vbo/vbo_save_api.c @@ -670,7 +670,6 @@ compile_vertex_list(struct gl_context *ctx) int available = save->previous_ib ? (save->previous_ib->Size / 4 - save->ib_first_free_index) : 0; if (available >= max_indices_count) { indices_offset = save->ib_first_free_index; - node->min_index = node->max_index = indices_offset; } int size = max_indices_count * sizeof(uint32_t); uint32_t* indices = (uint32_t*) malloc(size);