b0df99fbad
Previously the texture unit settings were stored in growable GArrays and every time a new texture unit was encountered it would expand the arrays. However the array wasn't copied when stored in a CoglGles2WrapperSettings struct so all settings had the same array. This meant that it wouldn't detect that a different program is needed if a texture unit is disabled or enabled. The texture unit settings arrays are all now a fixed size and the enabledness of each unit is stored in a bit mask. Therefore the settings can just be copied around by assignment as before. This puts a limit on the number of texture units accessible by Cogl but I think it is worth it to make the code simpler and more efficient. The material API already poses a limit on the number of texture units it can use. |
||
---|---|---|
.. | ||
cogl-context.c | ||
cogl-context.h | ||
cogl-defines.h.in | ||
cogl-fbo.c | ||
cogl-fbo.h | ||
cogl-fixed-fragment-shader.glsl | ||
cogl-fixed-vertex-shader.glsl | ||
cogl-gles2-wrapper.c | ||
cogl-gles2-wrapper.h | ||
cogl-internal.h | ||
cogl-primitives.c | ||
cogl-program.c | ||
cogl-program.h | ||
cogl-shader-private.h | ||
cogl-shader.c | ||
cogl-texture-private.h | ||
cogl-texture.c | ||
cogl-util.c | ||
cogl-util.h | ||
cogl.c | ||
Makefile.am | ||
stringify.sh |