Neil Roberts
12a1ef72c0
cogl-gles2-context: Keep some extra data for shaders and programs
...
All of the functions that create and destroy shaders are now wrapped
in the CoglGLES2Context so that we can track some extra data for them.
There are hash tables mapping object IDs to the corresponding data.
The data is currently not used for anything but will be in later
patches.
The glUseProgram, glAttachShader and glDetachShader functions
additionally need to be wrapped because GL does not delete shader
objects that are in use. Therefore we need to have a reference count
on the data so we can recognise when the last use has been removed.
The IDs are assumed to be specific to an individual CoglGLES2Context.
This is technically not the case because all of the CoglGLES2Contexts
are in the same share list. However we don't really want this to be
the case so currently we will assume sharing the object IDs between
contexts is undefined behaviour. Eventually we may want to actually
enforce this.
Reviewed-by: Robert Bragg <robert@linux.intel.com>
(cherry picked from commit 05dc1e34785ae5f5484cd398ecc5464bd8bd3dcd)
2012-08-14 18:55:42 +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
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:44 +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: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
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
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
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
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-14 18:55:42 +01:00
2012-08-14 18:55:42 +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
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: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-08-06 14:27:45 +01:00
2012-08-06 18:51:32 +01: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
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
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 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
2012-08-06 14:27:40 +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:39 +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: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
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: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
2012-08-06 14:27:39 +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
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-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-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 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-06 14:27:39 +01:00
2012-08-06 14:27:43 +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-08-06 14:27:45 +01:00
2012-08-06 18:51:34 +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: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