1
0
Fork 0
mutter-performance-source/cogl
Neil Roberts 992d5f7fb6 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
..
driver gles: Fix the functions names for the GL_OES_framebuffer_object ext 2010-05-05 12:24:11 +01:00
winsys Stubs out _cogl_xlib_handle_event 2010-05-19 15:28:04 +01:00
cogl-atlas-texture-private.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-atlas-texture.c cogl-atlas-texture: Fix a memory leak 2010-04-13 17:26:03 +01:00
cogl-atlas.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-atlas.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-bitmap-fallback.c cogl-bitmap: Fix converting formats with and without alpha channels 2010-04-21 10:56:21 +01:00
cogl-bitmap-pixbuf.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-bitmap-private.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-bitmap.c cogl-bitmap: Fix converting formats with and without alpha channels 2010-04-21 10:56:21 +01:00
cogl-bitmap.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-blend-string.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-blend-string.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-buffer-private.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-buffer.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-buffer.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-clip-stack.c cogl-clip-stack: Set *stencil_used_p when the stack is empty 2010-05-06 14:15:04 +01:00
cogl-clip-stack.h cogl: Implement retained clip stacks 2010-04-15 14:51:01 +01:00
cogl-clip-state.c cogl: Implement retained clip stacks 2010-04-15 14:51:01 +01:00
cogl-clip-state.h cogl: Implement retained clip stacks 2010-04-15 14:51:01 +01:00
cogl-color.c cogl: move cogl_set_source* funcs into cogl.c 2010-04-06 09:26:05 +01:00
cogl-color.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-context.c cogl-vertex-buffer: Don't disable layers with no texture coords 2010-05-24 16:10:56 +01:00
cogl-context.h cogl-vertex-buffer: Don't disable layers with no texture coords 2010-05-24 16:10:56 +01:00
cogl-debug.c cogl debug: Adds missing guards around debug cogl_args[] 2010-03-02 16:15:39 +00:00
cogl-debug.h debug: Use G_UNLIKELY in the tests 2010-05-04 17:01:14 +01:00
cogl-deprecated.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-enum-types.c.in Intial Re-layout of the Cogl source code and introduction of a Cogl Winsys 2009-10-16 18:58:50 +01:00
cogl-enum-types.h.in Intial Re-layout of the Cogl source code and introduction of a Cogl Winsys 2009-10-16 18:58:50 +01:00
cogl-feature-private.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-feature-private.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-fixed.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-fixed.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-framebuffer-private.h Implement accessors for the color bits in a framebuffer 2010-05-05 12:25:16 +01:00
cogl-framebuffer.c Merge branch 'wip/framebuffer-bits' 2010-05-21 14:38:37 +01:00
cogl-handle.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-internal.h cogl-vertex-buffer: Don't disable layers with no texture coords 2010-05-24 16:10:56 +01:00
cogl-journal-private.h cogl-material: Add support for setting the wrap mode for a layer 2010-04-12 15:44:23 +01:00
cogl-journal.c cogl-vertex-buffer: Don't disable layers with no texture coords 2010-05-24 16:10:56 +01:00
cogl-material-private.h cogl-material: Add support for setting the wrap mode for a layer 2010-04-12 15:44:23 +01:00
cogl-material.c cogl-material: Set the blend equation even if blend funcs are the same 2010-05-17 16:31:28 +01:00
cogl-material.h cogl-material: Add support for setting the wrap mode for a layer 2010-04-12 15:44:23 +01:00
cogl-matrix-mesa.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-matrix-mesa.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-matrix-private.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-matrix-stack.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-matrix-stack.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-matrix.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-matrix.h cogl: Make private members really hard to accidentally use 2010-04-12 15:38:58 +01:00
cogl-offscreen.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-path-private.h cogl-path: Use true copy-on-write semantics 2010-05-11 16:10:39 +01:00
cogl-path.c cogl-vertex-buffer: Don't disable layers with no texture coords 2010-05-24 16:10:56 +01:00
cogl-path.h cogl-path: Add documentation for the angles of cogl_path_arc 2010-04-22 18:17:59 +01:00
cogl-pixel-buffer-private.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-pixel-buffer.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-pixel-buffer.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-primitives.c cogl-vertex-buffer: Don't disable layers with no texture coords 2010-05-24 16:10:56 +01:00
cogl-primitives.h Use begin/end macros in cogl-primitives.h 2010-03-25 09:33:26 +00:00
cogl-profile.c profiling: Adds initial UProf accounting to Cogl 2010-01-08 20:19:50 +00:00
cogl-profile.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-shader.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-spans.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-spans.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-sub-texture-private.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-sub-texture.c Split the wrap mode of _cogl_texture_set_wrap_mode into three 2010-04-12 15:44:23 +01:00
cogl-texture-2d-private.h Split the wrap mode of _cogl_texture_set_wrap_mode into three 2010-04-12 15:44:23 +01:00
cogl-texture-2d-sliced-private.h Split the wrap mode of _cogl_texture_set_wrap_mode into three 2010-04-12 15:44:23 +01:00
cogl-texture-2d-sliced.c cogl-texture-2d-sliced: Use the converted bitmap when uploading 2010-04-29 13:15:36 +01:00
cogl-texture-2d.c cogl-texture-2d: Optimise _cogl_texture_2d_is_pot 2010-05-20 12:40:59 +01:00
cogl-texture-driver.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-texture-private.h Split the wrap mode of _cogl_texture_set_wrap_mode into three 2010-04-12 15:44:23 +01:00
cogl-texture.c cogl-texture: Don't attempt to use GL to convert formats under GLES 2010-04-29 13:15:35 +01:00
cogl-texture.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-types.h cogl: Make private members really hard to accidentally use 2010-04-12 15:38:58 +01:00
cogl-util.c Return and warn if a handle's refcount is <= 0 2010-03-15 16:22:20 +00:00
cogl-util.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-vector.c math: Adds an experimental cogl_vector3_* API 2010-05-20 17:18:24 +01:00
cogl-vector.h math: Adds an experimental cogl_vector3_* API 2010-05-20 17:18:24 +01:00
cogl-vertex-buffer-private.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-vertex-buffer.c cogl-vertex-buffer: Don't disable layers with no texture coords 2010-05-24 16:10:56 +01:00
cogl-vertex-buffer.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl.c cogl-vertex-buffer: Don't disable layers with no texture coords 2010-05-24 16:10:56 +01:00
cogl.h Merge branch 'wip/framebuffer-bits' 2010-05-21 14:38:37 +01:00
cogl.pc.in Intial Re-layout of the Cogl source code and introduction of a Cogl Winsys 2009-10-16 18:58:50 +01:00
Makefile.am math: Adds an experimental cogl_vector3_* API 2010-05-20 17:18:24 +01:00
stb_image.c Update stb_image.c 2010-03-03 17:02:51 +00:00