mutter/cogl
Robert Bragg 0a1db7c4d8 [cogl-matrix] Import Mesa's matrix manipulation code
This pulls in code from Mesa to improve our matrix manipulation support. It
includes support for calculating the inverse of matrices based on top of a
matrix categorizing system that allows optimizing certain matrix types.
(the main thing we were after) but also adds some optimisations for
rotations.

Changes compared to the original code from Mesa:

- Coding style is consistent with the rest of Cogl
- Instead of allocating matrix->m and matrix->inv using malloc, our public
  CoglMatrix typedef is large enough to directly contain the matrix, its
  inverse, a type and a set of flags.
- Instead of having a _math_matrix_analyse which updates the type, flags and
  inverse, we have _math_matrix_update_inverse which essentially does the
  same thing (internally making use of _math_matrix_update_type_and_flags())
  but with additional guards in place to bail out when the inverse matrix is
  still valid.
- When initializing a matrix with the identity matrix we don't immediately
  initialize the inverse matrix; rather we just set the dirty flag for the
  inverse (since it's likely the user won't request the inverse of the
  identity matrix)
2009-11-04 03:34:04 +00:00
..
driver [draw-buffers] First pass at overhauling Cogl's framebuffer management 2009-11-03 17:23:03 +00:00
winsys build: Make COGL pass distcheck 2009-10-23 13:38:40 +01:00
cogl-bitmap-fallback.c Intial Re-layout of the Cogl source code and introduction of a Cogl Winsys 2009-10-16 18:58:50 +01:00
cogl-bitmap-pixbuf.c Intial Re-layout of the Cogl source code and introduction of a Cogl Winsys 2009-10-16 18:58:50 +01:00
cogl-bitmap-private.h Intial Re-layout of the Cogl source code and introduction of a Cogl Winsys 2009-10-16 18:58:50 +01:00
cogl-bitmap.c Intial Re-layout of the Cogl source code and introduction of a Cogl Winsys 2009-10-16 18:58:50 +01:00
cogl-bitmap.h Intial Re-layout of the Cogl source code and introduction of a Cogl Winsys 2009-10-16 18:58:50 +01:00
cogl-blend-string.c Intial Re-layout of the Cogl source code and introduction of a Cogl Winsys 2009-10-16 18:58:50 +01:00
cogl-blend-string.h Intial Re-layout of the Cogl source code and introduction of a Cogl Winsys 2009-10-16 18:58:50 +01:00
cogl-clip-stack.c [clip-stack] tidy up transform_point() code 2009-11-04 03:32:52 +00:00
cogl-clip-stack.h [draw-buffers] First pass at overhauling Cogl's framebuffer management 2009-11-03 17:23:03 +00:00
cogl-color.c Intial Re-layout of the Cogl source code and introduction of a Cogl Winsys 2009-10-16 18:58:50 +01:00
cogl-color.h Intial Re-layout of the Cogl source code and introduction of a Cogl Winsys 2009-10-16 18:58:50 +01:00
cogl-context.c [cogl] Use clockwise face winding for offscreen buffers with culling enabled 2009-11-04 03:34:03 +00:00
cogl-context.h [cogl] Use clockwise face winding for offscreen buffers with culling enabled 2009-11-04 03:34:03 +00:00
cogl-debug.c Intial Re-layout of the Cogl source code and introduction of a Cogl Winsys 2009-10-16 18:58:50 +01:00
cogl-debug.h Intial Re-layout of the Cogl source code and introduction of a Cogl Winsys 2009-10-16 18:58:50 +01:00
cogl-deprecated.h Intial Re-layout of the Cogl source code and introduction of a Cogl Winsys 2009-10-16 18:58:50 +01:00
cogl-draw-buffer-private.h [draw-buffer] Adds cogl_draw_buffer_get_{width,height} API 2009-11-04 03:23:20 +00:00
cogl-draw-buffer.c [draw-buffer] Adds cogl_draw_buffer_get_{width,height} API 2009-11-04 03:23:20 +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-fixed.c Intial Re-layout of the Cogl source code and introduction of a Cogl Winsys 2009-10-16 18:58:50 +01:00
cogl-fixed.h Intial Re-layout of the Cogl source code and introduction of a Cogl Winsys 2009-10-16 18:58:50 +01:00
cogl-handle.h [cogl-texture] Split CoglTexture into an abstract class + CoglTexture2dSliced 2009-10-16 18:58:51 +01:00
cogl-internal.h [cogl] Use clockwise face winding for offscreen buffers with culling enabled 2009-11-04 03:34:03 +00:00
cogl-journal-private.h [cogl-primitives] Split the journal out from cogl-primitives.c 2009-10-16 18:58:52 +01:00
cogl-journal.c [cogl] Use clockwise face winding for offscreen buffers with culling enabled 2009-11-04 03:34:03 +00:00
cogl-material-private.h Intial Re-layout of the Cogl source code and introduction of a Cogl Winsys 2009-10-16 18:58:50 +01:00
cogl-material.c [cogl] Removes the cogl-current-matrix abstraction 2009-10-20 12:32:50 +01:00
cogl-material.h Intial Re-layout of the Cogl source code and introduction of a Cogl Winsys 2009-10-16 18:58:50 +01:00
cogl-matrix-mesa.c [cogl-matrix] Import Mesa's matrix manipulation code 2009-11-04 03:34:04 +00:00
cogl-matrix-mesa.h [cogl-matrix] Import Mesa's matrix manipulation code 2009-11-04 03:34:04 +00:00
cogl-matrix-stack.c [cogl] Make sure we draw upside down to offscreen draw buffers 2009-11-04 03:23:19 +00:00
cogl-matrix-stack.h Intial Re-layout of the Cogl source code and introduction of a Cogl Winsys 2009-10-16 18:58:50 +01:00
cogl-matrix.c [cogl-matrix] Import Mesa's matrix manipulation code 2009-11-04 03:34:04 +00:00
cogl-matrix.h [cogl-matrix] Import Mesa's matrix manipulation code 2009-11-04 03:34:04 +00:00
cogl-offscreen.h Intial Re-layout of the Cogl source code and introduction of a Cogl Winsys 2009-10-16 18:58:50 +01:00
cogl-path.h Intial Re-layout of the Cogl source code and introduction of a Cogl Winsys 2009-10-16 18:58:50 +01:00
cogl-primitives.c [cogl] Use clockwise face winding for offscreen buffers with culling enabled 2009-11-04 03:34:03 +00:00
cogl-primitives.h Intial Re-layout of the Cogl source code and introduction of a Cogl Winsys 2009-10-16 18:58:50 +01:00
cogl-shader.h Intial Re-layout of the Cogl source code and introduction of a Cogl Winsys 2009-10-16 18:58:50 +01:00
cogl-spans.c [cogl-spans] split out cogl-spans code from cogl-texture-2d-sliced 2009-10-16 18:58:52 +01:00
cogl-spans.h [cogl-spans] split out cogl-spans code from cogl-texture-2d-sliced 2009-10-16 18:58:52 +01:00
cogl-texture-2d-sliced-private.h [cogl-spans] split out cogl-spans code from cogl-texture-2d-sliced 2009-10-16 18:58:52 +01:00
cogl-texture-2d-sliced.c [cogl-spans] split out cogl-spans code from cogl-texture-2d-sliced 2009-10-16 18:58:52 +01:00
cogl-texture-driver.h [cogl-texture] Split CoglTexture into an abstract class + CoglTexture2dSliced 2009-10-16 18:58:51 +01:00
cogl-texture-private.h [cogl-primitives] Split the journal out from cogl-primitives.c 2009-10-16 18:58:52 +01:00
cogl-texture.c [draw-buffers] First pass at overhauling Cogl's framebuffer management 2009-11-03 17:23:03 +00:00
cogl-texture.h [docs] switch gl_handle+gl_target docs for cogl_texture_new_from_foreign 2009-10-16 18:58:51 +01:00
cogl-types.h Intial Re-layout of the Cogl source code and introduction of a Cogl Winsys 2009-10-16 18:58:50 +01:00
cogl-util.c [cogl] Removes the cogl-current-matrix abstraction 2009-10-20 12:32:50 +01:00
cogl-util.h Intial Re-layout of the Cogl source code and introduction of a Cogl Winsys 2009-10-16 18:58:50 +01:00
cogl-vertex-buffer-private.h Intial Re-layout of the Cogl source code and introduction of a Cogl Winsys 2009-10-16 18:58:50 +01:00
cogl-vertex-buffer.c [cogl] Use clockwise face winding for offscreen buffers with culling enabled 2009-11-04 03:34:03 +00:00
cogl-vertex-buffer.h Intial Re-layout of the Cogl source code and introduction of a Cogl Winsys 2009-10-16 18:58:50 +01:00
cogl.c [cogl] avoid any state changes when cogl_set_backface_culling_enable is a nop 2009-11-04 03:34:04 +00:00
cogl.h.in [cogl] deprecate cogl_viewport() in favour of cogl_set_viewport() 2009-11-04 03:23:21 +00: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 [cogl-matrix] Import Mesa's matrix manipulation code 2009-11-04 03:34:04 +00:00
stb_image.c Intial Re-layout of the Cogl source code and introduction of a Cogl Winsys 2009-10-16 18:58:50 +01:00