[Cogl] [PATCH] pipeline: tidy up definition of *END defines
Robert Bragg
robert at sixbynine.org
Tue Sep 25 13:18:51 PDT 2012
From: Robert Bragg <robert at linux.intel.com>
There is some fairly awkward #ifdefing to determine which vertends,
fragends and progends are available at build time. This patch
consolidates the #ifdefing of vertend, fragend and progend defines to
make for slightly easier reading.
---
cogl/cogl-pipeline-private.h | 79 ++++++++++++------------------------------
1 files changed, 22 insertions(+), 57 deletions(-)
diff --git a/cogl/cogl-pipeline-private.h b/cogl/cogl-pipeline-private.h
index 2c2d633..3fc4e51 100644
--- a/cogl/cogl-pipeline-private.h
+++ b/cogl/cogl-pipeline-private.h
@@ -45,6 +45,14 @@
#ifdef HAVE_COGL_GL
+#define COGL_PIPELINE_PROGEND_FIXED 0
+#define COGL_PIPELINE_PROGEND_GLSL 1
+#define COGL_PIPELINE_N_PROGENDS 2
+
+#define COGL_PIPELINE_VERTEND_FIXED 0
+#define COGL_PIPELINE_VERTEND_GLSL 1
+#define COGL_PIPELINE_N_VERTENDS 2
+
#define COGL_PIPELINE_FRAGEND_ARBFP 0
#define COGL_PIPELINE_FRAGEND_FIXED 1
#define COGL_PIPELINE_FRAGEND_GLSL 2
@@ -54,18 +62,32 @@
#ifdef HAVE_COGL_GLES2
+#define COGL_PIPELINE_PROGEND_GLSL 0
+#define COGL_PIPELINE_VERTEND_GLSL 0
#define COGL_PIPELINE_FRAGEND_GLSL 0
+
#ifdef HAVE_COGL_GLES
+#define COGL_PIPELINE_PROGEND_FIXED 1
+#define COGL_PIPELINE_VERTEND_FIXED 1
#define COGL_PIPELINE_FRAGEND_FIXED 1
+
+#define COGL_PIPELINE_N_PROGENDS 2
+#define COGL_PIPELINE_N_VERTENDS 2
#define COGL_PIPELINE_N_FRAGENDS 2
#else
+#define COGL_PIPELINE_N_PROGENDS 1
+#define COGL_PIPELINE_N_VERTENDS 1
#define COGL_PIPELINE_N_FRAGENDS 1
#endif
#else /* HAVE_COGL_GLES2 */
#ifdef HAVE_COGL_GLES
+#define COGL_PIPELINE_PROGEND_FIXED 0
+#define COGL_PIPELINE_VERTEND_FIXED 0
#define COGL_PIPELINE_FRAGEND_FIXED 0
+#define COGL_PIPELINE_N_PROGENDS 1
+#define COGL_PIPELINE_N_VERTENDS 1
#define COGL_PIPELINE_N_FRAGENDS 1
#else
#error No drivers defined
@@ -78,66 +100,9 @@
#define COGL_PIPELINE_FRAGEND_DEFAULT 0
#define COGL_PIPELINE_FRAGEND_UNDEFINED 3
-#ifdef HAVE_COGL_GL
-
-#define COGL_PIPELINE_VERTEND_FIXED 0
-#define COGL_PIPELINE_VERTEND_GLSL 1
-#define COGL_PIPELINE_N_VERTENDS 2
-
-#else /* HAVE_COGL_GL */
-
-#ifdef HAVE_COGL_GLES2
-
-#define COGL_PIPELINE_VERTEND_GLSL 0
-#ifdef HAVE_COGL_GLES
-#define COGL_PIPELINE_VERTEND_FIXED 1
-#define COGL_PIPELINE_N_VERTENDS 2
-#else
-#define COGL_PIPELINE_N_VERTENDS 1
-#endif
-
-#else /* HAVE_COGL_GLES2 */
-
-#ifdef HAVE_COGL_GLES
-#define COGL_PIPELINE_VERTEND_FIXED 0
-#define COGL_PIPELINE_N_VERTENDS 1
-#else
-#error No drivers defined
-#endif /* HAVE_COGL_GLES */
-
-#endif /* HAVE_COGL_GLES2 */
-
-#endif /* HAVE_COGL_GL */
-
#define COGL_PIPELINE_VERTEND_DEFAULT 0
#define COGL_PIPELINE_VERTEND_UNDEFINED 3
-/* If we have either of the GLSL backends then we also need a GLSL
- progend to combine the shaders generated into a single
- program. Same goes for the fixed progends which are used to flush
- the matrices */
-#ifdef COGL_PIPELINE_FRAGEND_FIXED
-
-#define COGL_PIPELINE_PROGEND_FIXED 0
-
-#ifdef COGL_PIPELINE_FRAGEND_GLSL
-#define COGL_PIPELINE_PROGEND_GLSL 1
-#define COGL_PIPELINE_N_PROGENDS 2
-#else
-#define COGL_PIPELINE_N_PROGENDS 1
-#endif
-
-#else /* COGL_PIPELINE_FRAGEND_FIXED */
-
-#ifdef COGL_PIPELINE_FRAGEND_GLSL
-#define COGL_PIPELINE_PROGEND_GLSL 0
-#define COGL_PIPELINE_N_PROGENDS 1
-#else
-#define COGL_PIPELINE_N_PROGENDS 0
-#endif
-
-#endif /* COGL_PIPELINE_FRAGEND_FIXED */
-
/* XXX: should I rename these as
* COGL_PIPELINE_STATE_INDEX_XYZ... ?
*/
--
1.7.7.6
More information about the Cogl
mailing list