From 3f2ad5a50a5ba22cb4138665ffecf21018124c06 Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Thu, 19 Dec 2019 15:22:48 -0500 Subject: [PATCH] cogl: Remove builtin/texcoord attribute tracking bitmasks from CoglContext These were only being set from the fixed-function pipeline. https://gitlab.gnome.org/GNOME/mutter/merge_requests/995 --- cogl/cogl/cogl-context-private.h | 6 +- cogl/cogl/cogl-context.c | 8 --- cogl/cogl/driver/gl/cogl-attribute-gl.c | 80 ------------------------- 3 files changed, 1 insertion(+), 93 deletions(-) diff --git a/cogl/cogl/cogl-context-private.h b/cogl/cogl/cogl-context-private.h index a6efc4e3a..9694e8a8a 100644 --- a/cogl/cogl/cogl-context-private.h +++ b/cogl/cogl/cogl-context-private.h @@ -104,15 +104,11 @@ struct _CoglContext GArray *attribute_name_index_map; int n_attribute_names; - CoglBitmask enabled_builtin_attributes; - CoglBitmask enabled_texcoord_attributes; CoglBitmask enabled_custom_attributes; /* These are temporary bitmasks that are used when disabling - * builtin,texcoord and custom attribute arrays. They are here just + * builtin and custom attribute arrays. They are here just * to avoid allocating new ones each time */ - CoglBitmask enable_builtin_attributes_tmp; - CoglBitmask enable_texcoord_attributes_tmp; CoglBitmask enable_custom_attributes_tmp; CoglBitmask changed_bits_tmp; diff --git a/cogl/cogl/cogl-context.c b/cogl/cogl/cogl-context.c index aace02005..5d9ea07be 100644 --- a/cogl/cogl/cogl-context.c +++ b/cogl/cogl/cogl-context.c @@ -282,10 +282,6 @@ cogl_context_new (CoglDisplay *display, context->current_pipeline_changes_since_flush = 0; context->current_pipeline_with_color_attrib = FALSE; - _cogl_bitmask_init (&context->enabled_builtin_attributes); - _cogl_bitmask_init (&context->enable_builtin_attributes_tmp); - _cogl_bitmask_init (&context->enabled_texcoord_attributes); - _cogl_bitmask_init (&context->enable_texcoord_attributes_tmp); _cogl_bitmask_init (&context->enabled_custom_attributes); _cogl_bitmask_init (&context->enable_custom_attributes_tmp); _cogl_bitmask_init (&context->changed_bits_tmp); @@ -409,10 +405,6 @@ _cogl_context_free (CoglContext *context) g_slist_free (context->atlases); g_hook_list_clear (&context->atlas_reorganize_callbacks); - _cogl_bitmask_destroy (&context->enabled_builtin_attributes); - _cogl_bitmask_destroy (&context->enable_builtin_attributes_tmp); - _cogl_bitmask_destroy (&context->enabled_texcoord_attributes); - _cogl_bitmask_destroy (&context->enable_texcoord_attributes_tmp); _cogl_bitmask_destroy (&context->enabled_custom_attributes); _cogl_bitmask_destroy (&context->enable_custom_attributes_tmp); _cogl_bitmask_destroy (&context->changed_bits_tmp); diff --git a/cogl/cogl/driver/gl/cogl-attribute-gl.c b/cogl/cogl/driver/gl/cogl-attribute-gl.c index 108a94c15..620992dfb 100644 --- a/cogl/cogl/driver/gl/cogl-attribute-gl.c +++ b/cogl/cogl/driver/gl/cogl-attribute-gl.c @@ -53,69 +53,6 @@ typedef struct _ForeachChangedBitState CoglPipeline *pipeline; } ForeachChangedBitState; -static gboolean -toggle_builtin_attribute_enabled_cb (int bit_num, void *user_data) -{ - ForeachChangedBitState *state = user_data; - CoglContext *context = state->context; - - g_return_val_if_fail (context->driver == COGL_DRIVER_GL, - FALSE); - -#ifdef HAVE_COGL_GL - { - gboolean enabled = _cogl_bitmask_get (state->new_bits, bit_num); - GLenum cap; - - switch (bit_num) - { - case COGL_ATTRIBUTE_NAME_ID_COLOR_ARRAY: - cap = GL_COLOR_ARRAY; - break; - case COGL_ATTRIBUTE_NAME_ID_POSITION_ARRAY: - cap = GL_VERTEX_ARRAY; - break; - case COGL_ATTRIBUTE_NAME_ID_NORMAL_ARRAY: - cap = GL_NORMAL_ARRAY; - break; - default: - g_assert_not_reached (); - } - if (enabled) - GE (context, glEnableClientState (cap)); - else - GE (context, glDisableClientState (cap)); - } -#endif - - return TRUE; -} - -static gboolean -toggle_texcood_attribute_enabled_cb (int bit_num, void *user_data) -{ - ForeachChangedBitState *state = user_data; - CoglContext *context = state->context; - - g_return_val_if_fail (context->driver == COGL_DRIVER_GL, - FALSE); - -#ifdef HAVE_COGL_GL - { - gboolean enabled = _cogl_bitmask_get (state->new_bits, bit_num); - - GE( context, glClientActiveTexture (GL_TEXTURE0 + bit_num) ); - - if (enabled) - GE( context, glEnableClientState (GL_TEXTURE_COORD_ARRAY) ); - else - GE( context, glDisableClientState (GL_TEXTURE_COORD_ARRAY) ); - } -#endif - - return TRUE; -} - static gboolean toggle_custom_attribute_enabled_cb (int bit_num, void *user_data) { @@ -232,22 +169,7 @@ apply_attribute_enable_updates (CoglContext *context, ForeachChangedBitState changed_bits_state; changed_bits_state.context = context; - changed_bits_state.new_bits = &context->enable_builtin_attributes_tmp; changed_bits_state.pipeline = pipeline; - - foreach_changed_bit_and_save (context, - &context->enabled_builtin_attributes, - &context->enable_builtin_attributes_tmp, - toggle_builtin_attribute_enabled_cb, - &changed_bits_state); - - changed_bits_state.new_bits = &context->enable_texcoord_attributes_tmp; - foreach_changed_bit_and_save (context, - &context->enabled_texcoord_attributes, - &context->enable_texcoord_attributes_tmp, - toggle_texcood_attribute_enabled_cb, - &changed_bits_state); - changed_bits_state.new_bits = &context->enable_custom_attributes_tmp; foreach_changed_bit_and_save (context, &context->enabled_custom_attributes, @@ -337,8 +259,6 @@ _cogl_gl_flush_attributes_state (CoglFramebuffer *framebuffer, with_color_attrib, unknown_color_alpha); - _cogl_bitmask_clear_all (&ctx->enable_builtin_attributes_tmp); - _cogl_bitmask_clear_all (&ctx->enable_texcoord_attributes_tmp); _cogl_bitmask_clear_all (&ctx->enable_custom_attributes_tmp); /* Bind the attribute pointers. We need to do this after the