Robert Bragg
c3d9f0bed4
[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
..
2009-04-02 11:58:43 +01:00
2009-03-17 14:13:31 +00:00
2009-03-17 14:13:31 +00:00
2009-03-17 14:13:31 +00:00
2009-03-19 17:54:17 +00:00
2009-03-17 14:13:31 +00:00
2008-10-30 17:04:34 +00:00
2009-04-02 11:58:43 +01:00
2009-03-09 18:53:31 +00:00
2009-03-17 14:13:31 +00:00
2009-03-18 17:07:50 +00:00
2009-03-21 20:40:22 +00:00
2009-03-16 14:01:43 +00:00
2009-03-27 14:28:08 +00:00
2009-01-20 18:47:50 +00:00
2009-01-08 13:18:00 +00:00
2009-01-08 13:18:00 +00:00
2009-03-30 17:34:07 +01:00
2009-03-16 14:16:18 +00:00
2009-03-16 15:00:55 +00:00
2009-02-26 15:32:48 +00:00
2009-01-23 13:08:46 +00:00
2009-03-16 15:00:55 +00:00
2009-03-10 12:38:04 +00:00
2009-03-10 12:38:03 +00:00
2009-01-20 16:42:49 +00:00
2009-03-16 15:00:55 +00:00
2009-02-20 12:09:07 +00:00
2009-03-16 15:00:55 +00:00
2009-03-10 12:38:03 +00:00
2009-03-10 12:38:03 +00:00
2009-03-10 12:38:03 +00:00
2009-03-10 12:38:03 +00:00
2009-03-17 14:13:31 +00:00
2009-01-20 16:42:49 +00:00
2009-01-20 16:20:54 +00:00
2008-12-05 13:13:37 +00:00
2009-02-20 12:09:07 +00:00
2009-01-14 15:03:30 +00:00
2008-12-19 17:48:30 +00:00
2009-01-09 14:26:35 +00:00
2009-02-20 12:09:07 +00:00
2009-03-16 15:00:55 +00:00
2009-03-16 15:00:55 +00:00
2009-03-16 15:00:55 +00:00
2009-03-17 14:13:31 +00:00
2009-03-10 12:38:02 +00:00
2009-03-17 14:13:31 +00:00
2008-10-30 17:04:34 +00:00
2008-11-18 09:50:03 +00:00
2009-03-13 14:29:27 +00:00
2007-12-25 11:41:10 +00:00
2007-08-20 20:16:15 +00:00
2009-02-20 12:09:07 +00:00
2009-02-14 11:38:16 +00:00
2008-06-06 13:44:22 +00:00
2008-10-30 17:04:34 +00:00
2009-03-10 12:38:04 +00:00
2009-03-10 12:38:04 +00:00
2009-03-16 15:40:18 +00:00
2009-03-16 15:40:18 +00:00
2009-03-11 18:16:21 +00:00
2009-03-16 15:00:55 +00:00
2008-03-09 19:07:17 +00:00
2008-10-30 17:04:34 +00:00
2009-03-10 12:38:03 +00:00
2009-01-08 11:15:09 +00:00
2008-04-23 13:58:58 +00:00
2008-06-10 06:37:46 +00:00
2008-08-05 10:54:40 +00:00
2009-02-14 11:31:00 +00:00
2009-02-14 11:31:00 +00:00
2009-03-16 15:40:18 +00:00
2009-03-16 15:40:18 +00:00
2009-01-20 16:42:49 +00:00
2009-02-24 16:22:02 +00:00
2009-03-16 15:00:55 +00:00
2008-01-09 14:18:53 +00:00
2009-03-17 14:13:31 +00:00
2008-10-30 17:04:34 +00:00
2009-02-20 12:09:07 +00:00
2008-12-21 21:52:50 +00:00
2009-02-14 11:38:16 +00:00
2009-01-28 17:20:15 +00:00
2009-03-16 15:00:55 +00:00
2009-03-17 14:13:31 +00:00
2009-03-16 15:00:55 +00:00
2008-08-04 16:21:27 +00:00
2008-08-04 16:21:27 +00:00
2009-03-17 14:13:31 +00:00
2009-03-16 15:00:55 +00:00
2009-02-26 14:57:58 +00:00
2008-10-30 17:04:34 +00:00
2009-03-17 14:13:31 +00:00
2009-02-20 11:47:14 +00:00
2009-04-02 11:58:43 +01:00
2009-03-16 15:00:55 +00:00
2009-02-20 12:09:07 +00:00
2008-10-30 17:04:34 +00:00
2008-04-04 15:02:11 +00:00
2008-10-30 17:04:34 +00:00
2009-03-16 12:13:55 +00:00
2009-03-16 15:00:55 +00:00
2009-03-30 16:57:11 +01:00
2009-02-26 12:49:50 +00:00
2009-04-02 11:58:43 +01:00
2009-03-16 15:00:55 +00:00
2009-03-26 20:29:23 +00:00
2009-03-16 15:00:55 +00:00
2009-03-16 15:40:18 +00:00
2009-03-16 15:40:18 +00:00
2009-03-16 16:56:51 +00:00
2009-03-16 15:40:18 +00:00
2009-03-10 12:38:04 +00:00
2009-03-17 14:13:31 +00:00
2009-03-16 15:00:55 +00:00
2008-02-12 17:17:52 +00:00
2008-10-30 17:04:34 +00:00
2008-03-31 17:15:02 +00:00
2009-03-13 14:29:27 +00:00
2009-03-16 15:40:18 +00:00