mutter/cogl
Neil Roberts 8e12e40da9 cogl-gles2-context: Flip the rendering when framebuffer is offscreen
Cogl has a different origin for texture coordinates than OpenGL so
that the results of rendering to a texture should leave the top of the
image at the texture coordinate 0,0 rather than the bottom. When a
GLES2 context is used to render to a Cogl texture via a CoglOffscreen
we don't really want the application to have to be aware of the
mismatch and flip the texture coordinates. To get that to work, this
patch now tracks all of the programs that the application generates
using the context and sneaks in an extra vertex shader with an
alternative main function. This main function multiplies the final
calculated gl_Position by a vector uniform which we can use to flip
the image. When the application uploads the source code for a vertex
shader we now replace any occurrences of the token 'main' with '_c31'
and this renamed function gets called from the replacement main
function. The token has a weird name so that it will be unlikely to
conflict with a variable name in the application's source but it also
needs to have the same number of characters as the original token so
that it won't affect column numbers in the error reporting.

We are also wrapping glGetShaderSource so that we can try to revert
the token name. The same goes for the error logs just in case the
error report mentions function names.

Both places that cause drawing to occur (glDrawElements and
glDrawArrays) are now also wrapped so that we can update the uniform
value whenever the program is used with a different type of
framebuffer from last time.

We additionally need to manually track the state for the viewport, the
stencil box and the front face because all of these will be affected
by whether we are flipping the image or not. Any attempts to change
these states will be queued and instead flushed at the last minute
before drawing.

There are still some known issues with this patch:

• glCopyTexImage2D and glCopyTexSubImage2D will do the wrong thing
  when copying data from a CoglOffscreen. This could be quite fiddly
  to solve.

• Point sprites won't flip correctly. To make this work we would need
  to flip the gl_PointSprite builtin variable somehow. This is done in
  the fragment shader not the vertex shader so flipping the calculated
  gl_Position doesn't help here.

• The patch doesn't attempt to flip rendering to framebuffers for
  textures created within the GLES2 context. This probably makes sense
  because those textures are likely to be used within the GLES2
  context in which case we want to leave the texture coordinates as
  they are. However, if the texture is shared back out to Cogl with
  cogl_gles2_texture_2d_new_from_handle then the texture will be
  upside-down.

• The application can discover our secret uniform that we added via
  glGetActiveUniform. It might be worth trying to disguise this by
  wrapping that function although that could be quite fiddly.

