[Cogl] [PATCH] Remove cogl-internal.h

Robert Bragg robert at sixbynine.org
Thu Dec 6 03:53:33 PST 2012


From: Robert Bragg <robert at linux.intel.com>

This remove cogl-internal.h in favour of using cogl-private.h. Some
things in cogl-internal.h were moved to driver/gl/cogl-util-gl-private.h
and the _cogl_gl_error_to_string function whose prototype was moved from
cogl-internal.h to cogl-util-gl-private.h has had its implementation
moved from cogl.c to cogl-util-gl.c
---
 cogl/Makefile.am                                |    1 -
 cogl/cogl-atlas-texture.c                       |    1 -
 cogl/cogl-bitmap-pixbuf.c                       |    1 -
 cogl/cogl-blend-string.c                        |    1 -
 cogl/cogl-boxed-value.c                         |    1 +
 cogl/cogl-buffer.c                              |    1 -
 cogl/cogl-clip-stack.c                          |    1 -
 cogl/cogl-clip-state.c                          |    1 -
 cogl/cogl-context-private.h                     |    1 -
 cogl/cogl-context.c                             |    2 +-
 cogl/cogl-display-private.h                     |    1 -
 cogl/cogl-display.c                             |    1 -
 cogl/cogl-driver.h                              |   12 ++
 cogl/cogl-feature-private.h                     |    1 -
 cogl/cogl-framebuffer.c                         |    2 +-
 cogl/cogl-glsl-shader.c                         |    2 +-
 cogl/cogl-internal.h                            |  133 -----------------------
 cogl/cogl-journal.c                             |    1 -
 cogl/cogl-matrix-stack.c                        |    2 +-
 cogl/cogl-path.c                                |    1 -
 cogl/cogl-pipeline-layer-private.h              |    2 +-
 cogl/cogl-pipeline-private.h                    |    2 +-
 cogl/cogl-pipeline.c                            |    1 -
 cogl/cogl-primitives.c                          |    1 -
 cogl/cogl-private.h                             |   44 ++++++++
 cogl/cogl-renderer-private.h                    |    1 -
 cogl/cogl-renderer.c                            |    2 +-
 cogl/cogl-sampler-cache.c                       |    1 +
 cogl/cogl-spans.c                               |    1 -
 cogl/cogl-sub-texture.c                         |    1 -
 cogl/cogl-texture.c                             |    1 -
 cogl/cogl-xlib-renderer.c                       |    1 -
 cogl/cogl-xlib.c                                |    1 -
 cogl/cogl.c                                     |   39 -------
 cogl/driver/gl/cogl-attribute-gl.c              |    1 +
 cogl/driver/gl/cogl-clip-stack-gl.c             |    1 +
 cogl/driver/gl/cogl-framebuffer-gl.c            |    1 +
 cogl/driver/gl/cogl-pipeline-fragend-fixed.c    |    2 +-
 cogl/driver/gl/cogl-pipeline-fragend-glsl.c     |    2 +-
 cogl/driver/gl/cogl-pipeline-opengl.c           |    1 +
 cogl/driver/gl/cogl-pipeline-progend-glsl.c     |    2 +-
 cogl/driver/gl/cogl-pipeline-vertend-fixed.c    |    2 +-
 cogl/driver/gl/cogl-pipeline-vertend-glsl.c     |    2 +-
 cogl/driver/gl/cogl-texture-gl.c                |    2 +-
 cogl/driver/gl/cogl-util-gl-private.h           |   36 ++++++
 cogl/driver/gl/cogl-util-gl.c                   |   39 +++++++-
 cogl/driver/gl/gl/cogl-driver-gl.c              |    2 +-
 cogl/driver/gl/gl/cogl-pipeline-fragend-arbfp.c |    2 +-
 cogl/driver/gl/gles/cogl-driver-gles.c          |    2 +-
 cogl/driver/nop/cogl-driver-nop.c               |    1 -
 cogl/winsys/cogl-texture-pixmap-x11.c           |    1 -
 doc/reference/cogl2/Makefile.am                 |    1 -
 52 files changed, 152 insertions(+), 213 deletions(-)
 delete mode 100644 cogl/cogl-internal.h

diff --git a/cogl/Makefile.am b/cogl/Makefile.am
index 4372e46..6b207ff 100644
--- a/cogl/Makefile.am
+++ b/cogl/Makefile.am
@@ -252,7 +252,6 @@ cogl_sources_c = \
 	$(srcdir)/cogl-display-private.h		\
 	$(srcdir)/cogl-display.h			\
 	$(srcdir)/cogl-display.c			\
-	$(srcdir)/cogl-internal.h			\
 	$(srcdir)/cogl-driver.h				\
 	$(srcdir)/cogl.c				\
 	$(srcdir)/cogl-object-private.h			\
diff --git a/cogl/cogl-atlas-texture.c b/cogl/cogl-atlas-texture.c
index e878a3a..a3e9e7e 100644
--- a/cogl/cogl-atlas-texture.c
+++ b/cogl/cogl-atlas-texture.c
@@ -29,7 +29,6 @@
 #endif
 
 #include "cogl-debug.h"
-#include "cogl-internal.h"
 #include "cogl-util.h"
 #include "cogl-texture-private.h"
 #include "cogl-atlas-texture-private.h"
diff --git a/cogl/cogl-bitmap-pixbuf.c b/cogl/cogl-bitmap-pixbuf.c
index 855c997..a02b253 100644
--- a/cogl/cogl-bitmap-pixbuf.c
+++ b/cogl/cogl-bitmap-pixbuf.c
@@ -26,7 +26,6 @@
 #endif
 
 #include "cogl-util.h"
-#include "cogl-internal.h"
 #include "cogl-bitmap-private.h"
 #include "cogl-context-private.h"
 #include "cogl-private.h"
diff --git a/cogl/cogl-blend-string.c b/cogl/cogl-blend-string.c
index 7d4c2e5..f62e8c0 100644
--- a/cogl/cogl-blend-string.c
+++ b/cogl/cogl-blend-string.c
@@ -33,7 +33,6 @@
 
 #include <glib.h>
 
