Neil Roberts ae0354e9ba cogl-vertex-buffer: Don't disable layers with no texture coords
It should be quite acceptable to use a texture without defining any
texture coords. For example a shader may be in use that is doing
texture lookups without referencing the texture coordinates. Also it
should be possible to replace the vertex colors using a texture layer
without a texture but with a constant layer color.

enable_state_for_drawing_buffer no longer sets any disabled layers in
the overrides. Instead of counting the number of units with texture
coordinates it now keeps them in a mask. This means there can now be
gaps in the list of enabled texture coordinate arrays. To cope with
this, the Cogl context now also stores a mask to track the enabled
arrays. Instead of code manually iterating each enabled array to
disable them, there is now an internal function called
_cogl_disable_texcoord_arrays which disables a given mask.

I think this could also fix potential bugs when a vertex buffer has
gaps in the texture coordinate attributes that it provides. For
example if the vertex buffer only had texture coordinates for layer 2
then the disabling code would not disable the coordinates for layers 0
and 1 even though they are not used. This could cause a crash if the
previous data for those arrays is no longer valid.

http://bugzilla.openedhand.com/show_bug.cgi?id=2132
2010-05-24 16:10:56 +01:00
..
2010-03-01 12:56:10 +00:00
2010-03-01 12:56:10 +00:00
2009-01-20 18:47:50 +00:00
2010-04-22 16:39:18 +01:00
2010-03-03 10:47:42 +00:00
2010-03-02 11:12:32 +00:00
2010-03-02 11:12:32 +00:00
2009-10-14 11:31:26 +01:00
2009-07-10 11:38:42 +01:00
2010-02-04 21:10:02 +00:00
2010-03-02 11:12:32 +00:00
2010-02-03 14:38:13 +00:00
2010-02-01 10:40:34 +00:00
2010-03-02 11:12:32 +00:00
2010-05-24 10:42:03 +01:00