mutter/cogl
Neil Roberts 323adc0c14 Avoid making up the format COGL_PIXEL_FORMAT_A_8_PRE
There are a few places in Cogl that try to set the premult bit on a
pixel format depending on whether it has an alpha channel. However
this breaks if the pixel format is alpha-only because premultiplying
data without any RGB components doesn't make any sense. This adds an
internal macro to check for cases where we should add the premult bit
called COGL_PIXEL_FORMAT_CAN_HAVE_PREMULT. This now gets used in all
places that previously just checking for COGL_A_BIT.

https://bugzilla.gnome.org/show_bug.cgi?id=671016

Reviewed-by: Robert Bragg <robert@linux.intel.com>
2012-03-05 17:43:46 +00:00
..
driver Assert that we get a valid format in pixel_format_to_gl{,es} 2012-03-05 17:43:46 +00:00
gl-prototypes cogl-in-gles-core-functions.h: Remove stray ';' 2012-02-13 12:22:18 +00:00
tesselator build: Do not build a noinst library for the tesselator 2010-09-12 19:25:47 +01:00
winsys cogl-winsys-egl-wayland: Include cogl-wayland-renderer.h 2012-02-29 17:45:43 +00:00
cogl1-context.h Move all types/prototypes from cogl.h -> cogl[1]-context.h 2012-02-20 23:12:44 +00:00
cogl2-clip-state.c Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl2-clip-state.h
cogl2-experimental.h
cogl2-path.c Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl2-path.h
cogl-1.0.pc.in
cogl-2.0-experimental.pc.in
cogl-atlas-texture-private.h
cogl-atlas-texture.c Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl-atlas.c Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl-atlas.h
cogl-attribute-buffer-private.h Rename CoglVertexArray to CoglAttributeBuffer 2011-05-16 14:31:31 +01:00
cogl-attribute-buffer.c buffer: explicitly relate buffers to a context 2012-02-09 14:28:02 +00:00
cogl-attribute-buffer.h Move all types/prototypes from cogl.h -> cogl[1]-context.h 2012-02-20 23:12:44 +00:00
cogl-attribute-private.h framebuffer: Add cogl_framebuffer draw methods 2012-02-09 13:09:15 +00:00
cogl-attribute.c cogl-attribute: Fix binding an attribute to cogl_tex_coord_in 2012-02-22 17:17:50 +00:00
cogl-attribute.h Move all types/prototypes from cogl.h -> cogl[1]-context.h 2012-02-20 23:12:44 +00:00
cogl-bitmap-fallback.c Avoid making up the format COGL_PIXEL_FORMAT_A_8_PRE 2012-03-05 17:43:46 +00:00
cogl-bitmap-pixbuf.c Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl-bitmap-private.h Remove COGL_UNORDERED_MASK define 2012-02-20 23:12:44 +00:00
cogl-bitmap.c Avoid making up the format COGL_PIXEL_FORMAT_A_8_PRE 2012-03-05 17:43:46 +00:00
cogl-bitmap.h
cogl-bitmask.c
cogl-bitmask.h
cogl-blend-string.c Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl-blend-string.h
cogl-blit.c Adds a context arg to cogl_pipeline_new() 2012-02-21 12:38:24 +00:00
cogl-blit.h
cogl-boxed-value.c
cogl-boxed-value.h
cogl-buffer-private.h Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl-buffer.c Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl-buffer.h Fix some doc issues 2012-02-14 20:42:10 +00:00
cogl-clip-stack.c Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl-clip-stack.h Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl-clip-state-private.h
cogl-clip-state.c Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl-clip-state.h
cogl-clutter-xlib.h
cogl-clutter.c Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl-clutter.h
cogl-color-private.h
cogl-color.c Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl-color.h
cogl-config-private.h
cogl-config.c
cogl-context-private.h context: removes some uses of CoglHandle 2012-02-21 12:37:55 +00:00
cogl-context.c Adds a context arg to cogl_pipeline_new() 2012-02-21 12:38:24 +00:00
cogl-context.h Move all types/prototypes from cogl.h -> cogl[1]-context.h 2012-02-20 23:12:44 +00:00
cogl-debug-options.h
cogl-debug.c Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl-debug.h
cogl-defines.h.in
cogl-defines.h.win32 Win32: Update predefined cogl-defines.h's 2012-02-13 12:22:17 +00:00
cogl-defines.h.win32_SDL Win32: Update predefined cogl-defines.h's 2012-02-13 12:22:17 +00:00
cogl-deprecated.h
cogl-depth-state-private.h
cogl-depth-state.c Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl-depth-state.h
cogl-display-private.h
cogl-display.c Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl-display.h display: Remove _EXP symbol mangling and add gtk-doc 2012-02-09 13:09:15 +00:00
cogl-enum-types.c.in Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl-enum-types.h.in
cogl-euler.c Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl-euler.h
cogl-feature-private.c Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl-feature-private.h
cogl-fixed.c
cogl-fixed.h analysis: Fix some CoglFixed API 2010-06-01 12:08:18 +01:00
cogl-flags.h
cogl-framebuffer-private.h offscreen: Replace use of CoglHandle with CoglOffscreen 2012-02-21 12:38:10 +00:00
cogl-framebuffer.c Use GL_OES_packed_depth_stencil on GLES2 2012-02-22 17:17:50 +00:00
cogl-framebuffer.h Move all types/prototypes from cogl.h -> cogl[1]-context.h 2012-02-20 23:12:44 +00:00
cogl-glib-source.c
cogl-glib-source.h
cogl-glx-display-private.h glx: Only call swap_buffer callbacks @ dispatch time 2012-02-08 18:58:06 +00:00
cogl-glx-renderer-private.h
cogl-gtype-private.h
cogl-handle.h
cogl-index-buffer-private.h
cogl-index-buffer.c buffer: explicitly relate buffers to a context 2012-02-09 14:28:02 +00:00
cogl-index-buffer.h buffer: explicitly relate buffers to a context 2012-02-09 14:28:02 +00:00
cogl-indices-private.h
cogl-indices.c buffer: explicitly relate buffers to a context 2012-02-09 14:28:02 +00:00
cogl-indices.h Move all types/prototypes from cogl.h -> cogl[1]-context.h 2012-02-20 23:12:44 +00:00
cogl-internal.h renderer: Adds getters/setters for driver preference 2012-02-24 14:42:31 +00:00
cogl-journal-private.h Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl-journal.c Adds a context arg to cogl_pipeline_new() 2012-02-21 12:38:24 +00:00
cogl-kms-renderer.h kms: Adds api to get at the kms file descriptor 2012-02-08 17:00:25 +00:00
cogl-material-compat.c Adds a context arg to cogl_pipeline_new() 2012-02-21 12:38:24 +00:00
cogl-material-compat.h Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl-matrix-private.h
cogl-matrix-stack.c Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl-matrix-stack.h
cogl-matrix.c Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl-matrix.h Fix some doc issues 2012-02-14 20:42:10 +00:00
cogl-meta-texture.c
cogl-meta-texture.h Fix some doc issues 2012-02-14 20:42:10 +00:00
cogl-node-private.h
cogl-node.c
cogl-object-private.h
cogl-object.c object: avoid creating a new entry for NULL data 2012-02-20 23:16:37 +00:00
cogl-object.h
cogl-offscreen.h offscreen: Replace use of CoglHandle with CoglOffscreen 2012-02-21 12:38:10 +00:00
cogl-onscreen-private.h Fix build on OSX 2012-02-15 14:57:59 +00:00
cogl-onscreen-template-private.h
cogl-onscreen-template.c Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl-onscreen-template.h
cogl-onscreen.c onscreen: move swap_buffer apis to onscreen namespace 2012-02-21 13:26:14 +00:00
cogl-onscreen.h onscreen: move swap_buffer apis to onscreen namespace 2012-02-21 13:26:14 +00:00
cogl-pango.h
cogl-path-private.h
cogl-path.c Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl-path.h
cogl-pipeline-cache.c
cogl-pipeline-cache.h
cogl-pipeline-debug.c context: removes some uses of CoglHandle 2012-02-21 12:37:55 +00:00
cogl-pipeline-fragend-arbfp-private.h
cogl-pipeline-fragend-arbfp.c Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl-pipeline-fragend-fixed-private.h
cogl-pipeline-fragend-fixed.c Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl-pipeline-fragend-glsl-private.h
cogl-pipeline-fragend-glsl.c Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl-pipeline-layer-private.h pipeline: Use layer numbers not unit numbers in the combine strings 2012-02-13 17:15:35 +00:00
cogl-pipeline-layer-state-private.h cogl-pipeline-layer: Use CoglTextureType instead of GL target enum 2012-02-13 17:09:34 +00:00
cogl-pipeline-layer-state.c cogl-pipeline-payer-state.c: Include cogl-texture-private.h 2012-02-22 21:32:52 +08:00
cogl-pipeline-layer-state.h pipeline: Expose min/mag filter getters 2012-02-20 23:16:37 +00:00
cogl-pipeline-layer.c cogl-pipeline-layer: Use CoglTextureType instead of GL target enum 2012-02-13 17:09:34 +00:00
cogl-pipeline-opengl-private.h Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl-pipeline-opengl.c context: removes some uses of CoglHandle 2012-02-21 12:37:55 +00:00
cogl-pipeline-private.h pipeline: make _equal() cost scale by n bits in differences 2012-02-20 23:16:37 +00:00
cogl-pipeline-progend-fixed-private.h
cogl-pipeline-progend-fixed.c
cogl-pipeline-progend-glsl-private.h
cogl-pipeline-progend-glsl.c Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl-pipeline-snippet-private.h
cogl-pipeline-snippet.c
cogl-pipeline-state-private.h
cogl-pipeline-state.c pipeline-state: Fix crash in the get_all_uniform_values function 2012-02-13 18:48:17 +00:00
cogl-pipeline-state.h Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl-pipeline-vertend-fixed-private.h
cogl-pipeline-vertend-fixed.c Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl-pipeline-vertend-glsl-private.h
cogl-pipeline-vertend-glsl.c Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl-pipeline.c Adds a context arg to cogl_pipeline_new() 2012-02-21 12:38:24 +00:00
cogl-pipeline.h Adds a context arg to cogl_pipeline_new() 2012-02-21 12:38:24 +00:00
cogl-pixel-buffer-private.h
cogl-pixel-buffer.c Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl-pixel-buffer.h buffer: explicitly relate buffers to a context 2012-02-09 14:28:02 +00:00
cogl-point-in-poly-private.h
cogl-point-in-poly.c
cogl-poll.c
cogl-poll.h
cogl-primitive-private.h
cogl-primitive.c buffer: explicitly relate buffers to a context 2012-02-09 14:28:02 +00:00
cogl-primitive.h Move all types/prototypes from cogl.h -> cogl[1]-context.h 2012-02-20 23:12:44 +00:00
cogl-primitives-private.h framebuffer: Add cogl_framebuffer draw methods 2012-02-09 13:09:15 +00:00
cogl-primitives.c context: removes some uses of CoglHandle 2012-02-21 12:37:55 +00:00
cogl-primitives.h
cogl-private.h Avoid making up the format COGL_PIXEL_FORMAT_A_8_PRE 2012-03-05 17:43:46 +00:00
cogl-profile.c
cogl-profile.h
cogl-program-private.h
cogl-program.c Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl-quaternion-private.h
cogl-quaternion.c Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl-quaternion.h Fix some doc issues 2012-02-14 20:42:10 +00:00
cogl-queue.h
cogl-rectangle-map.c
cogl-rectangle-map.h
cogl-renderer-private.h renderer: Adds getters/setters for driver preference 2012-02-24 14:42:31 +00:00
cogl-renderer.c renderer: Adds getters/setters for driver preference 2012-02-24 14:42:31 +00:00
cogl-renderer.h renderer: Adds getters/setters for driver preference 2012-02-24 14:42:31 +00:00
cogl-shader-boilerplate.h Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl-shader-private.h Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl-shader.c Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl-shader.h
cogl-snippet-private.h
cogl-snippet.c
cogl-snippet.h Pass the sampler object to snippet hooks on the texture_hookup 2012-02-13 17:29:28 +00:00
cogl-spans.c Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl-spans.h
cogl-sub-texture-private.h
cogl-sub-texture.c Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl-sub-texture.h
cogl-swap-chain-private.h
cogl-swap-chain.c Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl-swap-chain.h
cogl-texture-2d-private.h Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl-texture-2d-sliced-private.h
cogl-texture-2d-sliced.c Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl-texture-2d-sliced.h
cogl-texture-2d.c Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl-texture-2d.h
cogl-texture-3d-private.h texture-3d: remove _EXP defines + CoglHandle and pass context 2012-02-21 12:37:44 +00:00
cogl-texture-3d.c texture-3d: remove _EXP defines + CoglHandle and pass context 2012-02-21 12:37:44 +00:00
cogl-texture-3d.h texture-3d: remove _EXP defines + CoglHandle and pass context 2012-02-21 12:37:44 +00:00
cogl-texture-driver.h
cogl-texture-private.h Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl-texture-rectangle-private.h Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl-texture-rectangle.c Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl-texture-rectangle.h
cogl-texture.c Avoid making up the format COGL_PIXEL_FORMAT_A_8_PRE 2012-03-05 17:43:46 +00:00
cogl-texture.h Move all types/prototypes from cogl.h -> cogl[1]-context.h 2012-02-20 23:12:44 +00:00
cogl-types.h pixel formats: Documents the internal representation 2012-02-20 23:12:45 +00:00
cogl-util.c Add support for X101010 and 2101010 pixel formats to fallback OpenGL rendering 2012-02-20 23:12:45 +00:00
cogl-util.h Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl-vector.c Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl-vector.h
cogl-vertex-buffer-private.h
cogl-vertex-buffer.c Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl-vertex-buffer.h
cogl-wayland-renderer.h
cogl-win32-renderer.c
cogl-win32-renderer.h
cogl-x11-renderer-private.h
cogl-xlib-private.h Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl-xlib-renderer-private.h
cogl-xlib-renderer.c
cogl-xlib-renderer.h Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl-xlib.c
cogl-xlib.h Remove all internal includes of cogl.h 2012-02-20 23:12:45 +00:00
cogl.c Avoid making up the format COGL_PIXEL_FORMAT_A_8_PRE 2012-03-05 17:43:46 +00:00
cogl.h cogl.h: Exclude 1.x headers if 2.0 api requested 2012-02-21 13:26:14 +00:00
cogl.rc.in
cogl.symbols Another update to cogl.symbols 2012-02-22 21:32:42 +08:00
Makefile.am Move all types/prototypes from cogl.h -> cogl[1]-context.h 2012-02-20 23:12:44 +00:00
stb_image.c stb_image: use glib sized types 2011-08-12 15:28:42 +01:00