-#include "cogl-internal.h"
 #include "cogl-context-private.h"
 #include "cogl-debug.h"
 #include "cogl-blend-string.h"
diff --git a/cogl/cogl-boxed-value.c b/cogl/cogl-boxed-value.c
index 59ff3b6..f82f78b 100644
--- a/cogl/cogl-boxed-value.c
+++ b/cogl/cogl-boxed-value.c
@@ -29,6 +29,7 @@
 
 #include "cogl-boxed-value.h"
 #include "cogl-context-private.h"
+#include "cogl-util-gl-private.h"
 
 CoglBool
 _cogl_boxed_value_equal (const CoglBoxedValue *bva,
diff --git a/cogl/cogl-buffer.c b/cogl/cogl-buffer.c
index 16fddf7..4edfa54 100644
--- a/cogl/cogl-buffer.c
+++ b/cogl/cogl-buffer.c
@@ -38,7 +38,6 @@
 #include <string.h>
 #include <glib.h>
 
-#include "cogl-internal.h"
 #include "cogl-util.h"
 #include "cogl-context-private.h"
 #include "cogl-object-private.h"
diff --git a/cogl/cogl-clip-stack.c b/cogl/cogl-clip-stack.c
index 0fc8dbe..9db3b0e 100644
--- a/cogl/cogl-clip-stack.c
+++ b/cogl/cogl-clip-stack.c
@@ -33,7 +33,6 @@
 
 #include "cogl-clip-stack.h"
 #include "cogl-context-private.h"
-#include "cogl-internal.h"
 #include "cogl-framebuffer-private.h"
 #include "cogl-journal-private.h"
 #include "cogl-util.h"
diff --git a/cogl/cogl-clip-state.c b/cogl/cogl-clip-state.c
index 464bc61..cddb388 100644
--- a/cogl/cogl-clip-state.c
+++ b/cogl/cogl-clip-state.c
@@ -33,7 +33,6 @@
 #include "cogl-clip-stack.h"
 #include "cogl-clip-state-private.h"
 #include "cogl-context-private.h"
-#include "cogl-internal.h"
 #include "cogl-framebuffer-private.h"
 #include "cogl-journal-private.h"
 #include "cogl-util.h"
diff --git a/cogl/cogl-context-private.h b/cogl/cogl-context-private.h
index 73de061..5b81338 100644
--- a/cogl/cogl-context-private.h
+++ b/cogl/cogl-context-private.h
@@ -24,7 +24,6 @@
 #ifndef __COGL_CONTEXT_PRIVATE_H
 #define __COGL_CONTEXT_PRIVATE_H
 
-#include "cogl-internal.h"
 #include "cogl-context.h"
 #include "cogl-winsys-private.h"
 #include "cogl-flags.h"
diff --git a/cogl/cogl-context.c b/cogl/cogl-context.c
index b33a9a3..02c187e 100644
--- a/cogl/cogl-context.c
+++ b/cogl/cogl-context.c
@@ -26,13 +26,13 @@
 #endif
 
 #include "cogl-object.h"
-#include "cogl-internal.h"
 #include "cogl-private.h"
 #include "cogl-winsys-private.h"
 #include "winsys/cogl-winsys-stub-private.h"
 #include "cogl-profile.h"
 #include "cogl-util.h"
 #include "cogl-context-private.h"
+#include "cogl-util-gl-private.h"
 #include "cogl-display-private.h"
 #include "cogl-renderer-private.h"
 #include "cogl-journal-private.h"
diff --git a/cogl/cogl-display-private.h b/cogl/cogl-display-private.h
index fe844e1..2e31335 100644
--- a/cogl/cogl-display-private.h
+++ b/cogl/cogl-display-private.h
@@ -29,7 +29,6 @@
 #include "cogl-display.h"
 #include "cogl-renderer.h"
 #include "cogl-onscreen-template.h"
-#include "cogl-internal.h"
 #if COGL_HAS_WAYLAND_EGL_SERVER_SUPPORT
 #include <wayland-server.h>
 #endif
diff --git a/cogl/cogl-display.c b/cogl/cogl-display.c
index ec5f88a..d943c2c 100644
--- a/cogl/cogl-display.c
+++ b/cogl/cogl-display.c
@@ -32,7 +32,6 @@
 
 #include "cogl-private.h"
 #include "cogl-object.h"
-#include "cogl-internal.h"
 
 #include "cogl-display-private.h"
 #include "cogl-renderer-private.h"
diff --git a/cogl/cogl-driver.h b/cogl/cogl-driver.h
index ba6e030..03afc1a 100644
--- a/cogl/cogl-driver.h
+++ b/cogl/cogl-driver.h
@@ -267,5 +267,17 @@ struct _CoglDriverVtable
                        CoglError **error);
 };
 
+#define COGL_DRIVER_ERROR (_cogl_driver_error_domain ())
+
+typedef enum { /*< prefix=COGL_DRIVER_ERROR >*/
+  COGL_DRIVER_ERROR_UNKNOWN_VERSION,
+  COGL_DRIVER_ERROR_INVALID_VERSION,
+  COGL_DRIVER_ERROR_NO_SUITABLE_DRIVER_FOUND,
+  COGL_DRIVER_ERROR_FAILED_TO_LOAD_LIBRARY
+} CoglDriverError;
+
+uint32_t
+_cogl_driver_error_domain (void);
+
 #endif /* __COGL_DRIVER_H */
 
diff --git a/cogl/cogl-feature-private.h b/cogl/cogl-feature-private.h
index 1207f9e..40acee4 100644
--- a/cogl/cogl-feature-private.h
+++ b/cogl/cogl-feature-private.h
@@ -26,7 +26,6 @@
 
 #include <glib.h>
 
-#include "cogl-internal.h"
 
 #define COGL_CHECK_GL_VERSION(driver_major, driver_minor, \
                               target_major, target_minor) \
