mutter/gl
Robert Bragg ed272213f0 [cogl-handle] Optimize how we define cogl handles
The cogl_is_* functions were showing up quite high on profiles due to
iterating through arrays of cogl handles.

This does away with all the handle arrays and implements a simple struct
inheritance scheme. All cogl objects now add a CoglHandleObject _parent;
member to their main structures. The base object includes 2 members a.t.m; a
ref_count, and a klass pointer. The klass in turn gives you a type and
virtual function for freeing objects of that type.

Each handle type has a _cogl_##handle_type##_get_type () function
automatically defined which returns a GQuark of the handle type, so now
implementing the cogl_is_* funcs is just a case of comparing with
obj->klass->type.

Another outcome of the re-work is that cogl_handle_{ref,unref} are also much
more efficient, and no longer need extending for each handle type added to
cogl. The cogl_##handle_type##_{ref,unref} functions are now deprecated and
are no longer used internally to Clutter or Cogl. Potentially we can remove
them completely before 1.0.
2009-04-02 11:58:43 +01:00
..
cogl-context.c [cogl-handle] Optimize how we define cogl handles 2009-04-02 11:58:43 +01:00
cogl-context.h [cogl-handle] Optimize how we define cogl handles 2009-04-02 11:58:43 +01:00
cogl-defines.h.in Call glActiveTexture and glClientActiveTexture through cogl_get_proc_address 2009-02-16 12:46:36 +00:00
cogl-fbo.c [cogl-handle] Optimize how we define cogl handles 2009-04-02 11:58:43 +01:00
cogl-fbo.h [cogl-handle] Optimize how we define cogl handles 2009-04-02 11:58:43 +01:00
cogl-internal.h Removes cogl_blend_func prototype from cogl-internal.h 2009-03-30 18:02:03 +01:00
cogl-primitives.c Maintain the Cogl assumption that the modelview matrix is normally current 2009-03-12 18:55:41 +00:00
cogl-program.c [cogl-handle] Optimize how we define cogl handles 2009-04-02 11:58:43 +01:00
cogl-program.h [cogl-handle] Optimize how we define cogl handles 2009-04-02 11:58:43 +01:00
cogl-shader-private.h [cogl-handle] Optimize how we define cogl handles 2009-04-02 11:58:43 +01:00
cogl-shader.c [cogl-handle] Optimize how we define cogl handles 2009-04-02 11:58:43 +01:00
cogl-texture-private.h [cogl-handle] Optimize how we define cogl handles 2009-04-02 11:58:43 +01:00
cogl-texture.c [cogl-handle] Optimize how we define cogl handles 2009-04-02 11:58:43 +01:00
cogl.c Unifies 90% of the code in {gl,gles}/cogl.c in common/cogl.c 2009-04-01 13:19:35 +01:00
Makefile.am Add runtime debug messages for COGL 2009-02-23 13:00:52 +00:00