mutter/cogl
Neil Roberts 461bff1867 fragend-arbfp: Move the pipeline cache to a separate file
The pipeline cache is now handled in CoglPipelineCache instead of
directly in the ARBfp fragend. The flags needed to hash a pipeline
should be exactly the same for the ARBfp and GLSL fragends so it's
convenient to share the code. The hash table now stores the actual
pipeline as the value instead of the private data so that the two
fragends can attach their data to it. That way it's possible to use
the same pipeline key with ancestors that are using different
fragends.

The hash table is created with g_hash_table_new_full to set a
destructor for the key and value and there is a destructor for
CoglPipelineCache that gets called when the CoglContext is
destroyed. That way we no longer leak the pipelines and shader state
when the context is desroyed.
2011-07-13 12:30:07 +01:00
..
driver Dynamically load the GL or GLES library 2011-07-11 12:57:38 +01:00
tesselator
winsys Dynamically load the GL or GLES library 2011-07-11 12:57:38 +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 Use all core GL functions through indirect pointers 2011-07-08 15:35:46 +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 cogl-atlas-texture: Add a callback for when any atlas reorganizes 2011-05-05 17:32:28 +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-pixbuf.c Fix ISO C90 compiler warnings in Cogl 2011-02-15 12:40:11 +00:00
cogl-bitmap-private.h cogl-bitmap-private.h: Include cogl-bitmap.h 2011-05-05 17:32:29 +01:00
cogl-bitmap.c cogl-texture: Don't use the source rowstride if we have to copy bitmap 2011-01-10 16:54:58 +00:00
cogl-bitmap.h docs: Fixes for the Cogl API reference 2010-12-22 09:52:35 +00: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 Dynamically load the GL or GLES library 2011-07-11 12:57:38 +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 Rename CoglIndexArray to CoglIndexBuffer 2011-05-16 14:31:31 +01:00
cogl-buffer.c Dynamically load the GL or GLES library 2011-07-11 12:57:38 +01:00
cogl-buffer.h buffer: Improve the CoglBuffer API description 2011-06-30 14:33:12 +01:00
cogl-clip-stack.c Dynamically load the GL or GLES library 2011-07-11 12:57:38 +01:00
cogl-clip-stack.h clip-stack: Adds _cogl_clip_stack_get_bounds API 2011-01-21 16:18:10 +00:00
cogl-clip-state-private.h cogl-clip-state: Adapt to experimental cogl2 API. 2011-03-10 13:05:43 +00:00
cogl-clip-state.c framebuffer: expose experimental cogl_get_draw_framebuffer 2011-04-11 15:28:53 +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.h
cogl-context-private.h fragend-arbfp: Move the pipeline cache to a separate file 2011-07-13 12:30:07 +01:00
cogl-context.c fragend-arbfp: Move the pipeline cache to a separate file 2011-07-13 12:30:07 +01:00
cogl-context.h fix namespace for cogl_context_egl_get_egl_context 2011-07-11 14:07:02 +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 Add internal _cogl_init() function 2011-06-30 14:33:11 +01:00
cogl-debug.h Add internal _cogl_init() function 2011-06-30 14:33:11 +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
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 Dynamically load the GL or GLES library 2011-07-11 12:57:38 +01:00
cogl-display.c Dynamically load the GL or GLES library 2011-07-11 12:57:38 +01:00
cogl-display.h Adds _cogl_wayland_texture_2d_new_from_buffer API 2011-06-01 20:44:42 +01:00
cogl-enum-types.c.in
cogl-enum-types.h.in
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 Dynamically load the GL or GLES library 2011-07-11 12:57:38 +01:00
cogl-feature-private.c Dynamically load the GL or GLES library 2011-07-11 12:57:38 +01:00
cogl-feature-private.h Dynamically load the GL or GLES library 2011-07-11 12:57:38 +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-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: expose viewport getters/setters 2011-06-30 14:33:11 +01:00
cogl-framebuffer.c onscreen: make platform specific onscreen apis consistent 2011-07-11 14:07:01 +01:00
cogl-framebuffer.h onscreen: make platform specific onscreen apis consistent 2011-07-11 14:07:01 +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 Dynamically load the GL or GLES library 2011-07-11 12:57:38 +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
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 Dynamically load the GL or GLES library 2011-07-11 12:57:38 +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 Dynamically load the GL or GLES library 2011-07-11 12:57:38 +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: Adds cogl_matrix_is_identity API 2011-07-04 15:31:50 +01:00
cogl-matrix.h matrix: Adds cogl_matrix_is_identity API 2011-07-04 15:31:50 +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
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 fragend-arbfp: Move the pipeline cache to a separate file 2011-07-13 12:30:07 +01:00
cogl-pipeline-cache.h fragend-arbfp: Move the pipeline cache to a separate file 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 fragend-arbfp: Move the pipeline cache to a separate file 2011-07-13 12:30:07 +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 pipeline: Unify how the backends store private data 2011-07-13 12:30:07 +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 Dynamically load the GL or GLES library 2011-07-11 12:57:38 +01:00
cogl-pipeline-private.h pipeline: Unify how the backends store private data 2011-07-13 12:30:07 +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 pipeline: Unify how the backends store private data 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 pipeline: Unify how the backends store private data 2011-07-13 12:30:07 +01:00
cogl-pipeline.c pipeline: Unify how the backends store private data 2011-07-13 12:30:07 +01:00
cogl-pipeline.h Add CoglDepthState API 2011-05-16 18:36:44 +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 Use all core GL functions through indirect pointers 2011-07-08 15:35:46 +01:00
cogl-primitives.h
cogl-private.h Dynamically load the GL or GLES library 2011-07-11 12:57:38 +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
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 math: Adds an experimental euler API 2011-05-16 14:12:42 +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 Dynamically load the GL or GLES library 2011-07-11 12:57:38 +01:00
cogl-renderer.c Dynamically load the GL or GLES library 2011-07-11 12:57:38 +01:00
cogl-renderer.h renderer: split win32 api out into separate header 2011-06-30 14:34: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-spans.c
cogl-spans.h
cogl-sub-texture-private.h
cogl-sub-texture.c cogl: rename cogl-context.h cogl-context-private.h 2011-04-11 15:18:12 +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 Move the cogl texture driver functions to a vtable 2011-07-08 15:35:51 +01:00
cogl-texture-2d.c Dynamically load the GL or GLES library 2011-07-11 12:57:38 +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
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 Move the cogl texture driver functions to a vtable 2011-07-08 15:35:51 +01:00
cogl-texture-rectangle-private.h cogl: rename CoglMaterial -> CoglPipeline 2010-11-03 18:09:23 +00:00
cogl-texture-rectangle.c Dynamically load the GL or GLES library 2011-07-11 12:57:38 +01:00
cogl-texture.c Dynamically load the GL or GLES library 2011-07-11 12:57:38 +01:00
cogl-texture.h Add _cogl_egl_texture_2d_new_from_image API 2011-06-01 20:44:42 +01:00
cogl-types.h replace public native_event APIs with typesafe APIs 2011-06-30 14:33:13 +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
cogl-vector.h
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 work towards consistent platform file/symbol naming 2011-06-30 14:34:33 +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 Dynamically load the GL or GLES library 2011-07-11 12:57:38 +01:00
cogl.h framebuffer: Add _get_XYZ_bits() functions 2011-07-04 15:31:50 +01:00
Makefile.am fragend-arbfp: Move the pipeline cache to a separate file 2011-07-13 12:30:07 +01:00
stb_image.c