diff --git a/cogl/cogl-framebuffer.c b/cogl/cogl-framebuffer.c
index dd81001..b26de2b 100644
--- a/cogl/cogl-framebuffer.c
+++ b/cogl/cogl-framebuffer.c
@@ -29,8 +29,8 @@
 #include <string.h>
 
 #include "cogl-debug.h"
-#include "cogl-internal.h"
 #include "cogl-context-private.h"
+#include "cogl-util-gl-private.h"
 #include "cogl-display-private.h"
 #include "cogl-renderer-private.h"
 #include "cogl-object-private.h"
diff --git a/cogl/cogl-glsl-shader.c b/cogl/cogl-glsl-shader.c
index fc3c4f0..993ba24 100644
--- a/cogl/cogl-glsl-shader.c
+++ b/cogl/cogl-glsl-shader.c
@@ -31,9 +31,9 @@
 #endif
 
 #include "cogl-context-private.h"
+#include "cogl-util-gl-private.h"
 #include "cogl-glsl-shader-private.h"
 #include "cogl-glsl-shader-boilerplate.h"
-#include "cogl-internal.h"
 
 #include <string.h>
 
diff --git a/cogl/cogl-internal.h b/cogl/cogl-internal.h
deleted file mode 100644
index fa921a6..0000000
--- a/cogl/cogl-internal.h
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * Cogl
- *
- * An object oriented GL/GLES Abstraction/Utility Layer
- *
- * Copyright (C) 2007,2008,2009,2010 Intel Corporation.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
- *
- *
- */
-
-#ifndef __COGL_INTERNAL_H
-#define __COGL_INTERNAL_H
-
-#include "cogl-bitmask.h"
-#include "cogl-gl-header.h"
-
-#ifdef COGL_HAS_XLIB_SUPPORT
-#include <X11/Xutil.h>
-#endif
-
-#ifdef COGL_GL_DEBUG
-
-const char *
-_cogl_gl_error_to_string (GLenum error_code);
-
-#define GE(ctx, x)                      G_STMT_START {  \
-  GLenum __err;                                         \
-  (ctx)->x;                                             \
-  while ((__err = (ctx)->glGetError ()) != GL_NO_ERROR) \
-    {                                                   \
-      g_warning ("%s: GL error (%d): %s\n",             \
-                 G_STRLOC,                              \
-                 __err,                                 \
-                 _cogl_gl_error_to_string (__err));     \
-    }                                   } G_STMT_END
-
-#define GE_RET(ret, ctx, x)             G_STMT_START {  \
-  GLenum __err;                                         \
-  ret = (ctx)->x;                                       \
-  while ((__err = (ctx)->glGetError ()) != GL_NO_ERROR) \
-    {                                                   \
-      g_warning ("%s: GL error (%d): %s\n",             \
-                 G_STRLOC,                              \
-                 __err,                                 \
-                 _cogl_gl_error_to_string (__err));     \
-    }                                   } G_STMT_END
-
-#else /* !COGL_GL_DEBUG */
-
-#define GE(ctx, x) ((ctx)->x)
-#define GE_RET(ret, ctx, x) (ret = ((ctx)->x))
-
-#endif /* COGL_GL_DEBUG */
-
-#define COGL_ENABLE_ALPHA_TEST        (1<<1)
-#define COGL_ENABLE_VERTEX_ARRAY      (1<<2)
-#define COGL_ENABLE_COLOR_ARRAY       (1<<3)
-
-void
-_cogl_enable (unsigned long flags);
-
-unsigned long
-_cogl_get_enable (void);
-
-void
-_cogl_transform_point (const CoglMatrix *matrix_mv,
-                       const CoglMatrix *matrix_p,
-                       const float *viewport,
-                       float *x,
-                       float *y);
-
-#define COGL_DRIVER_ERROR (_cogl_driver_error_domain ())
-
-typedef enum { /*< prefix=COGL_DRIVER_ERROR >*/
-  COGL_DRIVER_ERROR_UNKNOWN_VERSION,
-  COGL_DRIVER_ERROR_INVALID_VERSION,
-  COGL_DRIVER_ERROR_NO_SUITABLE_DRIVER_FOUND,
-  COGL_DRIVER_ERROR_FAILED_TO_LOAD_LIBRARY
-} CoglDriverError;
-
-typedef enum
-{
-  COGL_PRIVATE_FEATURE_TEXTURE_2D_FROM_EGL_IMAGE = 1L<<0,
-  COGL_PRIVATE_FEATURE_MESA_PACK_INVERT = 1L<<1,
-  COGL_PRIVATE_FEATURE_STENCIL_BUFFER = 1L<<2,
-  COGL_PRIVATE_FEATURE_OFFSCREEN_BLIT = 1L<<3,
-  COGL_PRIVATE_FEATURE_FOUR_CLIP_PLANES = 1L<<4,
-  COGL_PRIVATE_FEATURE_PBOS = 1L<<5,
-  COGL_PRIVATE_FEATURE_VBOS = 1L<<6,
-  COGL_PRIVATE_FEATURE_EXT_PACKED_DEPTH_STENCIL = 1L<<7,
-  COGL_PRIVATE_FEATURE_OES_PACKED_DEPTH_STENCIL = 1L<<8,
-  COGL_PRIVATE_FEATURE_TEXTURE_FORMAT_BGRA8888 = 1L<<9,
-  COGL_PRIVATE_FEATURE_UNPACK_SUBIMAGE = 1L<<10,
-  COGL_PRIVATE_FEATURE_SAMPLER_OBJECTS = 1L<<11,
-  COGL_PRIVATE_FEATURE_FIXED_FUNCTION = 1L<<12,
-  COGL_PRIVATE_FEATURE_READ_PIXELS_ANY_FORMAT = 1L<<13,
-  COGL_PRIVATE_FEATURE_ANY_GL = 1L<<14,
-  COGL_PRIVATE_FEATURE_ALPHA_TEST = 1L<<15,
-  COGL_PRIVATE_FEATURE_FORMAT_CONVERSION = 1L<<16,
-  COGL_PRIVATE_FEATURE_QUADS = 1L<<17,
-  COGL_PRIVATE_FEATURE_BLEND_CONSTANT = 1L<<18,
-  COGL_PRIVATE_FEATURE_QUERY_FRAMEBUFFER_BITS = 1L<<19,
-  COGL_PRIVATE_FEATURE_BUILTIN_POINT_SIZE_UNIFORM = 1L<<20,
-  COGL_PRIVATE_FEATURE_QUERY_TEXTURE_PARAMETERS = 1L<<21,
-  COGL_PRIVATE_FEATURE_ALPHA_TEXTURES = 1L<<22,
-  COGL_PRIVATE_FEATURE_TEXTURE_SWIZZLE = 1L<<23
-} CoglPrivateFeatureFlags;
-
-/* Sometimes when evaluating pipelines, either during comparisons or
- * if calculating a hash value we need to tweak the evaluation
- * semantics */
-typedef enum _CoglPipelineEvalFlags
-{
-  COGL_PIPELINE_EVAL_FLAG_NONE = 0
-} CoglPipelineEvalFlags;
-
-uint32_t
-_cogl_driver_error_domain (void);
-
-#endif /* __COGL_INTERNAL_H */
diff --git a/cogl/cogl-journal.c b/cogl/cogl-journal.c
index 10b5b8d..f73e2da 100644
--- a/cogl/cogl-journal.c
+++ b/cogl/cogl-journal.c
@@ -26,7 +26,6 @@
 #endif
 
 #include "cogl-debug.h"