Reviewed-by: Robert Bragg <robert@linux.intel.com>
(cherry picked from commit d589bf19e51f22c3241b2a18db10f22131ac126a)
2012-08-14 18:55:42 +01:00
..
driver Add conf vars to trick Cogl to think extensions are disabled 2012-08-06 18:51:33 +01:00
gl-prototypes Use the old GLSL extensions if GL 2.0 is not available 2012-08-06 14:27:45 +01:00
tesselator Don't include any GL header from the public GL headers 2012-08-06 14:27:38 +01:00
winsys cogl-winsys-sdl: Fix the signature for the get_proc_address method 2012-08-06 18:51:33 +01:00
cogl1-context.h Don't use eglGetProcAddress to retrieve core functions 2012-08-06 14:27:45 +01:00
cogl2-compatibility.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl2-compatibility.h Mass rename CLUTTER_COMPILATION to COGL_COMPILATION 2012-08-06 14:27:45 +01:00
cogl2-experimental.h 2.0: Add cogl2-experimental.h + don't pollute .pc CFLAGS 2011-09-09 15:06:31 +01:00
cogl2-path.c Replace cogl_path_{stroke,fill} with framebuffer API 2012-08-06 14:27:39 +01:00
cogl2-path.h Mass rename CLUTTER_COMPILATION to COGL_COMPILATION 2012-08-06 14:27:45 +01: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 2.0: Add cogl2-experimental.h + don't pollute .pc CFLAGS 2011-09-09 15:06:31 +01:00
cogl-atlas-texture-private.h Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-atlas-texture.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-atlas.c Use the internal format to check if the texture size is supported 2012-08-06 14:27:44 +01:00
cogl-atlas.h Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-attribute-buffer-private.h Rename CoglVertexArray to CoglAttributeBuffer 2011-05-16 14:31:31 +01:00
cogl-attribute-buffer.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-attribute-buffer.h Mass rename CLUTTER_COMPILATION to COGL_COMPILATION 2012-08-06 14:27:45 +01:00
cogl-attribute-private.h Preserve the CoglDrawFlags when drawing a wireframe 2012-08-06 14:27:43 +01:00
cogl-attribute.c Re-design the matrix stack using a graph of ops 2012-08-06 14:27:40 +01:00
cogl-attribute.h Mass rename CLUTTER_COMPILATION to COGL_COMPILATION 2012-08-06 14:27:45 +01:00
cogl-bitmap-conversion.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-bitmap-packing.h Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-bitmap-pixbuf.c bitmap: Adds cogl_android_bitmap_new_from_asset() 2012-08-06 18:50:22 +01:00
cogl-bitmap-private.h bitmap: Adds cogl_android_bitmap_new_from_asset() 2012-08-06 18:50:22 +01:00
cogl-bitmap.c bitmap: Adds cogl_android_bitmap_new_from_asset() 2012-08-06 18:50:22 +01:00
cogl-bitmap.h bitmap: Adds cogl_android_bitmap_new_from_asset() 2012-08-06 18:50:22 +01:00
cogl-bitmask.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-bitmask.h Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-blend-string.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-blend-string.h Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-blit.c Don't use the label 'ERROR' because it conflicts with windows.h 2012-08-06 14:27:45 +01:00
cogl-blit.h Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-boxed-value.c Don't use the transpose argument of glUniformMatrix* 2012-08-06 14:27:45 +01:00
cogl-boxed-value.h Don't use the transpose argument of glUniformMatrix* 2012-08-06 14:27:45 +01:00
cogl-buffer-private.h Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-buffer.c buffer: Use GL_STREAM_DRAW on GLES2 2012-08-06 14:27:41 +01:00
cogl-buffer.h Mass rename CLUTTER_COMPILATION to COGL_COMPILATION 2012-08-06 14:27:45 +01:00
cogl-clip-stack.c Re-design the matrix stack using a graph of ops 2012-08-06 14:27:40 +01:00
cogl-clip-stack.h Re-design the matrix stack using a graph of ops 2012-08-06 14:27:40 +01:00
cogl-clip-state-private.h clip-state: remove redundant _cogl_clip_state_flush() api 2011-12-06 18:51:57 +00:00
cogl-clip-state.c Removes all remaining use of CoglHandle 2012-08-06 14:27:39 +01:00
cogl-clip-state.h Mass rename CLUTTER_COMPILATION to COGL_COMPILATION 2012-08-06 14:27:45 +01:00
cogl-clutter-xlib.h Mass rename CLUTTER_COMPILATION to COGL_COMPILATION 2012-08-06 14:27:45 +01:00
cogl-clutter.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-clutter.h Mass rename CLUTTER_COMPILATION to COGL_COMPILATION 2012-08-06 14:27:45 +01:00
cogl-color-private.h Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-color.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-color.h Mass rename CLUTTER_COMPILATION to COGL_COMPILATION 2012-08-06 14:27:45 +01:00
cogl-config-private.h Add conf vars to trick Cogl to think extensions are disabled 2012-08-06 18:51:33 +01:00
cogl-config.c Add conf vars to trick Cogl to think extensions are disabled 2012-08-06 18:51:33 +01:00
cogl-context-private.h Add conf vars to trick Cogl to think extensions are disabled 2012-08-06 18:51:33 +01:00
cogl-context.c Add conf vars to trick Cogl to think extensions are disabled 2012-08-06 18:51:33 +01:00
cogl-context.h Avoid including the EGL headers from the public Cogl headers 2012-08-06 18:51:32 +01:00
cogl-debug-options.h Re-design the matrix stack using a graph of ops 2012-08-06 14:27:40 +01:00
cogl-debug.c Add conf vars to trick Cogl to think extensions are disabled 2012-08-06 18:51:33 +01:00
cogl-debug.h Fix disabling debugging 2012-08-06 14:27:43 +01:00
cogl-defines.h.in Avoid including the EGL headers from the public Cogl headers 2012-08-06 18:51:32 +01:00
cogl-defines.h.win32_SDL.in Mass rename CLUTTER_COMPILATION to COGL_COMPILATION 2012-08-06 14:27:45 +01:00
cogl-defines.h.win32.in Mass rename CLUTTER_COMPILATION to COGL_COMPILATION 2012-08-06 14:27:45 +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 Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-depth-state.h Mass rename CLUTTER_COMPILATION to COGL_COMPILATION 2012-08-06 14:27:45 +01:00
cogl-display-private.h Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-display.c display: inc cogl-wayland-server.h if needed 2012-08-06 18:51:34 +01:00
cogl-display.h Move cogl_wayland_display_ proto to cogl-wayland-server.h 2012-08-06 18:51:34 +01:00
cogl-driver.h Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-egl-defines.h.in Avoid including the EGL headers from the public Cogl headers 2012-08-06 18:51:32 +01:00
cogl-egl.h Avoid including the EGL headers from the public Cogl headers 2012-08-06 18:51:32 +01:00
cogl-enum-types.c.in Removes all remaining use of CoglHandle 2012-08-06 14:27:39 +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 Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-euler.h Mass rename CLUTTER_COMPILATION to COGL_COMPILATION 2012-08-06 14:27:45 +01:00
cogl-feature-private.c Don't use eglGetProcAddress to retrieve core functions 2012-08-06 14:27:45 +01:00
cogl-feature-private.h Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-fixed.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-fixed.h Mass rename CLUTTER_COMPILATION to COGL_COMPILATION 2012-08-06 14:27:45 +01:00
cogl-flags.h cogl-flags: Fix iterating flag when the most-significant bit is set 2011-11-22 16:07:21 +00:00
cogl-framebuffer-private.h Adds initial GLES2 integration support 2012-08-06 14:27:42 +01:00
cogl-framebuffer.c framebuffer: Only remember offscreen allocate flags when !COGL_OFFSCREEN_DISABLE_DEPTH_AND_STENCIL 2012-08-06 18:51:31 +01:00
cogl-framebuffer.h Add functions to directly transform from a euler or a quaternion 2012-08-06 14:27:43 +01:00
cogl-gl-header.h.in Mass rename CLUTTER_COMPILATION to COGL_COMPILATION 2012-08-06 14:27:45 +01:00
cogl-gl-header.h.win32 Mass rename CLUTTER_COMPILATION to COGL_COMPILATION 2012-08-06 14:27:45 +01:00
cogl-gles2-context-private.h cogl-gles2-context: Flip the rendering when framebuffer is offscreen 2012-08-14 18:55:42 +01:00
cogl-gles2-context.c cogl-gles2-context: Flip the rendering when framebuffer is offscreen 2012-08-14 18:55:42 +01:00
cogl-gles2-types.h Adds initial GLES2 integration support 2012-08-06 14:27:42 +01:00
cogl-gles2.h Mass rename CLUTTER_COMPILATION to COGL_COMPILATION 2012-08-06 14:27:45 +01:00
cogl-glib-source.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-glib-source.h Mass rename CLUTTER_COMPILATION to COGL_COMPILATION 2012-08-06 14:27:45 +01:00
cogl-glx-display-private.h onscreen: Adds support for resizable windows 2012-08-06 18:51:32 +01:00
cogl-glx-renderer-private.h Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-gpu-info-private.h gpu-info: Detect more info including architecture 2012-08-06 14:27:42 +01:00
cogl-gpu-info.c Add conf vars to trick Cogl to think extensions are disabled 2012-08-06 18:51:33 +01:00
cogl-gtype-private.h Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01: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 Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-index-buffer.h Mass rename CLUTTER_COMPILATION to COGL_COMPILATION 2012-08-06 14:27:45 +01:00
cogl-indices-private.h Rename CoglIndexArray to CoglIndexBuffer 2011-05-16 14:31:31 +01:00
cogl-indices.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-indices.h Mass rename CLUTTER_COMPILATION to COGL_COMPILATION 2012-08-06 14:27:45 +01:00
cogl-internal.h Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-journal-private.h Re-design the matrix stack using a graph of ops 2012-08-06 14:27:40 +01:00
cogl-journal.c journal: avoiding some _cogl_matrix_entry_get()'s 2012-08-06 14:27:40 +01:00
cogl-kms-display.h Mass rename CLUTTER_COMPILATION to COGL_COMPILATION 2012-08-06 14:27:45 +01:00
cogl-kms-renderer.h Mass rename CLUTTER_COMPILATION to COGL_COMPILATION 2012-08-06 14:27:45 +01:00
cogl-magazine-private.h Mass rename CLUTTER_COMPILATION to COGL_COMPILATION 2012-08-06 14:27:45 +01:00
cogl-magazine.c Adds a "magazine" allocator for chunks of fixed size 2012-08-06 14:27:40 +01:00
cogl-material-compat.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-material-compat.h Mass rename CLUTTER_COMPILATION to COGL_COMPILATION 2012-08-06 14:27:45 +01:00
cogl-matrix-private.h Re-design the matrix stack using a graph of ops 2012-08-06 14:27:40 +01:00
cogl-matrix-stack.c matrix-stack: Prune stack entries when loading a replacement matrix 2012-08-06 14:27:43 +01:00
cogl-matrix-stack.h Add functions to directly transform from a euler or a quaternion 2012-08-06 14:27:43 +01:00
cogl-matrix.c Initialize the inverse matrix in invert_matrix_3d() 2012-08-06 14:27:45 +01:00
cogl-matrix.h Add functions to directly transform from a euler or a quaternion 2012-08-06 14:27:43 +01:00
cogl-memory-stack-private.h Mass rename CLUTTER_COMPILATION to COGL_COMPILATION 2012-08-06 14:27:45 +01:00
cogl-memory-stack.c stack: don't deref freed mem in _cogl_memory_stack_free 2012-08-06 18:51:32 +01:00
cogl-meta-texture.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-meta-texture.h Mass rename CLUTTER_COMPILATION to COGL_COMPILATION 2012-08-06 14:27:45 +01:00
cogl-node-private.h Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-node.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-object-private.h Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-object.c object: avoid creating a new entry for NULL data 2012-02-20 23:16:37 +00: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 Mass rename CLUTTER_COMPILATION to COGL_COMPILATION 2012-08-06 14:27:45 +01:00
cogl-onscreen-private.h onscreen: Adds support for resizable windows 2012-08-06 18:51:32 +01:00
cogl-onscreen-template-private.h framebuffer: split out CoglOnscreen code 2011-11-01 12:03:02 +00:00
cogl-onscreen-template.c By default enable swap throttling 2012-08-06 14:27:42 +01:00
cogl-onscreen-template.h Mass rename CLUTTER_COMPILATION to COGL_COMPILATION 2012-08-06 14:27:45 +01:00
cogl-onscreen.c onscreen: Free swap notify callback state 2012-08-06 18:51:32 +01:00
cogl-onscreen.h onscreen: Adds support for resizable windows 2012-08-06 18:51:32 +01:00
cogl-pango.h deprecate #include <cogl/cogl-pango.h> 2011-05-16 13:28:17 +01:00
cogl-path-functions.h Mass rename CLUTTER_COMPILATION to COGL_COMPILATION 2012-08-06 14:27:45 +01:00
cogl-path-private.h Replace cogl_path_{stroke,fill} with framebuffer API 2012-08-06 14:27:39 +01:00
cogl-path.c Add a context member to CoglPath 2012-08-06 14:27:38 +01:00
cogl-path.h Mass rename CLUTTER_COMPILATION to COGL_COMPILATION 2012-08-06 14:27:45 +01:00
cogl-pipeline-cache.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +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-debug.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +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 Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +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 Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +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 Fix point sprite coordinates in shaders on GLES2 2012-08-06 18:51:31 +01:00
cogl-pipeline-layer-private.h Fixes for building with --disable-gl 2012-08-06 14:27:41 +01:00
cogl-pipeline-layer-state-private.h Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-pipeline-layer-state.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-pipeline-layer-state.h Mass rename CLUTTER_COMPILATION to COGL_COMPILATION 2012-08-06 14:27:45 +01:00
cogl-pipeline-layer.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-pipeline-opengl-private.h Re-design the matrix stack using a graph of ops 2012-08-06 14:27:40 +01:00
cogl-pipeline-opengl.c Fix depth testing, write enable bug 2012-08-06 14:27:42 +01:00
cogl-pipeline-private.h pipeline: Remove the CoglPipelineFlag enum 2012-08-06 18:51:33 +01:00
cogl-pipeline-progend-fixed-private.h Flush matrices in the progend and flip with a vector 2011-12-06 19:02:06 +00:00
cogl-pipeline-progend-fixed.c Re-design the matrix stack using a graph of ops 2012-08-06 14:27:40 +01:00
cogl-pipeline-progend-glsl-private.h rework enabling of attributes, removing _cogl_enable() 2011-12-06 18:51:57 +00:00
cogl-pipeline-progend-glsl.c Re-design the matrix stack using a graph of ops 2012-08-06 14:27:40 +01:00
cogl-pipeline-snippet-private.h Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-pipeline-snippet.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-pipeline-state-private.h Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-pipeline-state.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-pipeline-state.h Mass rename CLUTTER_COMPILATION to COGL_COMPILATION 2012-08-06 14:27:45 +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 Re-design the matrix stack using a graph of ops 2012-08-06 14:27:40 +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 Re-design the matrix stack using a graph of ops 2012-08-06 14:27:40 +01:00
cogl-pipeline.c Fix removing layers when the pipeline is not the owner 2012-08-06 14:27:45 +01:00
cogl-pipeline.h Mass rename CLUTTER_COMPILATION to COGL_COMPILATION 2012-08-06 14:27:45 +01:00
cogl-pixel-buffer-private.h Removes all remaining use of CoglHandle 2012-08-06 14:27:39 +01:00
cogl-pixel-buffer.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-pixel-buffer.h Mass rename CLUTTER_COMPILATION to COGL_COMPILATION 2012-08-06 14:27:45 +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 Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-poll.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-poll.h Mass rename CLUTTER_COMPILATION to COGL_COMPILATION 2012-08-06 14:27:45 +01:00
cogl-primitive-private.h primitive: Adds _cogl_primitive_draw api taking flags 2011-11-01 12:02:59 +00:00
cogl-primitive-texture.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-primitive-texture.h Mass rename CLUTTER_COMPILATION to COGL_COMPILATION 2012-08-06 14:27:45 +01:00
cogl-primitive.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-primitive.h Mass rename CLUTTER_COMPILATION to COGL_COMPILATION 2012-08-06 14:27:45 +01:00
cogl-primitives-private.h Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-primitives.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-primitives.h Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-private.h Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-profile.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01: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 Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-program.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-quaternion-private.h math: Adds an experimental quaternion API 2011-05-16 14:11:47 +01:00
cogl-quaternion.c quaternions: Allow multiplication into 'a' arg 2012-08-06 18:51:32 +01:00
cogl-quaternion.h quaternions: Allow multiplication into 'a' arg 2012-08-06 18:51:32 +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 Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-rectangle-map.h Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-renderer-private.h Don't use eglGetProcAddress to retrieve core functions 2012-08-06 14:27:45 +01:00
cogl-renderer.c Don't use eglGetProcAddress to retrieve core functions 2012-08-06 14:27:45 +01:00
cogl-renderer.h Mass rename CLUTTER_COMPILATION to COGL_COMPILATION 2012-08-06 14:27:45 +01:00
cogl-sampler-cache-private.h Fixes for building with --disable-gl 2012-08-06 14:27:41 +01:00
cogl-sampler-cache.c Fixes for building with --disable-gl 2012-08-06 14:27:41 +01:00
cogl-sdl.c onscreen: Adds support for resizable windows 2012-08-06 18:51:32 +01:00
cogl-sdl.h Mass rename CLUTTER_COMPILATION to COGL_COMPILATION 2012-08-06 14:27:45 +01:00
cogl-shader-boilerplate.h Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl-shader-private.h Removes all remaining use of CoglHandle 2012-08-06 14:27:39 +01:00
cogl-shader.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-shader.h Mass rename CLUTTER_COMPILATION to COGL_COMPILATION 2012-08-06 14:27:45 +01:00
cogl-snippet-private.h Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-snippet.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-snippet.h Mass rename CLUTTER_COMPILATION to COGL_COMPILATION 2012-08-06 14:27:45 +01:00
cogl-spans.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-spans.h Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-sub-texture-private.h object: Remove the type member of CoglObjectClass 2012-01-27 17:18:32 +00:00
cogl-sub-texture.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-sub-texture.h Mass rename CLUTTER_COMPILATION to COGL_COMPILATION 2012-08-06 14:27:45 +01:00
cogl-swap-chain-private.h Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-swap-chain.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-swap-chain.h Mass rename CLUTTER_COMPILATION to COGL_COMPILATION 2012-08-06 14:27:45 +01:00
cogl-texture-2d-private.h Fix the header guards for cogl-texture-2d{,-private}.h 2012-08-06 18:51:33 +01:00
cogl-texture-2d-sliced-private.h object: Remove the type member of CoglObjectClass 2012-01-27 17:18:32 +00:00
cogl-texture-2d-sliced.c Use the internal format to check if the texture size is supported 2012-08-06 14:27:44 +01:00
cogl-texture-2d-sliced.h Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-texture-2d.c Use the internal format to check if the texture size is supported 2012-08-06 14:27:44 +01:00
cogl-texture-2d.h Fix the header guards for cogl-texture-2d{,-private}.h 2012-08-06 18:51:33 +01:00
cogl-texture-3d-private.h Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-texture-3d.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-texture-3d.h Mass rename CLUTTER_COMPILATION to COGL_COMPILATION 2012-08-06 14:27:45 +01:00
cogl-texture-driver.h Use the internal format to check if the texture size is supported 2012-08-06 14:27:44 +01:00
cogl-texture-private.h Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-texture-rectangle-private.h Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-texture-rectangle.c Use the internal format to check if the texture size is supported 2012-08-06 14:27:44 +01:00
cogl-texture-rectangle.h Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-texture.c bitmap: Adds cogl_android_bitmap_new_from_asset() 2012-08-06 18:50:22 +01:00
cogl-texture.h Mass rename CLUTTER_COMPILATION to COGL_COMPILATION 2012-08-06 14:27:45 +01:00
cogl-types.h Mass rename CLUTTER_COMPILATION to COGL_COMPILATION 2012-08-06 14:27:45 +01:00
cogl-util.c Add a wrapper for 'memmem' 2012-08-14 18:55:42 +01:00
cogl-util.h Add a wrapper for 'memmem' 2012-08-14 18:55:42 +01:00
cogl-vector.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-vector.h Mass rename CLUTTER_COMPILATION to COGL_COMPILATION 2012-08-06 14:27:45 +01:00
cogl-version.h Add a cogl-version header 2012-08-06 14:27:40 +01:00
cogl-vertex-buffer-private.h Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-vertex-buffer.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-vertex-buffer.h Mass rename CLUTTER_COMPILATION to COGL_COMPILATION 2012-08-06 14:27:45 +01:00
cogl-wayland-client.h Create standalone public wayland client/server headers 2012-03-20 14:26:44 +00:00
cogl-wayland-renderer.h Mass rename CLUTTER_COMPILATION to COGL_COMPILATION 2012-08-06 14:27:45 +01:00
cogl-wayland-server.h Move cogl_wayland_display_ proto to cogl-wayland-server.h 2012-08-06 18:51:34 +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 Mass rename CLUTTER_COMPILATION to COGL_COMPILATION 2012-08-06 14:27:45 +01:00
cogl-x11-renderer-private.h work towards consistent platform file/symbol naming 2011-06-30 14:34:33 +01:00
cogl-xlib-private.h Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl-xlib-renderer-private.h Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-xlib-renderer.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-xlib-renderer.h Mass rename CLUTTER_COMPILATION to COGL_COMPILATION 2012-08-06 14:27:45 +01:00
cogl-xlib.c Removes all remaining use of CoglHandle 2012-08-06 14:27:39 +01:00
cogl-xlib.h Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl.c Don't use eglGetProcAddress to retrieve core functions 2012-08-06 14:27:45 +01:00
cogl.h Adds initial GLES2 integration support 2012-08-06 14:27:42 +01:00
cogl.rc.in Fix Visual C++ build 2012-08-06 14:27:42 +01:00
cogl.symbols Update cogl.symbols 2012-08-06 14:27:42 +01:00
Makefile.am Avoid including the EGL headers from the public Cogl headers 2012-08-06 18:51:32 +01:00
stb_image.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00