mutter/cogl
Robert Bragg acc44161c1 material: Adds backend abstraction for fragment processing
As part of an effort to improve the architecture of CoglMaterial
internally this overhauls how we flush layer state to OpenGL by adding a
formal backend abstraction for fragment processing and further
formalizing the CoglTextureUnit abstraction.

There are three backends: "glsl", "arbfp" and "fixed". The fixed backend
uses the OpenGL fixed function APIs to setup the fragment processing,
the arbfp backend uses code generation to handle fragment processing
using an ARBfp program, and the GLSL backend is currently only there as
a formality to handle user programs associated with a material. (i.e.
the glsl backend doesn't yet support code generation)

The GLSL backend has highest precedence, then arbfp and finally the
fixed. If a backend can't support some particular CoglMaterial feature
then it will fallback to the next backend.

This adds three new COGL_DEBUG options:
* "disable-texturing" as expected should disable all texturing
* "disable-arbfp" always make the arbfp backend fallback
* "disable-glsl" always make the glsl backend fallback
* "show-source" show code generated by the arbfp/glsl backends
2010-06-09 17:15:59 +01:00
..
driver material: Adds backend abstraction for fragment processing 2010-06-09 17:15:59 +01:00
winsys Stubs out _cogl_xlib_handle_event 2010-05-19 15:28:04 +01:00
cogl-atlas-texture-private.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-atlas-texture.c cogl-atlas-texture: Flush the journal before starting blit not after 2010-06-09 15:22:05 +01:00
cogl-atlas.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-atlas.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-bitmap-fallback.c cogl-bitmap: Fix converting formats with and without alpha channels 2010-04-21 10:56:21 +01:00
cogl-bitmap-pixbuf.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-bitmap-private.h bitmap: Remove use of CoglHandle in the CoglBitmap API 2010-06-01 12:20:59 +01:00
cogl-bitmap.c bitmap: Remove use of CoglHandle in the CoglBitmap API 2010-06-01 12:20:59 +01:00
cogl-bitmap.h bitmap: Remove use of CoglHandle in the CoglBitmap API 2010-06-01 12:20:59 +01:00
cogl-bitmask.c cogl: Add an internal CoglBitmask type 2010-05-24 16:10:56 +01:00
cogl-bitmask.h cogl: Add an internal CoglBitmask type 2010-05-24 16:10:56 +01:00
cogl-blend-string.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-blend-string.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-buffer-private.h buffer: Remove use of CoglHandle in the CoglBuffer API 2010-05-28 18:42:33 +01:00
cogl-buffer.c material: Adds backend abstraction for fragment processing 2010-06-09 17:15:59 +01:00
cogl-buffer.h buffer: Remove use of CoglHandle in the CoglBuffer API 2010-05-28 18:42:33 +01:00
cogl-clip-stack.c clip_stack: Remove use of CoglHandle in the CoglClipStack API 2010-06-01 12:20:59 +01:00
cogl-clip-stack.h clip_stack: Remove use of CoglHandle in the CoglClipStack API 2010-06-01 12:20:59 +01:00
cogl-clip-state.c cogl-path: Renames cogl_path_get/set cogl_get/set_path 2010-06-04 14:44:15 +01:00
cogl-clip-state.h cogl: Implement retained clip stacks 2010-04-15 14:51:01 +01:00
cogl-color.c cogl: move cogl_set_source* funcs into cogl.c 2010-04-06 09:26:05 +01:00
cogl-color.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-context.c material: Adds backend abstraction for fragment processing 2010-06-09 17:15:59 +01:00
cogl-context.h material: Adds backend abstraction for fragment processing 2010-06-09 17:15:59 +01:00
cogl-debug.c material: Adds backend abstraction for fragment processing 2010-06-09 17:15:59 +01:00
cogl-debug.h material: Adds backend abstraction for fragment processing 2010-06-09 17:15:59 +01:00
cogl-deprecated.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00: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-feature-private.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-feature-private.h cogl: Introduce private feature flags and check for ARB_fp 2010-06-09 15:19:30 +01:00
cogl-fixed.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-fixed.h analysis: Fix some CoglFixed API 2010-06-01 12:08:18 +01:00
cogl-framebuffer-private.h Implement accessors for the color bits in a framebuffer 2010-05-05 12:25:16 +01:00
cogl-framebuffer.c Merge branch 'wip/framebuffer-bits' 2010-05-21 14:38:37 +01:00
cogl-handle.h CoglObject: Adds cogl_object_{get,set}_user_data 2010-06-04 14:44:15 +01:00
cogl-internal.h material: Adds backend abstraction for fragment processing 2010-06-09 17:15:59 +01:00
cogl-journal-private.h cogl-material: Add support for setting the wrap mode for a layer 2010-04-12 15:44:23 +01:00
cogl-journal.c material: Adds backend abstraction for fragment processing 2010-06-09 17:15:59 +01:00
cogl-material-private.h material: Adds backend abstraction for fragment processing 2010-06-09 17:15:59 +01:00
cogl-material.c material: Adds backend abstraction for fragment processing 2010-06-09 17:15:59 +01:00
cogl-material.h cogl-material: Add support for setting the wrap mode for a layer 2010-04-12 15:44:23 +01:00
cogl-matrix-mesa.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-matrix-mesa.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-matrix-private.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-matrix-stack.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-matrix-stack.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-matrix.c matrix: add cogl_matrix_equal API 2010-06-09 15:19:31 +01:00
cogl-matrix.h matrix: add cogl_matrix_equal API 2010-06-09 15:19:31 +01:00
cogl-object-private.h cogl-object-private.h: white space cleanup 2010-06-04 14:44:15 +01:00
cogl-object.c CoglObject: Adds cogl_object_{get,set}_user_data 2010-06-04 14:44:15 +01:00
cogl-object.h CoglObject: Adds a COGL_OBJECT macro for casting 2010-06-04 14:44:15 +01:00
cogl-offscreen.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-path-private.h path: Remove use of CoglHandle in the CoglPath API 2010-06-01 12:20:58 +01:00
cogl-path.c material: Adds backend abstraction for fragment processing 2010-06-09 17:15:59 +01:00
cogl-path.h cogl-path: Adds missing cogl_is_path prototype 2010-06-04 14:44:15 +01:00
cogl-pixel-buffer-private.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-pixel-buffer.c material: Adds backend abstraction for fragment processing 2010-06-09 17:15:59 +01:00
cogl-pixel-buffer.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-primitives.c material: Adds backend abstraction for fragment processing 2010-06-09 17:15:59 +01:00
cogl-primitives.h Use begin/end macros in cogl-primitives.h 2010-03-25 09:33:26 +00:00
cogl-profile.c profiling: Adds initial UProf accounting to Cogl 2010-01-08 20:19:50 +00:00
cogl-profile.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-shader.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00: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 Split the wrap mode of _cogl_texture_set_wrap_mode into three 2010-04-12 15:44:23 +01:00
cogl-texture-2d-private.h Split the wrap mode of _cogl_texture_set_wrap_mode into three 2010-04-12 15:44:23 +01:00
cogl-texture-2d-sliced-private.h Split the wrap mode of _cogl_texture_set_wrap_mode into three 2010-04-12 15:44:23 +01:00
cogl-texture-2d-sliced.c analysis: FALSE/0 used in pointer context 2010-06-01 12:08:18 +01:00
cogl-texture-2d.c cogl-texture-2d: Regenerate the mipmaps when the texture is modified 2010-05-28 18:13:53 +01:00
cogl-texture-driver.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-texture-private.h Split the wrap mode of _cogl_texture_set_wrap_mode into three 2010-04-12 15:44:23 +01:00
cogl-texture.c cogl-texture: Don't attempt to use GL to convert formats under GLES 2010-04-29 13:15:35 +01:00
cogl-texture.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-types.h doc: Some fixes for the Cogl documentation 2010-06-07 14:32:32 +01:00
cogl-util.c CoglObject: Adds cogl_object_{get,set}_user_data 2010-06-04 14:44:15 +01:00
cogl-util.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-vector.c math: Adds an experimental cogl_vector3_* API 2010-05-20 17:18:24 +01:00
cogl-vector.h math: Adds an experimental cogl_vector3_* API 2010-05-20 17:18:24 +01:00
cogl-vertex-buffer-private.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl-vertex-buffer.c material: Adds backend abstraction for fragment processing 2010-06-09 17:15:59 +01:00
cogl-vertex-buffer.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
cogl.c material: Adds backend abstraction for fragment processing 2010-06-09 17:15:59 +01:00
cogl.h CoglObject: Adds cogl_object_{get,set}_user_data 2010-06-04 14:44:15 +01:00
cogl.pc.in Intial Re-layout of the Cogl source code and introduction of a Cogl Winsys 2009-10-16 18:58:50 +01:00
Makefile.am build: Don't distribute clutter-version.h and cogl-defines.h 2010-06-04 17:43:57 +01:00
stb_image.c Update stb_image.c 2010-03-03 17:02:51 +00:00