-#include "cogl-internal.h"
 #include "cogl-context-private.h"
 #include "cogl-journal-private.h"
 #include "cogl-texture-private.h"
diff --git a/cogl/cogl-matrix-stack.c b/cogl/cogl-matrix-stack.c
index 42b681b..9bcc4d6 100644
--- a/cogl/cogl-matrix-stack.c
+++ b/cogl/cogl-matrix-stack.c
@@ -30,7 +30,7 @@
 #endif
 
 #include "cogl-context-private.h"
-#include "cogl-internal.h"
+#include "cogl-util-gl-private.h"
 #include "cogl-matrix-stack.h"
 #include "cogl-framebuffer-private.h"
 #include "cogl-object-private.h"
diff --git a/cogl/cogl-path.c b/cogl/cogl-path.c
index f02d5b3..2e49a5d 100644
--- a/cogl/cogl-path.c
+++ b/cogl/cogl-path.c
@@ -32,7 +32,6 @@
 
 #include "cogl-util.h"
 #include "cogl-object.h"
-#include "cogl-internal.h"
 #include "cogl-context-private.h"
 #include "cogl-journal-private.h"
 #include "cogl-pipeline-private.h"
diff --git a/cogl/cogl-pipeline-layer-private.h b/cogl/cogl-pipeline-layer-private.h
index 90ceeab..d56e3f4 100644
--- a/cogl/cogl-pipeline-layer-private.h
+++ b/cogl/cogl-pipeline-layer-private.h
@@ -28,12 +28,12 @@
 #ifndef __COGL_PIPELINE_LAYER_PRIVATE_H
 #define __COGL_PIPELINE_LAYER_PRIVATE_H
 
+#include "cogl-private.h"
 #include "cogl-pipeline.h"
 #include "cogl-node-private.h"
 #include "cogl-texture.h"
 #include "cogl-matrix.h"
 #include "cogl-pipeline-layer-state.h"
-#include "cogl-internal.h"
 #include "cogl-pipeline-snippet-private.h"
 #include "cogl-sampler-cache-private.h"
 
diff --git a/cogl/cogl-pipeline-private.h b/cogl/cogl-pipeline-private.h
index e3411a2..6cf3531 100644
--- a/cogl/cogl-pipeline-private.h
+++ b/cogl/cogl-pipeline-private.h
@@ -35,11 +35,11 @@
 #include "cogl-object-private.h"
 #include "cogl-profile.h"
 #include "cogl-queue.h"
-#include "cogl-internal.h"
 #include "cogl-boxed-value.h"
 #include "cogl-pipeline-snippet-private.h"
 #include "cogl-pipeline-state.h"
 #include "cogl-framebuffer.h"
+#include "cogl-bitmask.h"
 
 #include <glib.h>
 
diff --git a/cogl/cogl-pipeline.c b/cogl/cogl-pipeline.c
index 3bd62a7..feb911d 100644
--- a/cogl/cogl-pipeline.c
+++ b/cogl/cogl-pipeline.c
@@ -30,7 +30,6 @@
 #endif
 
 #include "cogl-debug.h"
-#include "cogl-internal.h"
 #include "cogl-context-private.h"
 #include "cogl-object.h"
 
diff --git a/cogl/cogl-primitives.c b/cogl/cogl-primitives.c
index c72d5d2..9eeac71 100644
--- a/cogl/cogl-primitives.c
+++ b/cogl/cogl-primitives.c
@@ -26,7 +26,6 @@
 #endif
 
 #include "cogl-debug.h"
-#include "cogl-internal.h"
 #include "cogl-context-private.h"
 #include "cogl-journal-private.h"
 #include "cogl-texture-private.h"
diff --git a/cogl/cogl-private.h b/cogl/cogl-private.h
index 2e8eb92..ca508a4 100644
--- a/cogl/cogl-private.h
+++ b/cogl/cogl-private.h
@@ -28,8 +28,52 @@
 
 #include "cogl-context.h"
 
+
 COGL_BEGIN_DECLS
 
