mutter/cogl
Neil Roberts c5644723f8 Use COGL_FLAGS_* for the context's private feature flags
Previously the private feature flags were stored in an enum and we
already had 31 flags. Adding the 32nd flag would presumably make it
add -2³¹ as one of the values which might cause problems. To avoid
this we'll just use an fixed-size array of longs and use indices for
the enum values like we do for the public features.

A slight complication with this is in the CoglDriverDescription where
we were previously using a static intialised value to describe the set
of features that the driver supports. We can't easily do this with the
flags array so instead the features are stored in a fixed-size array
of indices.

Reviewed-by: Robert Bragg <robert@linux.intel.com>
(cherry picked from commit d94cb984e3c93630f3c2e6e3be9d189672aa20f3)

Conflicts:
	cogl/cogl-context-private.h
	cogl/cogl-context.c
	cogl/cogl-private.h
	cogl/cogl-renderer.c
	cogl/driver/gl/cogl-pipeline-opengl.c
	cogl/driver/gl/gl/cogl-driver-gl.c
	cogl/driver/gl/gl/cogl-pipeline-progend-fixed-arbfp.c
	cogl/driver/gl/gles/cogl-driver-gles.c
	cogl/driver/nop/cogl-driver-nop.c
2013-11-28 18:12:22 +00:00
..
deprecated
driver
gl-prototypes
winsys Use COGL_FLAGS_* for the context's private feature flags 2013-11-28 18:12:22 +00:00
cogl1-context.h
cogl2-compatibility.c
cogl2-experimental.h
cogl-1.0.pc.in
cogl-2.0-experimental.pc.in
cogl-atlas-texture-private.h Expose CoglAtlasTexture api 2013-07-29 16:38:53 +01:00
cogl-atlas-texture.c
cogl-atlas-texture.h
cogl-atlas.c
cogl-atlas.h
cogl-attribute-buffer-private.h
cogl-attribute-buffer.c
cogl-attribute-buffer.h
cogl-attribute-private.h
cogl-attribute.c
cogl-attribute.h
cogl-bitmap-conversion.c
cogl-bitmap-packing.h
cogl-bitmap-pixbuf.c
cogl-bitmap-private.h
cogl-bitmap.c
cogl-bitmap.h
cogl-bitmask.c
cogl-bitmask.h
cogl-blend-string.c
cogl-blend-string.h
cogl-blit.c
cogl-blit.h
cogl-boxed-value.c
cogl-boxed-value.h
cogl-buffer-private.h
cogl-buffer.c Use COGL_FLAGS_* for the context's private feature flags 2013-11-28 18:12:22 +00:00
cogl-buffer.h
cogl-clip-stack.c
cogl-clip-stack.h
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
cogl-clip-state.h
cogl-closure-list-private.h
cogl-closure-list.c
cogl-color-private.h Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
cogl-color.c
cogl-color.h
cogl-config-private.h
cogl-config.c
cogl-context-private.h
cogl-context.c Use COGL_FLAGS_* for the context's private feature flags 2013-11-28 18:12:22 +00:00
cogl-context.h
cogl-debug-options.h
cogl-debug.c
cogl-debug.h
cogl-defines.h.in
cogl-defines.h.win32_SDL.in
cogl-defines.h.win32.in MSVC Builds: Update Predefined cogl-defines.h 2013-08-30 12:04:36 +01:00
cogl-deprecated.h
cogl-depth-state-private.h
cogl-depth-state.c
cogl-depth-state.h
cogl-display-private.h
cogl-display.c
cogl-display.h
cogl-driver.h
cogl-egl-defines.h.in
cogl-egl.h
cogl-enum-types.c.in
cogl-enum-types.h.in
cogl-error-private.h
cogl-error.c
cogl-error.h
cogl-euler.c
cogl-euler.h
cogl-feature-private.c
cogl-feature-private.h
cogl-fence-private.h
cogl-fence.c
cogl-fence.h
cogl-flags.h Fixes for --disable-glib 2013-01-22 17:48:05 +00:00
cogl-frame-info-private.h
cogl-frame-info.c
cogl-frame-info.h
cogl-framebuffer-private.h
cogl-framebuffer.c
cogl-framebuffer.h
cogl-gl-header.h.in
cogl-gl-header.h.win32
cogl-gles2-context-private.h
cogl-gles2-context.c
cogl-gles2-types.h
cogl-gles2.h
cogl-glib-source.c
cogl-glib-source.h
cogl-glsl-shader-boilerplate.h
cogl-glsl-shader-private.h
cogl-glsl-shader.c Use COGL_FLAGS_* for the context's private feature flags 2013-11-28 18:12:22 +00:00
cogl-glx-display-private.h
cogl-glx-renderer-private.h
cogl-gpu-info-private.h gpu-info: Detect more info including architecture 2012-08-06 14:27:42 +01:00
cogl-gpu-info.c
cogl-gtype-private.h
cogl-i18n-private.h
cogl-index-buffer-private.h
cogl-index-buffer.c
cogl-index-buffer.h
cogl-indices-private.h
cogl-indices.c
cogl-indices.h
cogl-journal-private.h
cogl-journal.c
cogl-kms-display.h
cogl-kms-renderer.h
cogl-list.c
cogl-list.h
cogl-macros.h
cogl-magazine-private.h
cogl-magazine.c
cogl-matrix-private.h
cogl-matrix-stack-private.h
cogl-matrix-stack.c
cogl-matrix-stack.h
cogl-matrix.c
cogl-matrix.h
cogl-memory-stack-private.h
cogl-memory-stack.c
cogl-meta-texture.c
cogl-meta-texture.h
cogl-node-private.h
cogl-node.c
cogl-object-private.h
cogl-object.c
cogl-object.h object: use GLib's DestroyNotify if compiled with GLib 2013-09-23 15:02:30 +01:00
cogl-offscreen.h
cogl-onscreen-private.h
cogl-onscreen-template-private.h
cogl-onscreen-template.c
cogl-onscreen-template.h
cogl-onscreen.c
cogl-onscreen.h
cogl-output-private.h
cogl-output.c
cogl-output.h cogl: add missing colon in headers 2013-09-06 18:42:09 +01:00
cogl-pango.h
cogl-pipeline-cache.c
cogl-pipeline-cache.h build: Hide cogl_pipeline_cache_{new,free}() 2013-01-22 17:48:16 +00:00
cogl-pipeline-debug.c pipeline: only maintain breadcrumb for debug builds 2013-06-06 21:49:14 +01:00
cogl-pipeline-hash-table.c
cogl-pipeline-hash-table.h
cogl-pipeline-layer-private.h
cogl-pipeline-layer-state-private.h
cogl-pipeline-layer-state.c
cogl-pipeline-layer-state.h
cogl-pipeline-layer.c
cogl-pipeline-private.h
cogl-pipeline-snippet-private.h Use a GList instead of a BSD list for CoglPipelineSnippetList 2013-06-13 13:45:46 +01:00
cogl-pipeline-snippet.c
cogl-pipeline-state-private.h
cogl-pipeline-state.c
cogl-pipeline-state.h
cogl-pipeline.c
cogl-pipeline.h
cogl-pixel-buffer-private.h
cogl-pixel-buffer.c
cogl-pixel-buffer.h
cogl-point-in-poly-private.h
cogl-point-in-poly.c
cogl-poll-private.h
cogl-poll.c
cogl-poll.h
cogl-primitive-private.h
cogl-primitive-texture.c
cogl-primitive-texture.h
cogl-primitive.c
cogl-primitive.h
cogl-primitives-private.h
cogl-primitives.c
cogl-primitives.h
cogl-private.h
cogl-profile.c
cogl-profile.h
cogl-quaternion-private.h
cogl-quaternion.c
cogl-quaternion.h
cogl-rectangle-map.c
cogl-rectangle-map.h
cogl-renderer-private.h
cogl-renderer.c
cogl-renderer.h
cogl-sampler-cache-private.h
cogl-sampler-cache.c
cogl-sdl.c
cogl-sdl.h
cogl-snippet-private.h
cogl-snippet.c
cogl-snippet.h
cogl-spans.c
cogl-spans.h
cogl-sub-texture-private.h
cogl-sub-texture.c
cogl-sub-texture.h
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
cogl-texture-2d-gl.h
cogl-texture-2d-private.h
cogl-texture-2d-sliced-private.h
cogl-texture-2d-sliced.c
cogl-texture-2d-sliced.h texture-2d-sliced: add missing transfer annotations 2013-09-23 15:02:30 +01:00
cogl-texture-2d.c
cogl-texture-2d.h
cogl-texture-3d-private.h
cogl-texture-3d.c
cogl-texture-3d.h
cogl-texture-driver.h
cogl-texture-private.h texture: remove _cogl_texture_prepare_for_upload 2013-07-29 16:31:44 +01:00
cogl-texture-rectangle-private.h
cogl-texture-rectangle.c
cogl-texture-rectangle.h
cogl-texture.c
cogl-texture.h
cogl-types.h
cogl-util.c
cogl-util.h
cogl-vector.c
cogl-vector.h
cogl-version.h
cogl-wayland-client.h
cogl-wayland-renderer.h
cogl-wayland-server.h
cogl-win32-renderer.c
cogl-win32-renderer.h
cogl-x11-renderer-private.h
cogl-xlib-private.h
cogl-xlib-renderer-private.h
cogl-xlib-renderer.c
cogl-xlib-renderer.h
cogl-xlib.c
cogl-xlib.h build: fix building introspection data 2013-11-28 16:59:55 +00:00
cogl.c
cogl.h
cogl.rc.in
cogl.symbols
Makefile.am
stb_image.c