summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Bragg <robert@linux.intel.com>2012-09-21 17:00:09 +0100
committerRobert Bragg <robert@linux.intel.com>2012-09-26 13:31:44 +0100
commit098d6244bf7c8f2a4ca24206c6e8271d589ed4c9 (patch)
treee00c58859266948bf3ec43dff7b9bdfa613299a1
parent1bcf34bd3eb0134b7ef1b30cba91d3e70a23e5ed (diff)
downloadcogl-098d6244bf7c8f2a4ca24206c6e8271d589ed4c9.tar.gz
pipeline: tidy up definition of *END defines
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. Reviewed-by: Neil Roberts <neil@linux.intel.com>
-rw-r--r--cogl/cogl-pipeline-private.h79
1 files changed, 22 insertions, 57 deletions
diff --git a/cogl/cogl-pipeline-private.h b/cogl/cogl-pipeline-private.h
index 2c2d6332..3fc4e51b 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... ?
*/