+typedef enum
+{
+  COGL_PRIVATE_FEATURE_TEXTURE_2D_FROM_EGL_IMAGE = 1L<<0,
+  COGL_PRIVATE_FEATURE_MESA_PACK_INVERT = 1L<<1,
+  COGL_PRIVATE_FEATURE_STENCIL_BUFFER = 1L<<2,
+  COGL_PRIVATE_FEATURE_OFFSCREEN_BLIT = 1L<<3,
+  COGL_PRIVATE_FEATURE_FOUR_CLIP_PLANES = 1L<<4,
+  COGL_PRIVATE_FEATURE_PBOS = 1L<<5,
+  COGL_PRIVATE_FEATURE_VBOS = 1L<<6,
+  COGL_PRIVATE_FEATURE_EXT_PACKED_DEPTH_STENCIL = 1L<<7,
+  COGL_PRIVATE_FEATURE_OES_PACKED_DEPTH_STENCIL = 1L<<8,
+  COGL_PRIVATE_FEATURE_TEXTURE_FORMAT_BGRA8888 = 1L<<9,
+  COGL_PRIVATE_FEATURE_UNPACK_SUBIMAGE = 1L<<10,
+  COGL_PRIVATE_FEATURE_SAMPLER_OBJECTS = 1L<<11,
+  COGL_PRIVATE_FEATURE_FIXED_FUNCTION = 1L<<12,
+  COGL_PRIVATE_FEATURE_READ_PIXELS_ANY_FORMAT = 1L<<13,
+  COGL_PRIVATE_FEATURE_ANY_GL = 1L<<14,
+  COGL_PRIVATE_FEATURE_ALPHA_TEST = 1L<<15,
+  COGL_PRIVATE_FEATURE_FORMAT_CONVERSION = 1L<<16,
+  COGL_PRIVATE_FEATURE_QUADS = 1L<<17,
+  COGL_PRIVATE_FEATURE_BLEND_CONSTANT = 1L<<18,
+  COGL_PRIVATE_FEATURE_QUERY_FRAMEBUFFER_BITS = 1L<<19,
+  COGL_PRIVATE_FEATURE_BUILTIN_POINT_SIZE_UNIFORM = 1L<<20,
+  COGL_PRIVATE_FEATURE_QUERY_TEXTURE_PARAMETERS = 1L<<21,
+  COGL_PRIVATE_FEATURE_ALPHA_TEXTURES = 1L<<22,
+  COGL_PRIVATE_FEATURE_TEXTURE_SWIZZLE = 1L<<23
+} CoglPrivateFeatureFlags;
+
+/* Sometimes when evaluating pipelines, either during comparisons or
+ * if calculating a hash value we need to tweak the evaluation
+ * semantics */
+typedef enum _CoglPipelineEvalFlags
+{
+  COGL_PIPELINE_EVAL_FLAG_NONE = 0
+} CoglPipelineEvalFlags;
+
+void
+_cogl_transform_point (const CoglMatrix *matrix_mv,
+                       const CoglMatrix *matrix_p,
+                       const float *viewport,
+                       float *x,
+                       float *y);
+
 CoglBool
 _cogl_check_extension (const char *name, char * const *ext);
 
diff --git a/cogl/cogl-renderer-private.h b/cogl/cogl-renderer-private.h
index 565d2c9..ac6effd 100644
--- a/cogl/cogl-renderer-private.h
+++ b/cogl/cogl-renderer-private.h
@@ -28,7 +28,6 @@
 
 #include "cogl-object-private.h"
 #include "cogl-winsys-private.h"
-#include "cogl-internal.h"
 #include "cogl-driver.h"
 #include "cogl-texture-driver.h"
 
diff --git a/cogl/cogl-renderer.c b/cogl/cogl-renderer.c
index 2e2a3df..04ffc76 100644
--- a/cogl/cogl-renderer.c
+++ b/cogl/cogl-renderer.c
@@ -32,10 +32,10 @@
 #include <string.h>
 
 #include "cogl-util.h"
-#include "cogl-internal.h"
 #include "cogl-private.h"
 #include "cogl-object.h"
 #include "cogl-context-private.h"
+#include "cogl-util-gl-private.h"
 
 #include "cogl-renderer.h"
 #include "cogl-renderer-private.h"
diff --git a/cogl/cogl-sampler-cache.c b/cogl/cogl-sampler-cache.c
index f91983c..84bb81d 100644
--- a/cogl/cogl-sampler-cache.c
+++ b/cogl/cogl-sampler-cache.c
@@ -30,6 +30,7 @@
 
 #include "cogl-sampler-cache-private.h"
 #include "cogl-context-private.h"
+#include "cogl-util-gl-private.h"
 
 #ifndef GL_TEXTURE_WRAP_R
 #define GL_TEXTURE_WRAP_R 0x8072
diff --git a/cogl/cogl-spans.c b/cogl/cogl-spans.c
index d2c5129..0ab61ca 100644
--- a/cogl/cogl-spans.c
+++ b/cogl/cogl-spans.c
@@ -28,7 +28,6 @@
 #include "math.h"
 
 #include "cogl-util.h"
-#include "cogl-internal.h"
 #include "cogl-spans.h"
 
 void
diff --git a/cogl/cogl-sub-texture.c b/cogl/cogl-sub-texture.c
index 915277f..e512d48 100644
--- a/cogl/cogl-sub-texture.c
+++ b/cogl/cogl-sub-texture.c
@@ -28,7 +28,6 @@
 #include "config.h"
 #endif
 
-#include "cogl-internal.h"
 #include "cogl-util.h"
 #include "cogl-texture-private.h"
 #include "cogl-sub-texture-private.h"
diff --git a/cogl/cogl-texture.c b/cogl/cogl-texture.c
index 1c9da68..22874a3 100644
--- a/cogl/cogl-texture.c
+++ b/cogl/cogl-texture.c
@@ -31,7 +31,6 @@
 #include "config.h"
 #endif
 
-#include "cogl-internal.h"
 #include "cogl-util.h"
 #include "cogl-bitmap.h"
 #include "cogl-bitmap-private.h"
diff --git a/cogl/cogl-xlib-renderer.c b/cogl/cogl-xlib-renderer.c
index 713df7f..1116332 100644
--- a/cogl/cogl-xlib-renderer.c
+++ b/cogl/cogl-xlib-renderer.c
@@ -30,7 +30,6 @@
 
 #include "cogl-xlib-renderer.h"
 #include "cogl-util.h"
-#include "cogl-internal.h"
 #include "cogl-object.h"
 
 #include "cogl-renderer-private.h"
