[Mesa-dev] [PATCH] st/mesa: move VS creation in bitmap code
Nicolai Hähnle
nhaehnle at gmail.com
Mon Feb 8 14:52:37 UTC 2016
On 05.02.2016 19:55, Brian Paul wrote:
> Do this one-time init with the other on-time inits.
Since Bitmap is something that few programs use, wouldn't it be better
to move in the other direction and do all the one-time inits on-demand
rather than at context init?
Cheers,
Nicolai
> ---
> src/mesa/state_tracker/st_cb_bitmap.c | 26 +++++++++++++-------------
> 1 file changed, 13 insertions(+), 13 deletions(-)
>
> diff --git a/src/mesa/state_tracker/st_cb_bitmap.c b/src/mesa/state_tracker/st_cb_bitmap.c
> index d8c3dbd..f39d956 100644
> --- a/src/mesa/state_tracker/st_cb_bitmap.c
> +++ b/src/mesa/state_tracker/st_cb_bitmap.c
> @@ -631,19 +631,6 @@ st_Bitmap(struct gl_context *ctx, GLint x, GLint y,
> st_validate_state(st);
> }
>
> - if (!st->bitmap.vs) {
> - /* create pass-through vertex shader now */
> - const uint semantic_names[] = { TGSI_SEMANTIC_POSITION,
> - TGSI_SEMANTIC_COLOR,
> - st->needs_texcoord_semantic ? TGSI_SEMANTIC_TEXCOORD :
> - TGSI_SEMANTIC_GENERIC };
> - const uint semantic_indexes[] = { 0, 0, 0 };
> - st->bitmap.vs = util_make_vertex_passthrough_shader(st->pipe, 3,
> - semantic_names,
> - semantic_indexes,
> - FALSE);
> - }
> -
> if (UseBitmapCache && accum_bitmap(ctx, x, y, width, height, unpack, bitmap))
> return;
>
> @@ -722,6 +709,19 @@ st_init_bitmap(struct st_context *st)
> assert(0);
> }
>
> + /* Create VS for rendering bitmaps */
> + {
> + const uint semantic_names[] = { TGSI_SEMANTIC_POSITION,
> + TGSI_SEMANTIC_COLOR,
> + st->needs_texcoord_semantic ? TGSI_SEMANTIC_TEXCOORD :
> + TGSI_SEMANTIC_GENERIC };
> + const uint semantic_indexes[] = { 0, 0, 0 };
> + st->bitmap.vs = util_make_vertex_passthrough_shader(st->pipe, 3,
> + semantic_names,
> + semantic_indexes,
> + FALSE);
> + }
> +
> /* alloc bitmap cache object */
> st->bitmap.cache = ST_CALLOC_STRUCT(bitmap_cache);
>
>
More information about the mesa-dev
mailing list