From: Marek Olšák Date: Fri, 29 Oct 2021 07:09:47 +0000 (-0400) Subject: vbo: utilize structure padding to optimize indirection cold->prims[0].begin X-Git-Tag: upstream/22.3.5~15970 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a0dc303b4521bd44d93f983919898d7cfd80cba8;p=platform%2Fupstream%2Fmesa.git vbo: utilize structure padding to optimize indirection cold->prims[0].begin Reviewed-by: Pierre-Eric Pelloux-Prayer Part-of: --- diff --git a/src/mesa/vbo/vbo_save.h b/src/mesa/vbo/vbo_save.h index efe3904..8a513c8 100644 --- a/src/mesa/vbo/vbo_save.h +++ b/src/mesa/vbo/vbo_save.h @@ -64,6 +64,7 @@ struct vbo_save_vertex_list { struct pipe_draw_start_count_bias start_count; }; uint8_t mode; + bool draw_begins; int16_t private_refcount[VP_MODE_MAX]; struct gl_context *ctx; diff --git a/src/mesa/vbo/vbo_save_api.c b/src/mesa/vbo/vbo_save_api.c index e71613c..a483aff 100644 --- a/src/mesa/vbo/vbo_save_api.c +++ b/src/mesa/vbo/vbo_save_api.c @@ -874,6 +874,7 @@ compile_vertex_list(struct gl_context *ctx) free(merged_prims); end: + node->draw_begins = node->cold->prims[0].begin; if (!save->current_bo) { save->current_bo = ctx->Driver.NewBufferObject(ctx, VBO_BUF_ID + 1); diff --git a/src/mesa/vbo/vbo_save_draw.c b/src/mesa/vbo/vbo_save_draw.c index 51c48c8..b609a7d 100644 --- a/src/mesa/vbo/vbo_save_draw.c +++ b/src/mesa/vbo/vbo_save_draw.c @@ -166,7 +166,7 @@ vbo_save_playback_vertex_list_loopback(struct gl_context *ctx, void *data) FLUSH_FOR_DRAW(ctx); - if (_mesa_inside_begin_end(ctx) && node->cold->prims[0].begin) { + if (_mesa_inside_begin_end(ctx) && node->draw_begins) { /* Error: we're about to begin a new primitive but we're already * inside a glBegin/End pair. */ @@ -304,7 +304,7 @@ vbo_save_playback_vertex_list(struct gl_context *ctx, void *data, bool copy_to_c FLUSH_FOR_DRAW(ctx); - if (_mesa_inside_begin_end(ctx) && node->cold->prims[0].begin) { + if (_mesa_inside_begin_end(ctx) && node->draw_begins) { /* Error: we're about to begin a new primitive but we're already * inside a glBegin/End pair. */