[Cogl] [PATCH 1/2] Fixes for building with --disable-gl

Neil Roberts neil at linux.intel.com
Tue May 8 10:33:23 PDT 2012


This fixes a few problems that occur when only using a GLES2 header.

• The use of GL_CLAMP_TO_BORDER and GL_MIRRORED_REPEAT were moved from
  cogl-pipelinelayer-state.h to cogl-sampler-cache-private.h but the
  corresponding defines were not.

• cogl-sampler-cache.c was using GL_TEXTURE_WRAP_R but this is only
  defined as GL_TEXTURE_WRAP_R_OES from the GLES2 header so it needs a
  #define.

• cogl-framebuffer-private.h uses GLuint but it does not include
  cogl-gl-header.h. It gets away with this when GLX support is enabled
  because the GL header would be included via glx.h.
---
 cogl/cogl-framebuffer-private.h    |    1 +
 cogl/cogl-pipeline-layer-private.h |    8 --------
 cogl/cogl-sampler-cache-private.h  |    8 ++++++++
 cogl/cogl-sampler-cache.c          |    4 ++++
 4 files changed, 13 insertions(+), 8 deletions(-)

diff --git a/cogl/cogl-framebuffer-private.h b/cogl/cogl-framebuffer-private.h
index 856f909..4c95f73 100644
--- a/cogl/cogl-framebuffer-private.h
+++ b/cogl/cogl-framebuffer-private.h
@@ -31,6 +31,7 @@
 #include "cogl-winsys-private.h"
 #include "cogl-attribute-private.h"
 #include "cogl-offscreen.h"
+#include "cogl-gl-header.h"
 
 #ifdef COGL_HAS_XLIB_SUPPORT
 #include <X11/Xlib.h>
diff --git a/cogl/cogl-pipeline-layer-private.h b/cogl/cogl-pipeline-layer-private.h
index b672473..84ccd9d 100644
--- a/cogl/cogl-pipeline-layer-private.h
+++ b/cogl/cogl-pipeline-layer-private.h
@@ -39,14 +39,6 @@
 
 #include <glib.h>
 
-/* This isn't defined in the GLES headers */
-#ifndef GL_CLAMP_TO_BORDER
-#define GL_CLAMP_TO_BORDER 0x812d
-#endif
-#ifndef GL_MIRRORED_REPEAT
-#define GL_MIRRORED_REPEAT 0x8370
-#endif
-
 typedef struct _CoglPipelineLayer     CoglPipelineLayer;
 #define COGL_PIPELINE_LAYER(OBJECT) ((CoglPipelineLayer *)OBJECT)
 
diff --git a/cogl/cogl-sampler-cache-private.h b/cogl/cogl-sampler-cache-private.h
index 4eb7503..0149751 100644
--- a/cogl/cogl-sampler-cache-private.h
+++ b/cogl/cogl-sampler-cache-private.h
@@ -28,6 +28,14 @@
 #include "cogl-context.h"
 #include "cogl-gl-header.h"
 
+/* These aren't defined in the GLES headers */
+#ifndef GL_CLAMP_TO_BORDER
+#define GL_CLAMP_TO_BORDER 0x812d
+#endif
+#ifndef GL_MIRRORED_REPEAT
+#define GL_MIRRORED_REPEAT 0x8370
+#endif
+
 /* GL_ALWAYS is just used here as a value that is known not to clash
  * with any valid GL wrap modes.
  *
diff --git a/cogl/cogl-sampler-cache.c b/cogl/cogl-sampler-cache.c
index b7bb4da..f91983c 100644
--- a/cogl/cogl-sampler-cache.c
+++ b/cogl/cogl-sampler-cache.c
@@ -31,6 +31,10 @@
 #include "cogl-sampler-cache-private.h"
 #include "cogl-context-private.h"
 
+#ifndef GL_TEXTURE_WRAP_R
+#define GL_TEXTURE_WRAP_R 0x8072
+#endif
+
 struct _CoglSamplerCache
 {
   CoglContext *context;
-- 
1.7.3.16.g9464b



More information about the Cogl mailing list