mutter/cogl
Neil Roberts a05c701e6b cogl: upload matrices with uniforms on GLES2
Once the GLES2 wrapper is removed we won't be able to upload the
matrices with the fixed function API any more. The fixed function API
gives a global state for setting the matrix but if a custom shader
uniform is used for the matrices then the state is per
program. _cogl_matrix_stack_flush_to_gl is called in a few places and
it is assumed the current pipeline doesn't need to be flushed before
it is called. To allow these semantics to continue to work, on GLES2
the matrix flush now just stores a reference to the matrix stack in
the CoglContext. A pre_paint virtual is added to the progend which is
called whenever a pipeline is flushed, even if the same pipeline was
flushed already. This gives the GLSL progend a chance to upload the
matrices to the uniforms. The combined modelview/projection matrix is
only calculated if it is used. The generated programs end up never
using the modelview or projection matrix so it usually only has to
upload the combined matrix. When a matrix stack is flushed a reference
is taked to it by the pipeline progend and the age is stored so that
if the same state is used with the same program again then we don't
need to reupload the uniform.
2010-12-13 17:29:13 +00:00
..
driver cogl: upload matrices with uniforms on GLES2 2010-12-13 17:29:13 +00:00
tesselator build: Do not build a noinst library for the tesselator 2010-09-12 19:25:47 +01:00
winsys cogl: rename CoglMaterial -> CoglPipeline 2010-11-03 18:09:23 +00:00
cogl2-path.c cogl-path: Stroke using the vertex attribute API 2010-12-13 17:28:28 +00:00
cogl2-path.h path 2.0: update path API for experimental 2.0 API 2010-11-11 13:17:26 +00:00
cogl-atlas-texture-private.h cogl-atlas-texture: Split out the atlas data structure 2010-08-12 11:56:59 +01:00
cogl-atlas-texture.c Use FBOs and use cogl_read_pixels() to efficiently read partial textures 2010-11-24 15:56:35 +00:00
cogl-atlas.c cogl: rename CoglMaterial -> CoglPipeline 2010-11-03 18:09:23 +00:00
cogl-atlas.h cogl-atlas: Support multiple formats and clearing the texture 2010-08-12 11:56:59 +01:00
cogl-bitmap-fallback.c cogl-bitmap: Encapsulate the CoglBitmap even internally 2010-07-15 17:24:01 +01:00
cogl-bitmap-pixbuf.c cogl-bitmap-pixbuf: Avoid copying the buffer in more circumstances 2010-07-22 20:13:37 +01:00
cogl-bitmap-private.h Add an internal _cogl_bitmap_new_from_buffer 2010-07-15 17:27:15 +01:00
cogl-bitmap.c buffer: make _bind() return base pointer 2010-11-03 17:28:45 +00:00
cogl-bitmap.h Make a public CoglBitmapError enum 2010-07-13 14:28:45 +01:00
cogl-bitmask.c cogl-vertex-attribute: Use glVertexAttribPointer on GLES2 2010-12-13 17:28:29 +00:00
cogl-bitmask.h cogl-vertex-attribute: Use glVertexAttribPointer on GLES2 2010-12-13 17:28:29 +00:00
cogl-blend-string.c Remove the disabling of layer constants for GLES2 2010-11-24 18:06:44 +00:00
cogl-blend-string.h
cogl-buffer-private.h cogl-buffer: Use void* instead of guint8* for map and set_data 2010-11-04 18:04:03 +00:00
cogl-buffer.c Actually free buffer objects 2010-11-19 13:27:30 +00:00
cogl-buffer.h cogl-buffer: Use void* instead of guint8* for map and set_data 2010-11-04 18:04:03 +00:00
cogl-callback-list.c cogl: Add an internal utility to maintain a list of callback functions 2010-08-12 11:54:42 +01:00
cogl-callback-list.h cogl: Add an internal utility to maintain a list of callback functions 2010-08-12 11:54:42 +01:00
cogl-clip-stack.c cogl-clip-stack: Move the struct definitions to the header 2010-12-03 17:16:58 +00:00
cogl-clip-stack.h cogl-clip-stack: Move the struct definitions to the header 2010-12-03 17:16:58 +00:00
cogl-clip-state.c cogl-clip-stack: Don't convert rect clips to window clips 2010-12-03 17:16:57 +00:00
cogl-clip-state.h build: cogl-clip-state.h depends on cogl-clip-stack.h 2010-11-19 13:27:30 +00:00
cogl-color-private.h pipeline: Implements _cogl_pipeline_hash function 2010-12-07 16:00:32 +00:00
cogl-color.c
cogl-color.h
cogl-context.c cogl: upload matrices with uniforms on GLES2 2010-12-13 17:29:13 +00:00
cogl-context.h cogl: upload matrices with uniforms on GLES2 2010-12-13 17:29:13 +00:00
cogl-debug-options.h arbfp: Adds an ARBfp program cache 2010-12-07 16:00:32 +00:00
cogl-debug.c arbfp: Adds an ARBfp program cache 2010-12-07 16:00:32 +00:00
cogl-debug.h arbfp: Adds an ARBfp program cache 2010-12-07 16:00:32 +00:00
cogl-defines.h.in configure: Include gl2ext.h or glext.h under GLES 2010-07-13 14:28:51 +01:00
cogl-deprecated.h
cogl-enum-types.c.in
cogl-enum-types.h.in
cogl-feature-private.c cogl: Add the infrastructure for checking for winsys extensions 2010-06-22 12:22:43 +01:00
cogl-feature-private.h cogl: Add the infrastructure for checking for winsys extensions 2010-06-22 12:22:43 +01:00
cogl-fixed.c Fixed "the the" repetitions in some doc strings 2010-11-25 18:18:51 +00:00
cogl-fixed.h
cogl-framebuffer-private.h cogl-framebuffer: Try to track format of the framebuffer 2010-11-24 15:56:35 +00:00
cogl-framebuffer.c cogl-matrix-stack: Convert to be a CoglObject 2010-12-13 17:28:29 +00:00
cogl-gtype-private.h matrix gtype: registers a boxed type for CoglMatrix 2010-12-07 12:16:50 +00:00
cogl-handle.h
cogl-index-array-private.h cogl: Adds experimental CoglIndexArray type 2010-11-03 18:04:00 +00:00
cogl-index-array.c cogl: Adds experimental CoglIndexArray type 2010-11-03 18:04:00 +00:00
cogl-index-array.h cogl: Adds experimental CoglIndexArray type 2010-11-03 18:04:00 +00:00
cogl-indices-private.h indices: Makes cogl_indices_get_array public 2010-11-19 13:27:30 +00:00
cogl-indices.c indices: Makes cogl_indices_get_array public 2010-11-19 13:27:30 +00:00
cogl-indices.h indices: Makes cogl_indices_get_array public 2010-11-19 13:27:30 +00:00
cogl-internal.h cogl-vertex-attribute: Use glVertexAttribPointer on GLES2 2010-12-13 17:28:29 +00:00
cogl-journal-private.h cogl-journal: Attempt to clip manually to avoid breaking up batches 2010-12-03 17:16:58 +00:00
cogl-journal.c pipeline: generalize _cogl_pipeline_equal 2010-12-07 16:00:32 +00:00
cogl-material-compat.c cogl: rename CoglMaterial -> CoglPipeline 2010-11-03 18:09:23 +00:00
cogl-material-compat.h cogl: rename CoglMaterial -> CoglPipeline 2010-11-03 18:09:23 +00:00
cogl-matrix-mesa.c
cogl-matrix-mesa.h
cogl-matrix-private.h
cogl-matrix-stack.c cogl: upload matrices with uniforms on GLES2 2010-12-13 17:29:13 +00:00
cogl-matrix-stack.h cogl: upload matrices with uniforms on GLES2 2010-12-13 17:29:13 +00:00
cogl-matrix.c matrix gtype: registers a boxed type for CoglMatrix 2010-12-07 12:16:50 +00:00
cogl-matrix.h matrix gtype: registers a boxed type for CoglMatrix 2010-12-07 12:16:50 +00:00
cogl-object-private.h cogl-object-private.h: Include cogl-debug.h 2010-09-17 17:22:16 +01:00
cogl-object.c cogl-object: remove un-used cogl_object_get_type 2010-12-07 12:16:50 +00:00
cogl-object.h
cogl-offscreen.h Add some more introspection annotations 2010-09-06 16:11:46 +01:00
cogl-path-private.h cogl-path: Stroke using the vertex attribute API 2010-12-13 17:28:28 +00:00
cogl-path.c path 2.0: update path API for experimental 2.0 API 2010-11-11 13:17:26 +00:00
cogl-path.h path 2.0: update path API for experimental 2.0 API 2010-11-11 13:17:26 +00:00
cogl-pipeline-fragend-arbfp-private.h Rename CoglPipelineBackend to CoglPipelineFragend 2010-12-13 17:22:57 +00:00
cogl-pipeline-fragend-arbfp.c cogl: Add a vertend to generate GLSL 2010-12-13 17:28:28 +00:00
cogl-pipeline-fragend-fixed-private.h Rename CoglPipelineBackend to CoglPipelineFragend 2010-12-13 17:22:57 +00:00
cogl-pipeline-fragend-fixed.c cogl: Add a vertend to generate GLSL 2010-12-13 17:28:28 +00:00
cogl-pipeline-fragend-glsl-private.h cogl: Add a GLSL 'progend' 2010-12-13 17:22:57 +00:00
cogl-pipeline-fragend-glsl.c cogl: Move COGL_DEBUG=show-source into cogl-shader.c 2010-12-13 17:28:28 +00:00
cogl-pipeline-opengl-private.h cogl-pipeline: Move texture enabling/disabling to fixed fragend 2010-12-13 17:22:57 +00:00
cogl-pipeline-opengl.c cogl: upload matrices with uniforms on GLES2 2010-12-13 17:29:13 +00:00
cogl-pipeline-private.h cogl: upload matrices with uniforms on GLES2 2010-12-13 17:29:13 +00:00
cogl-pipeline-progend-glsl-private.h cogl-vertex-attribute: Use glVertexAttribPointer on GLES2 2010-12-13 17:28:29 +00:00
cogl-pipeline-progend-glsl.c cogl: upload matrices with uniforms on GLES2 2010-12-13 17:29:13 +00:00
cogl-pipeline-vertend-fixed-private.h cogl: Add a fixed function vertend 2010-12-13 17:22:57 +00:00
cogl-pipeline-vertend-fixed.c cogl: Add a vertend to generate GLSL 2010-12-13 17:28:28 +00:00
cogl-pipeline-vertend-glsl-private.h cogl: Add a vertend to generate GLSL 2010-12-13 17:28:28 +00:00
cogl-pipeline-vertend-glsl.c cogl: upload matrices with uniforms on GLES2 2010-12-13 17:29:13 +00:00
cogl-pipeline.c cogl-pipeline: Add internal API to get the layer matrix 2010-12-13 17:28:29 +00:00
cogl-pipeline.h cogl-pipeline: Add getters for the alpha test state 2010-11-24 18:06:44 +00:00
cogl-pixel-array-private.h pixel-array: Remove flags member and flag macros 2010-10-26 16:16:40 +01:00
cogl-pixel-array.c Actually free buffer objects 2010-11-19 13:27:30 +00:00
cogl-pixel-array.h pixel-array: Only allow allocation of arrays with a 2D size 2010-07-05 15:20:04 +01:00
cogl-primitive-private.h primitive: adds immutable ref/unref mechanism 2010-11-03 18:04:31 +00:00
cogl-primitive.c vertex-array: Adds data arg for _vertex_array_new() 2010-11-19 13:27:30 +00:00
cogl-primitive.h cogl-primitive: Add the missing cogl_primitive_new_p2 function 2010-11-04 17:59:28 +00:00
cogl-primitives-private.h cogl: Don't flush the journal when flushing clip state 2010-11-04 18:10:08 +00:00
cogl-primitives.c primitives: avoid leaking polygon override materials 2010-11-26 14:33:50 +00:00
cogl-primitives.h
cogl-private.h Add an internal _cogl_read_pixels_with_rowstride 2010-11-24 15:56:34 +00:00
cogl-profile.c Initialize the cogl uprof state in cogl_create_context 2010-09-14 12:43:17 +01:00
cogl-profile.h Initialize the cogl uprof state in cogl_create_context 2010-09-14 12:43:17 +01:00
cogl-program-private.h cogl-program: Add private functions to check if have each shader type 2010-12-13 17:22:57 +00:00
cogl-program.c cogl-program: Add private functions to check if have each shader type 2010-12-13 17:22:57 +00:00
cogl-rectangle-map.c cogl-rectangle-map: Record largest gap rather than the remaining space 2010-08-12 11:57:00 +01:00
cogl-rectangle-map.h cogl-atlas: Rename to CoglRectangleMap 2010-08-12 11:54:42 +01:00
cogl-shader-boilerplate.h cogl-shader-boilerplate: Don't put the color attrib in location 0 2010-12-13 17:28:28 +00:00
cogl-shader-private.h Revert "cogl: Remove the generated array size for cogl_tex_coord_in" 2010-12-03 15:27:17 +00:00
cogl-shader.c cogl: Move COGL_DEBUG=show-source into cogl-shader.c 2010-12-13 17:28:28 +00:00
cogl-shader.h cogl-shader: Add deprecation guards for cogl_program_uniform_* 2010-09-03 16:59:01 +01:00
cogl-spans.c
cogl-spans.h
cogl-sub-texture-private.h
cogl-sub-texture.c Use FBOs and use cogl_read_pixels() to efficiently read partial textures 2010-11-24 15:56:35 +00:00
cogl-texture-2d-private.h cogl: rename CoglMaterial -> CoglPipeline 2010-11-03 18:09:23 +00:00
cogl-texture-2d-sliced-private.h cogl: rename CoglMaterial -> CoglPipeline 2010-11-03 18:09:23 +00:00
cogl-texture-2d-sliced.c Use FBOs and use cogl_read_pixels() to efficiently read partial textures 2010-11-24 15:56:35 +00:00
cogl-texture-2d.c cogl-texture: Remove the gl_handle from CoglTextureSliceCallback 2010-11-11 16:25:13 +00:00
cogl-texture-3d-private.h cogl: rename CoglMaterial -> CoglPipeline 2010-11-03 18:09:23 +00:00
cogl-texture-3d.c cogl-texture: Remove the gl_handle from CoglTextureSliceCallback 2010-11-11 16:25:13 +00:00
cogl-texture-3d.h Add a Cogl texture 3D backend 2010-07-13 14:28:52 +01:00
cogl-texture-driver.h Add a Cogl texture 3D backend 2010-07-13 14:28:52 +01:00
cogl-texture-private.h cogl-texture: Remove the gl_handle from CoglTextureSliceCallback 2010-11-11 16:25:13 +00:00
cogl-texture-rectangle-private.h cogl: rename CoglMaterial -> CoglPipeline 2010-11-03 18:09:23 +00:00
cogl-texture-rectangle.c cogl-texture: Remove the gl_handle from CoglTextureSliceCallback 2010-11-11 16:25:13 +00:00
cogl-texture.c Use FBOs and use cogl_read_pixels() to efficiently read partial textures 2010-11-24 15:56:35 +00:00
cogl-texture.h
cogl-types.h cogl: rename CoglMaterial -> CoglPipeline 2010-11-03 18:09:23 +00:00
cogl-util.c pipeline: Implements _cogl_pipeline_hash function 2010-12-07 16:00:32 +00:00
cogl-util.h pipeline: Implements _cogl_pipeline_hash function 2010-12-07 16:00:32 +00:00
cogl-vector.c
cogl-vector.h cogl: declare experimental symbols consistently 2010-06-30 18:51:31 +01:00
cogl-vertex-array-private.h cogl: Adds experimental CoglVertexArray type 2010-11-03 18:04:00 +00:00
cogl-vertex-array.c vertex-array: Adds data arg for _vertex_array_new() 2010-11-19 13:27:30 +00:00
cogl-vertex-array.h vertex-array: Adds data arg for _vertex_array_new() 2010-11-19 13:27:30 +00:00
cogl-vertex-attribute-private.h cogl-vertex-attribute: Use glVertexAttribPointer on GLES2 2010-12-13 17:28:29 +00:00
cogl-vertex-attribute.c cogl-vertex-attribute: Use glVertexAttribPointer on GLES2 2010-12-13 17:28:29 +00:00
cogl-vertex-attribute.h gtk-doc: Fixes for the API references 2010-11-08 16:01:19 +00:00
cogl-vertex-buffer-private.h vertex-buffer: port to CoglVertexAttributes + CoglPrimitive 2010-11-03 18:09:15 +00:00
cogl-vertex-buffer.c Fixed "the the" repetitions in some doc strings 2010-11-25 18:18:51 +00:00
cogl-vertex-buffer.h Move IndicesType and VerticesMode typedefs to cogl-types.h 2010-10-26 17:25:33 +01:00
cogl.c cogl-vertex-attribute: Use glVertexAttribPointer on GLES2 2010-12-13 17:28:29 +00:00
cogl.h matrix gtype: registers a boxed type for CoglMatrix 2010-12-07 12:16:50 +00:00
cogl.pc.in
Makefile.am cogl: Add a vertend to generate GLSL 2010-12-13 17:28:28 +00:00
stb_image.c