diff --git a/cogl/cogl-xlib.c b/cogl/cogl-xlib.c
index 853e48e..3f46917 100644
--- a/cogl/cogl-xlib.c
+++ b/cogl/cogl-xlib.c
@@ -31,7 +31,6 @@
 
 #include <cogl-xlib.h>
 
-#include <cogl-internal.h>
 #include <cogl-object-private.h>
 #include <cogl-context-private.h>
 #include <cogl-framebuffer-private.h>
diff --git a/cogl/cogl.c b/cogl/cogl.c
index 256c337..578f0b4 100644
--- a/cogl/cogl.c
+++ b/cogl/cogl.c
@@ -31,7 +31,6 @@
 #include <glib/gi18n-lib.h>
 
 #include "cogl-debug.h"
-#include "cogl-internal.h"
 #include "cogl-util.h"
 #include "cogl-context-private.h"
 #include "cogl-pipeline-private.h"
@@ -50,44 +49,6 @@
 #include "cogl-private.h"
 #include "cogl-offscreen.h"
 
-#ifdef COGL_GL_DEBUG
-/* GL error to string conversion */
-static const struct {
-  GLuint error_code;
-  const char *error_string;
-} gl_errors[] = {
-  { GL_NO_ERROR,          "No error" },
-  { GL_INVALID_ENUM,      "Invalid enumeration value" },
-  { GL_INVALID_VALUE,     "Invalid value" },
-  { GL_INVALID_OPERATION, "Invalid operation" },
-#ifdef HAVE_COGL_GL
-  { GL_STACK_OVERFLOW,    "Stack overflow" },
-  { GL_STACK_UNDERFLOW,   "Stack underflow" },
-#endif
-  { GL_OUT_OF_MEMORY,     "Out of memory" },
-
-#ifdef GL_INVALID_FRAMEBUFFER_OPERATION_EXT
-  { GL_INVALID_FRAMEBUFFER_OPERATION_EXT, "Invalid framebuffer operation" }
-#endif
-};
-
-static const unsigned int n_gl_errors = G_N_ELEMENTS (gl_errors);
-
-const char *
-_cogl_gl_error_to_string (GLenum error_code)
-{
-  int i;
-
-  for (i = 0; i < n_gl_errors; i++)
-    {
-      if (gl_errors[i].error_code == error_code)
-        return gl_errors[i].error_string;
-    }
-
-  return "Unknown GL error";
-}
-#endif /* COGL_GL_DEBUG */
-
 CoglBool
 _cogl_check_extension (const char *name, char * const *ext)
 {
diff --git a/cogl/driver/gl/cogl-attribute-gl.c b/cogl/driver/gl/cogl-attribute-gl.c
index cf3f29c..dd597d4 100644
--- a/cogl/driver/gl/cogl-attribute-gl.c
+++ b/cogl/driver/gl/cogl-attribute-gl.c
@@ -32,6 +32,7 @@
 #include <string.h>
 
 #include "cogl-private.h"
+#include "cogl-util-gl-private.h"
 #include "cogl-pipeline-opengl-private.h"
 #include "cogl-error-private.h"
 #include "cogl-context-private.h"
diff --git a/cogl/driver/gl/cogl-clip-stack-gl.c b/cogl/driver/gl/cogl-clip-stack-gl.c
index 09019e2..6fcd4c1 100644
--- a/cogl/driver/gl/cogl-clip-stack-gl.c
+++ b/cogl/driver/gl/cogl-clip-stack-gl.c
@@ -30,6 +30,7 @@
 #endif
 
 #include "cogl-context-private.h"
+#include "cogl-util-gl-private.h"
 #include "cogl-primitives-private.h"
 #include "cogl-pipeline-opengl-private.h"
 #include "cogl-path-private.h"
diff --git a/cogl/driver/gl/cogl-framebuffer-gl.c b/cogl/driver/gl/cogl-framebuffer-gl.c
index 23cf1a7..1e8139c 100644
--- a/cogl/driver/gl/cogl-framebuffer-gl.c
+++ b/cogl/driver/gl/cogl-framebuffer-gl.c
@@ -27,6 +27,7 @@
 #endif
 
 #include "cogl-context-private.h"
+#include "cogl-util-gl-private.h"
 #include "cogl-framebuffer-private.h"
 #include "cogl-framebuffer-gl-private.h"
 #include "cogl-buffer-gl-private.h"
diff --git a/cogl/driver/gl/cogl-pipeline-fragend-fixed.c b/cogl/driver/gl/cogl-pipeline-fragend-fixed.c
index 7f58eec..1d320ce 100644
--- a/cogl/driver/gl/cogl-pipeline-fragend-fixed.c
+++ b/cogl/driver/gl/cogl-pipeline-fragend-fixed.c
@@ -30,13 +30,13 @@
 #endif
 
 #include "cogl-context-private.h"
+#include "cogl-util-gl-private.h"
 #include "cogl-pipeline-private.h"
 #include "cogl-pipeline-state-private.h"
 #include "cogl-pipeline-opengl-private.h"
 
 #ifdef COGL_PIPELINE_FRAGEND_FIXED
 
-#include "cogl-internal.h"
 #include "cogl-context-private.h"
 #include "cogl-object-private.h"
 
diff --git a/cogl/driver/gl/cogl-pipeline-fragend-glsl.c b/cogl/driver/gl/cogl-pipeline-fragend-glsl.c
index 622e4be..6ea64c6 100644
--- a/cogl/driver/gl/cogl-pipeline-fragend-glsl.c
+++ b/cogl/driver/gl/cogl-pipeline-fragend-glsl.c
@@ -33,6 +33,7 @@
 #include <string.h>
 
 #include "cogl-context-private.h"
+#include "cogl-util-gl-private.h"
 #include "cogl-pipeline-private.h"
 #include "cogl-pipeline-layer-private.h"
 #include "cogl-blend-string.h"
@@ -40,7 +41,6 @@
 
 #ifdef COGL_PIPELINE_FRAGEND_GLSL
 
-#include "cogl-internal.h"
 #include "cogl-context-private.h"
 #include "cogl-object-private.h"
 #include "cogl-pipeline-cache.h"
diff --git a/cogl/driver/gl/cogl-pipeline-opengl.c b/cogl/driver/gl/cogl-pipeline-opengl.c
index 344078d..86fc365 100644
--- a/cogl/driver/gl/cogl-pipeline-opengl.c
+++ b/cogl/driver/gl/cogl-pipeline-opengl.c
@@ -30,6 +30,7 @@
 #endif
 
 #include "cogl-debug.h"
+#include "cogl-util-gl-private.h"
 #include "cogl-pipeline-opengl-private.h"
 #include "cogl-pipeline-private.h"
 #include "cogl-context-private.h"
diff --git a/cogl/driver/gl/cogl-pipeline-progend-glsl.c b/cogl/driver/gl/cogl-pipeline-progend-glsl.c
index 8d39c37..fd3c4d6 100644
--- a/cogl/driver/gl/cogl-pipeline-progend-glsl.c
+++ b/cogl/driver/gl/cogl-pipeline-progend-glsl.c
@@ -33,13 +33,13 @@
 
 #include "cogl-util.h"
 #include "cogl-context-private.h"
+#include "cogl-util-gl-private.h"
 #include "cogl-pipeline-private.h"
 #include "cogl-pipeline-opengl-private.h"
 #include "cogl-offscreen.h"
 
 #ifdef COGL_PIPELINE_PROGEND_GLSL
 
-#include "cogl-internal.h"
 #include "cogl-context-private.h"
 #include "cogl-object-private.h"
 #include "cogl-pipeline-fragend-glsl-private.h"
diff --git a/cogl/driver/gl/cogl-pipeline-vertend-fixed.c b/cogl/driver/gl/cogl-pipeline-vertend-fixed.c
index 61d9eba..bc7d6c1 100644
--- a/cogl/driver/gl/cogl-pipeline-vertend-fixed.c
+++ b/cogl/driver/gl/cogl-pipeline-vertend-fixed.c
@@ -30,6 +30,7 @@
 #endif
 
 #include "cogl-context-private.h"
+#include "cogl-util-gl-private.h"
 #include "cogl-pipeline-private.h"
 #include "cogl-pipeline-state-private.h"
 #include "cogl-pipeline-opengl-private.h"
@@ -37,7 +38,6 @@
 
 #ifdef COGL_PIPELINE_VERTEND_FIXED
 
-#include "cogl-internal.h"
 #include "cogl-context-private.h"
 #include "cogl-object-private.h"
 
diff --git a/cogl/driver/gl/cogl-pipeline-vertend-glsl.c b/cogl/driver/gl/cogl-pipeline-vertend-glsl.c
index 13759ab..a298145 100644
--- a/cogl/driver/gl/cogl-pipeline-vertend-glsl.c
+++ b/cogl/driver/gl/cogl-pipeline-vertend-glsl.c
@@ -32,12 +32,12 @@
 #include <string.h>
 
 #include "cogl-context-private.h"
+#include "cogl-util-gl-private.h"
 #include "cogl-pipeline-private.h"
 #include "cogl-pipeline-opengl-private.h"
 
 #ifdef COGL_PIPELINE_VERTEND_GLSL
 
-#include "cogl-internal.h"
 #include "cogl-context-private.h"
 #include "cogl-object-private.h"
 #include "cogl-pipeline-vertend-glsl-private.h"
diff --git a/cogl/driver/gl/cogl-texture-gl.c b/cogl/driver/gl/cogl-texture-gl.c
index 7572fcb..55e4a8c 100644
--- a/cogl/driver/gl/cogl-texture-gl.c
+++ b/cogl/driver/gl/cogl-texture-gl.c
@@ -26,8 +26,8 @@
 
 #include <strings.h>
 
-#include "cogl-internal.h"
 #include "cogl-context-private.h"
+#include "cogl-util-gl-private.h"
 #include "cogl-texture-gl-private.h"
 #include "cogl-texture-3d-private.h"
 #include "cogl-util.h"
diff --git a/cogl/driver/gl/cogl-util-gl-private.h b/cogl/driver/gl/cogl-util-gl-private.h
index 332df4f..2abd6cb 100644
--- a/cogl/driver/gl/cogl-util-gl-private.h
+++ b/cogl/driver/gl/cogl-util-gl-private.h
@@ -26,6 +26,42 @@
 #ifndef _COGL_UTIL_GL_PRIVATE_H_
 
 #include "cogl-types.h"
+#include "cogl-context.h"
+#include "cogl-gl-header.h"
+
+#ifdef COGL_GL_DEBUG
+
+const char *
+_cogl_gl_error_to_string (GLenum error_code);
+
+#define GE(ctx, x)                      G_STMT_START {  \
+  GLenum __err;                                         \
+  (ctx)->x;                                             \
+  while ((__err = (ctx)->glGetError ()) != GL_NO_ERROR) \
+    {                                                   \
+      g_warning ("%s: GL error (%d): %s\n",             \
+                 G_STRLOC,                              \
+                 __err,                                 \
+                 _cogl_gl_error_to_string (__err));     \
+    }                                   } G_STMT_END
+
+#define GE_RET(ret, ctx, x)             G_STMT_START {  \
+  GLenum __err;                                         \
+  ret = (ctx)->x;                                       \
+  while ((__err = (ctx)->glGetError ()) != GL_NO_ERROR) \
+    {                                                   \
+      g_warning ("%s: GL error (%d): %s\n",             \
+                 G_STRLOC,                              \
+                 __err,                                 \
+                 _cogl_gl_error_to_string (__err));     \
+    }                                   } G_STMT_END
+
+#else /* !COGL_GL_DEBUG */
+
+#define GE(ctx, x) ((ctx)->x)
+#define GE_RET(ret, ctx, x) (ret = ((ctx)->x))
+
+#endif /* COGL_GL_DEBUG */
 
 CoglBool
 _cogl_gl_util_catch_out_of_memory (CoglContext *ctx, CoglError **error);
