cogl-vertex-buffer: Fix disabling the texture arrays from previous prim
When setting up the state for the vertex buffer, enable_state_for_drawing_buffer tries to keep track of the highest numbered texture unit in use. It then disables any texture arrays for units that were previously enabled if they are greater than that number. However if there is no texturing in the VBO then the max used unit would be left at 0 which it would later think meant unit 0 is still in use so it wouldn't disable it. To fix this it now initialises the max used unit to -1 which it should interpret as ‘no units are in use’ so it will later disable the arrays for all units. Thanks to Jon Mayo for reporting the bug. http://bugzilla.openedhand.com/show_bug.cgi?id=1957
This commit is contained in:
parent
548ed1cdf2
commit
1718b1d42e
@ -1512,7 +1512,7 @@ enable_state_for_drawing_buffer (CoglVertexBuffer *buffer)
|
|||||||
GLuint generic_index = 0;
|
GLuint generic_index = 0;
|
||||||
#endif
|
#endif
|
||||||
gulong enable_flags = 0;
|
gulong enable_flags = 0;
|
||||||
guint max_texcoord_attrib_unit = 0;
|
guint max_texcoord_attrib_unit = -1;
|
||||||
const GList *layers;
|
const GList *layers;
|
||||||
guint32 fallback_layers = 0;
|
guint32 fallback_layers = 0;
|
||||||
guint32 disable_layers = ~0;
|
guint32 disable_layers = ~0;
|
||||||
|
Loading…
Reference in New Issue
Block a user