mutter/cogl
Neil Roberts 769c8472dd fragend-glsl: Don't generate code for ignored layers
This patch changes it so that code for each layer is generated on
demand instead of directly in the add_layer implementation. The
pipeline only explicitly generates code for the last layer. If this
layer references the result from any other layers, these will also be
recursively generated. This means that if a layer is using 'REPLACE'
then it won't redundantly generate the code for the previous
layers.

The result for each layer is generated into a variable called layer%i
where %i is the layer index (not the unit index). Therefore to get the
result from layer n we just have to refer to the varible layern.

https://bugzilla.gnome.org/show_bug.cgi?id=656426

Reviewed-by: Robert Bragg <robert@linux.intel.com>
2011-09-05 19:02:04 +01:00
..
driver Add the missing check for COGL_FEATURE_POINT_SPRITE on the GL driver 2011-08-01 14:05:09 +01:00
tesselator build: Do not build a noinst library for the tesselator 2010-09-12 19:25:47 +01:00
winsys framebuffer: make _swap_region coords top-left relative 2011-08-12 15:28:43 +01:00
cogl2-clip-state.c framebuffer: expose experimental cogl_get_draw_framebuffer 2011-04-11 15:28:53 +01:00
cogl2-clip-state.h cogl-clip-state: Adapt to experimental cogl2 API. 2011-03-10 13:05:43 +00:00
cogl2-path.c framebuffer: don't reference default fb in _clear apis 2011-08-12 15:28:43 +01:00
cogl2-path.h path 2.0: update path API for experimental 2.0 API 2010-11-11 13:17:26 +00:00
cogl-1.0.pc.in Give cogl-pango it's own pkg-config file 2011-05-06 12:12:08 +01:00
cogl-2.0-experimental.pc.in Make it clearer that the 2.0 API is experimental 2011-06-14 17:09:55 +01:00
cogl-atlas-texture-private.h cogl-atlas-texture: Add a callback for when any atlas reorganizes 2011-05-05 17:32:28 +01:00
cogl-atlas-texture.c texture: Call _cogl_texture_prepare_for_upload in set_region impl 2011-09-05 19:02:04 +01:00
cogl-atlas.c Move the cogl texture driver functions to a vtable 2011-07-08 15:35:51 +01:00
cogl-atlas.h cogl: Use GHookList instead of CoglCallbackList 2011-03-14 18:18:15 +00:00
cogl-attribute-buffer-private.h Rename CoglVertexArray to CoglAttributeBuffer 2011-05-16 14:31:31 +01:00
cogl-attribute-buffer.c Rename CoglVertexArray to CoglAttributeBuffer 2011-05-16 14:31:31 +01:00
cogl-attribute-buffer.h Rename CoglVertexArray to CoglAttributeBuffer 2011-05-16 14:31:31 +01:00
cogl-attribute-private.h Don't pass around NULL terminated CoglAttribute arrays 2011-05-16 14:32:37 +01:00
cogl-attribute.c Dynamically load the GL or GLES library 2011-07-11 12:57:38 +01:00
cogl-attribute.h Don't pass around NULL terminated CoglAttribute arrays 2011-05-16 14:32:37 +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 Fix ISO C90 compiler warnings in Cogl 2011-02-15 12:40:11 +00:00
cogl-bitmap-private.h Export API for uploading a tex subregion from a CoglBuffer 2011-07-25 22:45:24 +01:00
cogl-bitmap.c Export API for uploading a tex subregion from a CoglBuffer 2011-07-25 22:45:24 +01:00
cogl-bitmap.h Export API for uploading a tex subregion from a CoglBuffer 2011-07-25 22:45:24 +01:00
cogl-bitmask.c cogl-vertex-attribute: Use glVertexAttribPointer on GLES2 2010-12-13 17:28:29 +00:00
cogl-bitmask.h cogl-context: Store winsys features in an array of unsigned ints 2011-04-20 18:20:10 +01:00
cogl-blend-string.c blend-strings: Make braces around blend factor optional 2011-09-05 17:54:46 +01:00
cogl-blend-string.h blend-strings: removes the AUTO_COMPOSITE function enum 2010-06-15 15:26:27 +01:00
cogl-blit.c Make CoglTexture2D public as experimental API 2011-06-01 20:44:41 +01:00
cogl-blit.h cogl-atlas: Try 4 different approaches for migrating textures 2011-02-15 12:10:54 +00:00
cogl-buffer-private.h buffer: make the COGL_BUFFER casting macro public 2011-08-12 15:28:43 +01:00
cogl-buffer.c Dynamically load the GL or GLES library 2011-07-11 12:57:38 +01:00
cogl-buffer.h buffer: make the COGL_BUFFER casting macro public 2011-08-12 15:28:43 +01:00
cogl-clip-stack.c framebuffer: don't reference default fb in _clear apis 2011-08-12 15:28:43 +01:00
cogl-clip-stack.h framebuffer: don't reference default fb in _clear apis 2011-08-12 15:28:43 +01:00
cogl-clip-state-private.h framebuffer: don't reference default fb in _clear apis 2011-08-12 15:28:43 +01:00
cogl-clip-state.c framebuffer: don't reference default fb in _clear apis 2011-08-12 15:28:43 +01:00
cogl-clip-state.h cogl-clip-state: Adapt to experimental cogl2 API. 2011-03-10 13:05:43 +00:00
cogl-clutter.c Make stub winsys into a proper winsys backend 2011-06-01 20:44:41 +01:00
cogl-clutter.h Moves all GLX code down from Clutter to Cogl 2011-04-11 17:54:36 +01:00
cogl-color-private.h pipeline: Implements _cogl_pipeline_hash function 2010-12-07 16:00:32 +00:00
cogl-color.c cogl-color: add cogl_color_init_from_xyz funcs 2010-06-15 15:26:27 +01:00
cogl-color.h cogl-color: add cogl_color_init_from_xyz funcs 2010-06-15 15:26:27 +01:00
cogl-config-private.h cogl: Add support for reading a cogl.conf config file 2011-08-12 15:28:42 +01:00
cogl-config.c cogl: Add support for reading a cogl.conf config file 2011-08-12 15:28:42 +01:00
cogl-context-private.h Adds ColorMask support to Cogl 2011-07-19 19:27:09 +01:00
cogl-context.c context: Add an accessor to get display associated with the context 2011-09-05 17:54:46 +01:00
cogl-context.h context: Add an accessor to get display associated with the context 2011-09-05 17:54:46 +01:00
cogl-debug-options.h cogl-debug: Add an option to disable atlasing sharing 2011-05-05 17:32:31 +01:00
cogl-debug.c cogl: Add support for reading a cogl.conf config file 2011-08-12 15:28:42 +01:00
cogl-debug.h cogl: Add support for reading a cogl.conf config file 2011-08-12 15:28:42 +01:00
cogl-defines.h.in Add _cogl_egl_texture_2d_new_from_image API 2011-06-01 20:44:42 +01:00
cogl-deprecated.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-depth-state-private.h Adds missing cogl-depth-state-private.h 2011-05-16 18:45:51 +01:00
cogl-depth-state.c Revert "Do not use "near" and "far" variables" 2011-06-14 14:40:27 +01:00
cogl-depth-state.h Fix some gtk-doc annotations in cogl-depth-state.h 2011-06-14 17:09:55 +01:00
cogl-display-private.h egl-gdl: struct gdl_plane never was a valid type 2011-07-29 11:50:15 +01:00
cogl-display.c display: Add an accessor to get the renderer out of a display 2011-09-05 17:54:46 +01:00
cogl-display.h display: Add an accessor to get the renderer out of a display 2011-09-05 17:54:46 +01:00
cogl-enum-types.c.in Intial Re-layout of the Cogl source code and introduction of a Cogl Winsys 2009-10-16 18:58:50 +01:00
cogl-enum-types.h.in Intial Re-layout of the Cogl source code and introduction of a Cogl Winsys 2009-10-16 18:58:50 +01:00
cogl-euler.c math: Adds an experimental euler API 2011-05-16 14:12:42 +01:00
cogl-euler.h Add compile time checks for size of public structs 2011-05-16 14:12:49 +01:00
cogl-ext-functions.h ext-functions: Don't assume GLchar typedef 2011-08-12 15:28:42 +01:00
cogl-feature-private.c Don't use the 'NULL' GModule to resolve GL symbols 2011-07-27 16:10:02 +01:00
cogl-feature-private.h Don't use the 'NULL' GModule to resolve GL symbols 2011-07-27 16:10:02 +01:00
cogl-fixed.c Fix testing of undefined macro constants to check for definedness instead 2011-07-27 18:46:36 +01:00
cogl-fixed.h analysis: Fix some CoglFixed API 2010-06-01 12:08:18 +01:00
cogl-flags.h cogl-context: Store winsys features in an array of unsigned ints 2011-04-20 18:20:10 +01:00
cogl-framebuffer-private.h framebuffer: Make framebuffer_clear APIs public experimental 2011-08-12 15:28:43 +01:00
cogl-framebuffer.c framebuffer: make _swap_region coords top-left relative 2011-08-12 15:28:43 +01:00
cogl-framebuffer.h framebuffer: make _swap_region coords top-left relative 2011-08-12 15:28:43 +01:00
cogl-glx-display-private.h work towards consistent platform file/symbol naming 2011-06-30 14:34:33 +01:00
cogl-glx-renderer-private.h Don't use the 'NULL' GModule to resolve GL symbols 2011-07-27 16:10:02 +01:00
cogl-gtype-private.h matrix gtype: registers a boxed type for CoglMatrix 2010-12-07 12:16:50 +00:00
cogl-handle.h CoglObject: Adds cogl_object_{get,set}_user_data 2010-06-04 14:44:15 +01:00
cogl-index-buffer-private.h Rename CoglIndexArray to CoglIndexBuffer 2011-05-16 14:31:31 +01:00
cogl-index-buffer.c Rename CoglIndexArray to CoglIndexBuffer 2011-05-16 14:31:31 +01:00
cogl-index-buffer.h Rename CoglIndexArray to CoglIndexBuffer 2011-05-16 14:31:31 +01:00
cogl-indices-private.h Rename CoglIndexArray to CoglIndexBuffer 2011-05-16 14:31:31 +01:00
cogl-indices.c Rename CoglIndexArray to CoglIndexBuffer 2011-05-16 14:31:31 +01:00
cogl-indices.h Rename CoglIndexArray to CoglIndexBuffer 2011-05-16 14:31:31 +01:00
cogl-internal.h Use MESA_pack_invert to avoid read_pixels flip 2011-07-13 19:06:19 +01:00
cogl-journal-private.h cogl-journal: Use a pool of vertex arrays 2011-06-01 14:41:59 +01:00
cogl-journal.c framebuffer: don't reference default fb in _clear apis 2011-08-12 15:28:43 +01:00
cogl-material-compat.c Remove G_CONST_RETURN 2011-06-09 16:21:15 +01:00
cogl-material-compat.h Remove G_CONST_RETURN 2011-06-09 16:21:15 +01:00
cogl-matrix-private.h matrix-mesa: move to _cogl_matrix namespace 2011-07-04 15:31:50 +01:00
cogl-matrix-stack.c Dynamically load the GL or GLES library 2011-07-11 12:57:38 +01:00
cogl-matrix-stack.h cogl: upload matrices with uniforms on GLES2 2010-12-13 17:29:13 +00:00
cogl-matrix.c matrix: Add cogl_matrix_look_at 2011-08-12 15:28:44 +01:00
cogl-matrix.h matrix: Add cogl_matrix_look_at 2011-08-12 15:28:44 +01:00
cogl-object-private.h cogl-debug: add instrumentation to track the number of objects 2011-06-14 12:14:02 +01:00
cogl-object.c cogl-debug: add instrumentation to track the number of objects 2011-06-14 12:14:02 +01:00
cogl-object.h cogl-debug: add instrumentation to track the number of objects 2011-06-14 12:14:02 +01:00
cogl-offscreen.h Add some more introspection annotations 2010-09-06 16:11:46 +01:00
cogl-onscreen-template-private.h Adds renderer,display,onscreen-template and swap-chain stubs 2011-04-11 17:54:35 +01:00
cogl-onscreen-template.c Adds renderer,display,onscreen-template and swap-chain stubs 2011-04-11 17:54:35 +01:00
cogl-onscreen-template.h Adds renderer,display,onscreen-template and swap-chain stubs 2011-04-11 17:54:35 +01:00
cogl-pango.h deprecate #include <cogl/cogl-pango.h> 2011-05-16 13:28:17 +01:00
cogl-path-private.h Rename CoglVertexArray to CoglAttributeBuffer 2011-05-16 14:31:31 +01:00
cogl-path.c cogl: rename cogl-context.h cogl-context-private.h 2011-04-11 15:18:12 +01:00
cogl-path.h docs: Fixes for the Cogl API reference 2010-12-22 09:52:35 +00:00
cogl-pipeline-cache.c cogl-pipeline: Use the pipeline cache for the GLSL backends 2011-07-13 12:30:07 +01:00
cogl-pipeline-cache.h cogl-pipeline: Use the pipeline cache for the GLSL backends 2011-07-13 12:30:07 +01:00
cogl-pipeline-fragend-arbfp-private.h fragend-arbfp: Move the pipeline cache to a separate file 2011-07-13 12:30:07 +01:00
cogl-pipeline-fragend-arbfp.c cogl-pipeline-fragend-arbfp: Initialise template_pipeline 2011-07-27 10:55:47 +01:00
cogl-pipeline-fragend-fixed-private.h Rename CoglPipelineBackend to CoglPipelineFragend 2010-12-13 17:22:57 +00:00
cogl-pipeline-fragend-fixed.c pipeline: Unify how the backends store private data 2011-07-13 12:30:07 +01: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 fragend-glsl: Don't generate code for ignored layers 2011-09-05 19:02:04 +01: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 pipeline: Remove unsused get_max_texture_image_units() 2011-09-05 17:54:46 +01:00
cogl-pipeline-private.h pipeline: Remove unsused get_max_texture_image_units() 2011-09-05 17:54:46 +01:00
cogl-pipeline-progend-glsl-private.h cogl: rename CoglVertexAttribute CoglAttribute 2011-01-21 16:24:14 +00:00
cogl-pipeline-progend-glsl.c cogl-pipeline: Use the pipeline cache for the GLSL backends 2011-07-13 12:30:07 +01: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 Dynamically load the GL or GLES library 2011-07-11 12:57:38 +01: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-pipeline: Use the pipeline cache for the GLSL backends 2011-07-13 12:30:07 +01:00
cogl-pipeline.c Adds ColorMask support to Cogl 2011-07-19 19:27:09 +01:00
cogl-pipeline.h blend-strings: Make braces around blend factor optional 2011-09-05 17:54:46 +01:00
cogl-pixel-buffer-private.h Rename CoglPixelArray to CoglPixelBuffer 2011-05-16 14:31:31 +01:00
cogl-pixel-buffer.c Use all core GL functions through indirect pointers 2011-07-08 15:35:46 +01:00
cogl-pixel-buffer.h Rename CoglPixelArray to CoglPixelBuffer 2011-05-16 14:31:31 +01:00
cogl-point-in-poly-private.h util: tune point_in_poly test for polys in screen coords 2011-03-07 13:26:19 +00:00
cogl-point-in-poly.c util: tune point_in_poly test for polys in screen coords 2011-03-07 13:26:19 +00:00
cogl-primitive-private.h Rename CoglVertexArray to CoglAttributeBuffer 2011-05-16 14:31:31 +01:00
cogl-primitive.c cogl-primitive: Fix some broken changes for removal of NULL terminator 2011-05-16 18:34:22 +01:00
cogl-primitive.h Don't pass around NULL terminated CoglAttribute arrays 2011-05-16 14:32:37 +01: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 cogl-primitives: Plug some leaks in cogl_polygon 2011-08-01 14:08:46 +01:00
cogl-primitives.h Use begin/end macros in cogl-primitives.h 2010-03-25 09:33:26 +00:00
cogl-private.h Combine _cogl_context_check_gl_version and update_features into one 2011-07-18 15:41:35 +01:00
cogl-profile.c cogl-debug: Split the flags to support more than 32 2011-01-24 15:45:45 +00: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 Dynamically load the GL or GLES library 2011-07-11 12:57:38 +01:00
cogl-quaternion-private.h math: Adds an experimental quaternion API 2011-05-16 14:11:47 +01:00
cogl-quaternion.c quaternion: fix init_from_array and get_rotation_axis 2011-07-27 18:21:27 +01:00
cogl-quaternion.h doc: fix the name of the cogl_quaternion_equal args 2011-05-16 17:08:30 +01:00
cogl-queue.h cogl-queue: Make suitable for use in Cogl source code 2011-07-01 17:52:55 +01:00
cogl-rectangle-map.c debug: Allow to compile a debug Cogl without cairo 2011-05-17 15:24:54 +01:00
cogl-rectangle-map.h cogl-atlas: Rename to CoglRectangleMap 2010-08-12 11:54:42 +01:00
cogl-renderer-private.h Fix testing of undefined macro constants to check for definedness instead 2011-07-27 18:46:36 +01:00
cogl-renderer.c renderer: Add cogl_renderer_get_n_fragment_texture_units() 2011-09-05 17:54:46 +01:00
cogl-renderer.h renderer: Add cogl_renderer_get_n_fragment_texture_units() 2011-09-05 17:54:46 +01:00
cogl-shader-boilerplate.h Dynamically load the GL or GLES library 2011-07-11 12:57:38 +01:00
cogl-shader-private.h Dynamically load the GL or GLES library 2011-07-11 12:57:38 +01:00
cogl-shader.c Dynamically load the GL or GLES library 2011-07-11 12:57:38 +01:00
cogl-shader.h cogl-shader: Add deprecation guards for cogl_program_uniform_* 2010-09-03 16:59:01 +01:00
cogl-spans.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-spans.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-sub-texture-private.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-sub-texture.c Export API for uploading a tex subregion from a CoglBuffer 2011-07-25 22:45:24 +01:00
cogl-swap-chain-private.h EGL: Updates GDL platform support 2011-05-05 14:46:02 +01:00
cogl-swap-chain.c EGL: Updates GDL platform support 2011-05-05 14:46:02 +01:00
cogl-swap-chain.h EGL: Updates GDL platform support 2011-05-05 14:46:02 +01:00
cogl-texture-2d-private.h Add _cogl_egl_texture_2d_new_from_image API 2011-06-01 20:44:42 +01:00
cogl-texture-2d-sliced-private.h cogl: rename CoglMaterial -> CoglPipeline 2010-11-03 18:09:23 +00:00
cogl-texture-2d-sliced.c texture: Call _cogl_texture_prepare_for_upload in set_region impl 2011-09-05 19:02:04 +01:00
cogl-texture-2d.c texture: Call _cogl_texture_prepare_for_upload in set_region impl 2011-09-05 19:02:04 +01:00
cogl-texture-2d.h include required cogl-context.h in cogl-texture-2d.h 2011-06-14 17:09:55 +01:00
cogl-texture-3d-private.h cogl: rename CoglMaterial -> CoglPipeline 2010-11-03 18:09:23 +00:00
cogl-texture-3d.c Dynamically load the GL or GLES library 2011-07-11 12:57:38 +01:00
cogl-texture-3d.h Add a Cogl texture 3D backend 2010-07-13 14:28:52 +01:00
cogl-texture-driver.h Move the cogl texture driver functions to a vtable 2011-07-08 15:35:51 +01:00
cogl-texture-private.h texture: Call _cogl_texture_prepare_for_upload in set_region impl 2011-09-05 19:02:04 +01:00
cogl-texture-rectangle-private.h cogl: rename CoglMaterial -> CoglPipeline 2010-11-03 18:09:23 +00:00
cogl-texture-rectangle.c texture: Call _cogl_texture_prepare_for_upload in set_region impl 2011-09-05 19:02:04 +01:00
cogl-texture.c texture: Call _cogl_texture_prepare_for_upload in set_region impl 2011-09-05 19:02:04 +01:00
cogl-texture.h Export API for uploading a tex subregion from a CoglBuffer 2011-07-25 22:45:24 +01:00
cogl-types.h Adds ColorMask support to Cogl 2011-07-19 19:27:09 +01:00
cogl-util.c Moves all GLX code down from Clutter to Cogl 2011-04-11 17:54:36 +01:00
cogl-util.h cogl-util: Add an internal wrapper for the ffs function 2011-01-10 16:55:00 +00:00
cogl-vector.c math: Adds an experimental cogl_vector3_* API 2010-05-20 17:18:24 +01:00
cogl-vector.h cogl: declare experimental symbols consistently 2010-06-30 18:51:31 +01:00
cogl-vertex-buffer-private.h Rename CoglVertexArray to CoglAttributeBuffer 2011-05-16 14:31:31 +01:00
cogl-vertex-buffer.c cogl-vertex-buffer: make sure to unref weak pipelines 2011-06-13 17:48:23 +01:00
cogl-vertex-buffer.h docs: clarify cogl_vertex_buffer_adds docs 2011-02-09 19:12:12 +00:00
cogl-wayland-renderer.h Updates wayland symbol names to be consistent 2011-06-30 14:34:46 +01:00
cogl-win32-renderer.c replace public native_event APIs with typesafe APIs 2011-06-30 14:33:13 +01:00
cogl-win32-renderer.h renderer: split win32 api out into separate header 2011-06-30 14:34:46 +01:00
cogl-x11-renderer-private.h work towards consistent platform file/symbol naming 2011-06-30 14:34:33 +01:00
cogl-xlib-display-private.h work towards consistent platform file/symbol naming 2011-06-30 14:34:33 +01:00
cogl-xlib-private.h replace _xlib_add_filter use with _cogl_renderer API 2011-06-01 20:44:42 +01:00
cogl-xlib-renderer-private.h work towards consistent platform file/symbol naming 2011-06-30 14:34:33 +01:00
cogl-xlib-renderer.c x11: don't try and close a NULL display 2011-07-20 16:43:29 +01:00
cogl-xlib-renderer.h work towards consistent platform file/symbol naming 2011-06-30 14:34:33 +01:00
cogl-xlib.c work towards consistent platform file/symbol naming 2011-06-30 14:34:33 +01:00
cogl-xlib.h cogl-renderer: Move the XEvent filters to be generic for all renderers 2011-04-20 18:17:06 +01:00
cogl.c framebuffer: Make framebuffer_clear APIs public experimental 2011-08-12 15:28:43 +01:00
cogl.h Include cogl-win32-renderer.h in cogl.h on Windows 2011-07-31 17:46:35 +01:00
Makefile.am cogl: Add support for reading a cogl.conf config file 2011-08-12 15:28:42 +01:00
stb_image.c stb_image: use glib sized types 2011-08-12 15:28:42 +01:00