diff --git a/cogl/driver/gl/cogl-util-gl.c b/cogl/driver/gl/cogl-util-gl.c
index b0033c1..aadfb54 100644
--- a/cogl/driver/gl/cogl-util-gl.c
+++ b/cogl/driver/gl/cogl-util-gl.c
@@ -30,9 +30,46 @@
 #include "cogl-types.h"
 #include "cogl-context-private.h"
 #include "cogl-error-private.h"
-#include "cogl-internal.h"
 #include "cogl-util-gl-private.h"
 
+#ifdef COGL_GL_DEBUG
+/* GL error to string conversion */
+static const struct {
+  GLuint error_code;
+  const char *error_string;
+} gl_errors[] = {
+  { GL_NO_ERROR,          "No error" },
+  { GL_INVALID_ENUM,      "Invalid enumeration value" },
+  { GL_INVALID_VALUE,     "Invalid value" },
+  { GL_INVALID_OPERATION, "Invalid operation" },
+#ifdef HAVE_COGL_GL
+  { GL_STACK_OVERFLOW,    "Stack overflow" },
+  { GL_STACK_UNDERFLOW,   "Stack underflow" },
+#endif
+  { GL_OUT_OF_MEMORY,     "Out of memory" },
+
+#ifdef GL_INVALID_FRAMEBUFFER_OPERATION_EXT
+  { GL_INVALID_FRAMEBUFFER_OPERATION_EXT, "Invalid framebuffer operation" }
+#endif
+};
+
+static const unsigned int n_gl_errors = G_N_ELEMENTS (gl_errors);
+
+const char *
+_cogl_gl_error_to_string (GLenum error_code)
+{
+  int i;
+
+  for (i = 0; i < n_gl_errors; i++)
+    {
+      if (gl_errors[i].error_code == error_code)
+        return gl_errors[i].error_string;
+    }
+
+  return "Unknown GL error";
+}
+#endif /* COGL_GL_DEBUG */
+
 CoglBool
 _cogl_gl_util_catch_out_of_memory (CoglContext *ctx, CoglError **error)
 {
diff --git a/cogl/driver/gl/gl/cogl-driver-gl.c b/cogl/driver/gl/gl/cogl-driver-gl.c
index c944718..7b66381 100644
--- a/cogl/driver/gl/gl/cogl-driver-gl.c
+++ b/cogl/driver/gl/gl/cogl-driver-gl.c
@@ -28,8 +28,8 @@
 #include <string.h>
 
 #include "cogl-private.h"
-#include "cogl-internal.h"
 #include "cogl-context-private.h"
+#include "cogl-util-gl-private.h"
 #include "cogl-feature-private.h"
 #include "cogl-renderer-private.h"
 #include "cogl-error-private.h"
diff --git a/cogl/driver/gl/gl/cogl-pipeline-fragend-arbfp.c b/cogl/driver/gl/gl/cogl-pipeline-fragend-arbfp.c
index 66e23cd..1325fd9 100644
--- a/cogl/driver/gl/gl/cogl-pipeline-fragend-arbfp.c
+++ b/cogl/driver/gl/gl/cogl-pipeline-fragend-arbfp.c
@@ -31,13 +31,13 @@
 
 #include "cogl-debug.h"
 #include "cogl-context-private.h"
+#include "cogl-util-gl-private.h"
 #include "cogl-pipeline-private.h"
 #include "cogl-pipeline-state-private.h"
 #include "cogl-pipeline-layer-private.h"
 
 #ifdef COGL_PIPELINE_FRAGEND_ARBFP
 
-#include "cogl-internal.h"
 #include "cogl-context-private.h"
 #include "cogl-object-private.h"
 
diff --git a/cogl/driver/gl/gles/cogl-driver-gles.c b/cogl/driver/gl/gles/cogl-driver-gles.c
index 5630c66..9405e52 100644
--- a/cogl/driver/gl/gles/cogl-driver-gles.c
+++ b/cogl/driver/gl/gles/cogl-driver-gles.c
@@ -27,8 +27,8 @@
 
 #include <string.h>
 
-#include "cogl-internal.h"
 #include "cogl-context-private.h"
+#include "cogl-util-gl-private.h"
 #include "cogl-feature-private.h"
 #include "cogl-renderer-private.h"
 #include "cogl-private.h"
diff --git a/cogl/driver/nop/cogl-driver-nop.c b/cogl/driver/nop/cogl-driver-nop.c
index c0e9699..6e53663 100644
--- a/cogl/driver/nop/cogl-driver-nop.c
+++ b/cogl/driver/nop/cogl-driver-nop.c
@@ -28,7 +28,6 @@
 #include <string.h>
 
 #include "cogl-private.h"
-#include "cogl-internal.h"
 #include "cogl-context-private.h"
 #include "cogl-feature-private.h"
 #include "cogl-renderer-private.h"
diff --git a/cogl/winsys/cogl-texture-pixmap-x11.c b/cogl/winsys/cogl-texture-pixmap-x11.c
index 683c243..1dc523b 100644
--- a/cogl/winsys/cogl-texture-pixmap-x11.c
+++ b/cogl/winsys/cogl-texture-pixmap-x11.c
@@ -31,7 +31,6 @@
 #endif
 
 #include "cogl-debug.h"
-#include "cogl-internal.h"
 #include "cogl-util.h"
 #include "cogl-texture-pixmap-x11.h"
 #include "cogl-texture-pixmap-x11-private.h"
diff --git a/doc/reference/cogl2/Makefile.am b/doc/reference/cogl2/Makefile.am
index 4e3d901..e49ce1d 100644
--- a/doc/reference/cogl2/Makefile.am
+++ b/doc/reference/cogl2/Makefile.am
@@ -101,7 +101,6 @@ IGNORE_HFILES=\
 	cogl-clip-stack.h 			\
 	cogl-debug.h 				\
 	cogl-defines.h 				\
-	cogl-internal.h 			\
 	cogl-matrix-mesa.h 			\
 	cogl-matrix-stack.h 			\
 	cogl-spans.h 				\
-- 
1.7.7.6



More information about the Cogl mailing list