mutter/clutter/cogl
Robert Bragg 6d9498da7c Adds a cogl_flush() to give developers breaking into raw GL a fighting chance
This function should only need to be called in exceptional circumstances
since Cogl can normally determine internally when a flush is necessary.

As an optimization Cogl drawing functions may batch up primitives
internally, so if you are trying to use raw GL outside of Cogl you stand a
better chance of being successful if you ask Cogl to flush any batched
geometry before making your state changes.

cogl_flush() ensures that the underlying driver is issued all the commands
necessary to draw the batched primitives.  It provides no guarantees about
when the driver will complete the rendering.

This provides no guarantees about the GL state upon returning and to avoid
confusing Cogl you should aim to restore any changes you make before
resuming use of Cogl.

If you are making state changes with the intention of affecting Cogl drawing
primitives you are 100% on your own since you stand a good chance of
conflicting with Cogl internals.  For example clutter-gst which currently
uses direct GL calls to bind ARBfp programs will very likely break when Cogl
starts to use ARBfb programs internally for the material API, but for now it
can use cogl_flush() to at least ensure that the ARBfp program isn't applied
to additional primitives.

This does not provide a robust generalized solution supporting safe use of
raw GL, its use is very much discouraged.
2009-06-30 17:13:38 +01:00
..
common Adds a cogl_flush() to give developers breaking into raw GL a fighting chance 2009-06-30 17:13:38 +01:00
gl [cogl] disable all client tex coord arrays in _cogl_add_path_to_stencil_buffer 2009-06-30 17:13:37 +01:00
gles [cogl material] optimize logging of material colors in the journal 2009-06-30 17:13:35 +01:00
cogl-bitmap.h [docs] Various gtk-doc fixes for COGL 2009-06-10 12:57:36 +01:00
cogl-color.h [cogl-color] Adds a cogl_color_equal() function 2009-06-30 17:13:35 +01:00
cogl-debug.h [cogl journal] Perform software modelview transform on logged quads. 2009-06-30 17:13:36 +01:00
cogl-deprecated.h [cogl deprecated] Add backface culling deprecation 2009-05-28 14:14:50 +01:00
cogl-fixed.h [cogl] Updates all file headers and removes lots of trailing white space 2009-05-02 04:12:25 +01:00
cogl-material.h [cogl] Improving Cogl journal to minimize driver overheads + GPU state changes 2009-06-30 17:13:34 +01:00
cogl-matrix.h [docs] Various gtk-doc fixes for COGL 2009-06-10 12:57:36 +01:00
cogl-offscreen.h [docs] Various gtk-doc fixes for COGL 2009-06-10 12:57:36 +01:00
cogl-path.h [cogl] Updates all file headers and removes lots of trailing white space 2009-05-02 04:12:25 +01:00
cogl-shader.h [cogl-shader] Make get_info_log() slightly nicer 2009-06-01 17:40:23 +01:00
cogl-texture.h [cogl-texture docs] Improves the documentation of the internal_format args 2009-06-11 14:31:01 +01:00
cogl-types.h [cogl] Move the texture filters to be a property of the material layer 2009-06-04 19:03:40 +01:00
cogl-vertex-buffer.h [vertex-buffer] Add cogl_vertex_buffer_indices_get_type API 2009-06-29 23:49:05 +01:00
cogl.h.in Adds a cogl_flush() to give developers breaking into raw GL a fighting chance 2009-06-30 17:13:38 +01:00
cogl.pc.in [cogl] Fix hardcoded paths in the pc file 2009-03-10 12:38:04 +00:00
Makefile.am [introspection] Add --c-include to g-ir-scanner 2009-06-09 12:45:23 +01:00
TODO Merged clutter-ivan branch into trunk. 2008-04-25 13:37:36 +00:00