Neil Roberts
77edc1f204
cogl-gles2-context: Keep track of extra data per texture object
...
This patch adds a hash table mapping texture object IDs to a struct so
that we can keep track of some of the state for each texture object.
Currently it will just track the width and height of the texture 2D
target.
Additionally it will now try to delete any texture objects that have
data created for them by the GLES2 context so that it won't leak them.
It only tracks objects that get data set on them, not all objects that
are bound because it is possible to use the GLES2 context with foreign
textures via cogl_gles2_texture_get_handle() and we don't want to
delete those.
In order to keep track of the currently bound texture object it also
needs to track the active texture unit.
Note that this state tracking will probably go wrong if GL throws an
error for invalid state. For example if glActiveTexture is called with
an invalid texture unit then GL will ignore the binding but Cogl will
assume it is valid and the state tracking will get out of sync.
Perhaps it would be good if Cogl could detect the errors but this is
difficult to do without consuming them.
Reviewed-by: Robert Bragg <robert@linux.intel.com>
(cherry picked from commit d8c72bb56cf3598fc57d629edc618f1bfa79f125)
2012-08-15 13:44:22 +01:00
..
2012-08-06 18:51:33 +01:00
2012-08-06 14:27:45 +01:00
2012-08-06 14:27:38 +01:00
2012-08-06 18:51:33 +01:00
2012-08-06 14:27:45 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:45 +01:00
2011-09-09 15:06:31 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:45 +01:00
2011-05-06 12:12:08 +01:00
2011-09-09 15:06:31 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:44 +01:00
2012-08-06 14:27:39 +01:00
2011-05-16 14:31:31 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:45 +01:00
2012-08-06 14:27:43 +01:00
2012-08-06 14:27:40 +01:00
2012-08-06 14:27:45 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 18:50:22 +01:00
2012-08-06 18:50:22 +01:00
2012-08-06 18:50:22 +01:00
2012-08-06 18:50:22 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:45 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:45 +01:00
2012-08-06 14:27:45 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:41 +01:00
2012-08-06 14:27:45 +01:00
2012-08-06 14:27:40 +01:00
2012-08-06 14:27:40 +01:00
2011-12-06 18:51:57 +00:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:45 +01:00
2012-08-06 14:27:45 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:45 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:45 +01:00
2012-08-06 18:51:33 +01:00
2012-08-06 18:51:33 +01:00
2012-08-06 18:51:33 +01:00
2012-08-06 18:51:33 +01:00
2012-08-06 18:51:32 +01:00
2012-08-06 14:27:40 +01:00
2012-08-06 18:51:33 +01:00
2012-08-06 14:27:43 +01:00
2012-08-06 18:51:32 +01:00
2012-08-06 14:27:45 +01:00
2012-08-06 14:27:45 +01:00
2010-03-01 12:56:10 +00:00
2011-05-16 18:45:51 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:45 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 18:51:34 +01:00
2012-08-06 18:51:34 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 18:51:32 +01:00
2012-08-06 18:51:32 +01:00
2012-08-06 14:27:39 +01:00
2009-10-16 18:58:50 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:45 +01:00
2012-08-06 14:27:45 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:45 +01:00
2011-11-22 16:07:21 +00:00
2012-08-06 14:27:42 +01:00
2012-08-06 18:51:31 +01:00
2012-08-06 14:27:43 +01:00
2012-08-06 14:27:45 +01:00
2012-08-06 14:27:45 +01:00
2012-08-15 13:44:22 +01:00
2012-08-15 13:44:22 +01:00
2012-08-06 14:27:42 +01:00
2012-08-06 14:27:45 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:45 +01:00
2012-08-06 18:51:32 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:42 +01:00
2012-08-06 18:51:33 +01:00
2012-08-06 14:27:39 +01:00
2010-06-04 14:44:15 +01:00
2011-05-16 14:31:31 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:45 +01:00
2011-05-16 14:31:31 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:45 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:40 +01:00
2012-08-06 14:27:40 +01:00
2012-08-06 14:27:45 +01:00
2012-08-06 14:27:45 +01:00
2012-08-06 14:27:45 +01:00
2012-08-06 14:27:40 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:45 +01:00
2012-08-06 14:27:40 +01:00
2012-08-06 14:27:43 +01:00
2012-08-06 14:27:43 +01:00
2012-08-06 14:27:45 +01:00
2012-08-06 14:27:43 +01:00
2012-08-06 14:27:45 +01:00
2012-08-06 18:51:32 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:45 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:39 +01:00
2012-02-20 23:16:37 +00:00
2011-06-14 12:14:02 +01:00
2012-08-06 14:27:45 +01:00
2012-08-06 18:51:32 +01:00
2011-11-01 12:03:02 +00:00
2012-08-06 14:27:42 +01:00
2012-08-06 14:27:45 +01:00
2012-08-06 18:51:32 +01:00
2012-08-06 18:51:32 +01:00
2011-05-16 13:28:17 +01:00
2012-08-06 14:27:45 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:38 +01:00
2012-08-06 14:27:45 +01:00
2012-08-06 14:27:39 +01:00
2011-07-13 12:30:07 +01:00
2012-08-06 14:27:39 +01:00
2011-07-13 12:30:07 +01:00
2012-08-06 14:27:39 +01:00
2010-12-13 17:22:57 +00:00
2012-08-06 14:27:39 +01:00
2010-12-13 17:22:57 +00:00
2012-08-06 18:51:31 +01:00
2012-08-06 14:27:41 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:45 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:40 +01:00
2012-08-06 14:27:42 +01:00
2012-08-06 18:51:33 +01:00
2011-12-06 19:02:06 +00:00
2012-08-06 14:27:40 +01:00
2011-12-06 18:51:57 +00:00
2012-08-06 14:27:40 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:45 +01:00
2010-12-13 17:22:57 +00:00
2012-08-06 14:27:40 +01:00
2010-12-13 17:28:28 +00:00
2012-08-06 14:27:40 +01:00
2012-08-06 14:27:45 +01:00
2012-08-06 14:27:45 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:45 +01:00
2011-03-07 13:26:19 +00:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:45 +01:00
2011-11-01 12:02:59 +00:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:45 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:45 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:39 +01:00
2010-09-14 12:43:17 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:39 +01:00
2011-05-16 14:11:47 +01:00
2012-08-06 18:51:32 +01:00
2012-08-06 18:51:32 +01:00
2011-07-01 17:52:55 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:45 +01:00
2012-08-06 14:27:45 +01:00
2012-08-06 14:27:45 +01:00
2012-08-06 14:27:41 +01:00
2012-08-06 14:27:41 +01:00
2012-08-06 18:51:32 +01:00
2012-08-06 14:27:45 +01:00
2012-02-20 23:12:45 +00:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:45 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:45 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:39 +01:00
2012-01-27 17:18:32 +00:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:45 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:45 +01:00
2012-08-06 18:51:33 +01:00
2012-01-27 17:18:32 +00:00
2012-08-06 14:27:44 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:44 +01:00
2012-08-06 18:51:33 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:45 +01:00
2012-08-06 14:27:44 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:44 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 18:50:22 +01:00
2012-08-06 14:27:45 +01:00
2012-08-06 14:27:45 +01:00
2012-08-14 18:55:42 +01:00
2012-08-14 18:55:42 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:45 +01:00
2012-08-06 14:27:40 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:45 +01:00
2012-03-20 14:26:44 +00:00
2012-08-06 14:27:45 +01:00
2012-08-06 18:51:34 +01:00
2011-06-30 14:33:13 +01:00
2012-08-06 14:27:45 +01:00
2011-06-30 14:34:33 +01:00
2012-02-20 23:12:45 +00:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:45 +01:00
2012-08-06 14:27:39 +01:00
2012-02-20 23:12:45 +00:00
2012-08-06 14:27:45 +01:00
2012-08-06 14:27:42 +01:00
2012-08-06 14:27:42 +01:00
2012-08-06 14:27:42 +01:00
2012-08-06 18:51:32 +01:00
2012-08-06 14:27:39 +01:00