From f05a1a62f408f458a530aade107b66c6cb06ddd0 Mon Sep 17 00:00:00 2001 From: Robert Bragg Date: Fri, 21 Sep 2012 17:00:09 +0100 Subject: [PATCH] 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 (cherry picked from commit 098d6244bf7c8f2a4ca24206c6e8271d589ed4c9) --- cogl/cogl-pipeline-private.h | 79 ++++++++++-------------------------- 1 file changed, 22 insertions(+), 57 deletions(-) diff --git a/cogl/cogl-pipeline-private.h b/cogl/cogl-pipeline-private.h index d0c611657..31a84c0ae 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... ? */