diff --git a/cogl/cogl-debug-options.h b/cogl/cogl-debug-options.h index e2fdbdb19..f1536020f 100644 --- a/cogl/cogl-debug-options.h +++ b/cogl/cogl-debug-options.h @@ -122,6 +122,11 @@ OPT (DISABLE_ARBFP, "disable-arbfp", "Disable arbfp", "Disable use of ARB fragment programs") +OPT (DISABLE_FIXED, + "Root Cause", + "disable-fixed", + "Disable fixed", + "Disable use of the fixed function pipeline backend") OPT (DISABLE_GLSL, "Root Cause", "disable-glsl", diff --git a/cogl/cogl-debug.c b/cogl/cogl-debug.c index fe7ba5fe4..34351d9e9 100644 --- a/cogl/cogl-debug.c +++ b/cogl/cogl-debug.c @@ -68,6 +68,7 @@ static const GDebugKey cogl_behavioural_debug_keys[] = { { "disable-atlas", COGL_DEBUG_DISABLE_ATLAS }, { "disable-texturing", COGL_DEBUG_DISABLE_TEXTURING}, { "disable-arbfp", COGL_DEBUG_DISABLE_ARBFP}, + { "disable-fixed", COGL_DEBUG_DISABLE_FIXED}, { "disable-glsl", COGL_DEBUG_DISABLE_GLSL}, { "disable-blending", COGL_DEBUG_DISABLE_BLENDING}, { "disable-npot-textures", COGL_DEBUG_DISABLE_NPOT_TEXTURES}, diff --git a/cogl/cogl-debug.h b/cogl/cogl-debug.h index 459ec743c..6c9aee58f 100644 --- a/cogl/cogl-debug.h +++ b/cogl/cogl-debug.h @@ -51,13 +51,14 @@ typedef enum { COGL_DEBUG_OPENGL = 1 << 18, COGL_DEBUG_DISABLE_TEXTURING = 1 << 19, COGL_DEBUG_DISABLE_ARBFP = 1 << 20, - COGL_DEBUG_DISABLE_GLSL = 1 << 21, - COGL_DEBUG_SHOW_SOURCE = 1 << 22, - COGL_DEBUG_DISABLE_BLENDING = 1 << 23, - COGL_DEBUG_TEXTURE_PIXMAP = 1 << 24, - COGL_DEBUG_BITMAP = 1 << 25, - COGL_DEBUG_DISABLE_NPOT_TEXTURES = 1 << 26, - COGL_DEBUG_WIREFRAME = 1 << 27 + COGL_DEBUG_DISABLE_FIXED = 1 << 21, + COGL_DEBUG_DISABLE_GLSL = 1 << 22, + COGL_DEBUG_SHOW_SOURCE = 1 << 23, + COGL_DEBUG_DISABLE_BLENDING = 1 << 24, + COGL_DEBUG_TEXTURE_PIXMAP = 1 << 25, + COGL_DEBUG_BITMAP = 1 << 26, + COGL_DEBUG_DISABLE_NPOT_TEXTURES = 1 << 27, + COGL_DEBUG_WIREFRAME = 1 << 28 } CoglDebugFlags; #ifdef COGL_ENABLE_DEBUG diff --git a/cogl/cogl-pipeline-fixed.c b/cogl/cogl-pipeline-fixed.c index 38931103e..80e77ef76 100644 --- a/cogl/cogl-pipeline-fixed.c +++ b/cogl/cogl-pipeline-fixed.c @@ -74,6 +74,9 @@ _cogl_pipeline_backend_fixed_start (CoglPipeline *pipeline, { CoglHandle user_program; + if (G_UNLIKELY (cogl_debug_flags & COGL_DEBUG_DISABLE_FIXED)) + return FALSE; + user_program = cogl_pipeline_get_user_program (pipeline); if (user_program != COGL_INVALID_HANDLE) return FALSE;