[cogl] Remove the public ARBfp feature



commit 02c0d30a3119ae4694e09dc3b5491f8d0308795a
Author: Neil Roberts <neil linux intel com>
Date:   Wed Jan 30 14:17:53 2013 +0000

    Remove the public ARBfp feature
    
    Cogl no longer publicly exposes ARBfps so the feature check is
    useless. This patch converts it to be an internal private feature
    which is used to determine whether we can use the ARBfp fragend.
    
    Reviewed-by: Robert Bragg <robert linux intel com>

 cogl/cogl-context.c                                |    2 +-
 cogl/cogl-context.h                                |    2 --
 cogl/cogl-private.h                                |    3 ++-
 cogl/driver/gl/cogl-pipeline-opengl.c              |    2 +-
 cogl/driver/gl/gl/cogl-driver-gl.c                 |    2 +-
 .../gl/gl/cogl-pipeline-progend-fixed-arbfp.c      |    2 +-
 examples/cogl-info.c                               |    5 -----
 7 files changed, 6 insertions(+), 12 deletions(-)
---
diff --git a/cogl/cogl-context.c b/cogl/cogl-context.c
index ea2b1c0..21f87f4 100644
--- a/cogl/cogl-context.c
+++ b/cogl/cogl-context.c
@@ -85,7 +85,7 @@ _cogl_init_feature_overrides (CoglContext *ctx)
     ctx->private_feature_flags &= ~COGL_PRIVATE_FEATURE_PBOS;
 
   if (G_UNLIKELY (COGL_DEBUG_ENABLED (COGL_DEBUG_DISABLE_ARBFP)))
-    COGL_FLAGS_SET (ctx->features, COGL_FEATURE_ID_ARBFP, FALSE);
+    ctx->private_feature_flags &= ~COGL_PRIVATE_FEATURE_ARBFP;
 
   if (G_UNLIKELY (COGL_DEBUG_ENABLED (COGL_DEBUG_DISABLE_GLSL)))
     COGL_FLAGS_SET (ctx->features, COGL_FEATURE_ID_GLSL, FALSE);
diff --git a/cogl/cogl-context.h b/cogl/cogl-context.h
index 160f5cd..25e1d24 100644
--- a/cogl/cogl-context.h
+++ b/cogl/cogl-context.h
@@ -184,7 +184,6 @@ cogl_is_context (void *object);
  * @COGL_FEATURE_ID_ONSCREEN_MULTIPLE: Multiple onscreen framebuffers
  *    supported.
  * @COGL_FEATURE_ID_GLSL: GLSL support
- * @COGL_FEATURE_ID_ARBFP: ARBFP support
  * @COGL_FEATURE_ID_UNSIGNED_INT_INDICES: Set if
  *     %COGL_INDICES_TYPE_UNSIGNED_INT is supported in
  *     cogl_indices_new().
@@ -220,7 +219,6 @@ typedef enum _CoglFeatureID
   COGL_FEATURE_ID_TEXTURE_RECTANGLE,
   COGL_FEATURE_ID_TEXTURE_3D,
   COGL_FEATURE_ID_GLSL,
-  COGL_FEATURE_ID_ARBFP,
   COGL_FEATURE_ID_OFFSCREEN,
   COGL_FEATURE_ID_OFFSCREEN_MULTISAMPLE,
   COGL_FEATURE_ID_ONSCREEN_MULTIPLE,
diff --git a/cogl/cogl-private.h b/cogl/cogl-private.h
index d1c32e8..08ee775 100644
--- a/cogl/cogl-private.h
+++ b/cogl/cogl-private.h
@@ -56,7 +56,8 @@ typedef enum
   COGL_PRIVATE_FEATURE_QUERY_TEXTURE_PARAMETERS = 1L<<20,
   COGL_PRIVATE_FEATURE_ALPHA_TEXTURES = 1L<<21,
   COGL_PRIVATE_FEATURE_TEXTURE_SWIZZLE = 1L<<22,
-  COGL_PRIVATE_FEATURE_TEXTURE_MAX_LEVEL = 1L<<23
+  COGL_PRIVATE_FEATURE_TEXTURE_MAX_LEVEL = 1L<<23,
+  COGL_PRIVATE_FEATURE_ARBFP = 1L<<24
 } CoglPrivateFeatureFlags;
 
 /* Sometimes when evaluating pipelines, either during comparisons or
diff --git a/cogl/driver/gl/cogl-pipeline-opengl.c b/cogl/driver/gl/cogl-pipeline-opengl.c
index 8fc4a55..0a7b4db 100644
--- a/cogl/driver/gl/cogl-pipeline-opengl.c
+++ b/cogl/driver/gl/cogl-pipeline-opengl.c
@@ -662,7 +662,7 @@ get_max_activateable_texture_units (void)
              uploaded (but doesn't necessarily relate to how many texture
              images can be sampled) */
           if (cogl_has_feature (ctx, COGL_FEATURE_ID_GLSL) ||
-              cogl_has_feature (ctx, COGL_FEATURE_ID_ARBFP))
+              (ctx->private_feature_flags & COGL_PRIVATE_FEATURE_ARBFP))
             /* Previously this code subtracted the value by one but there
                was no explanation for why it did this and it doesn't seem
                to make sense so it has been removed */
diff --git a/cogl/driver/gl/gl/cogl-driver-gl.c b/cogl/driver/gl/gl/cogl-driver-gl.c
index 140a0e7..efe25c1 100644
--- a/cogl/driver/gl/gl/cogl-driver-gl.c
+++ b/cogl/driver/gl/gl/cogl-driver-gl.c
@@ -465,7 +465,7 @@ _cogl_driver_update_features (CoglContext *ctx,
     private_flags |= COGL_PRIVATE_FEATURE_BLEND_CONSTANT;
 
   if (ctx->glGenPrograms)
-    COGL_FLAGS_SET (ctx->features, COGL_FEATURE_ID_ARBFP, TRUE);
+    private_flags |= COGL_PRIVATE_FEATURE_ARBFP;
 
   if (ctx->glCreateProgram)
     COGL_FLAGS_SET (ctx->features, COGL_FEATURE_ID_GLSL, TRUE);
diff --git a/cogl/driver/gl/gl/cogl-pipeline-progend-fixed-arbfp.c b/cogl/driver/gl/gl/cogl-pipeline-progend-fixed-arbfp.c
index 31e715b..3d41f92 100644
--- a/cogl/driver/gl/gl/cogl-pipeline-progend-fixed-arbfp.c
+++ b/cogl/driver/gl/gl/cogl-pipeline-progend-fixed-arbfp.c
@@ -58,7 +58,7 @@ _cogl_pipeline_progend_fixed_arbfp_start (CoglPipeline *pipeline)
   /* Validate that we can handle the fragment state using ARBfp
    */
 
-  if (!cogl_has_feature (ctx, COGL_FEATURE_ID_ARBFP))
+  if (!(ctx->private_feature_flags & COGL_PRIVATE_FEATURE_ARBFP))
     return FALSE;
 
   /* Fragment snippets are only supported in the GLSL fragend */
diff --git a/examples/cogl-info.c b/examples/cogl-info.c
index 3eacdc3..50721b2 100644
--- a/examples/cogl-info.c
+++ b/examples/cogl-info.c
@@ -70,11 +70,6 @@ struct {
     "GLSL support"
   },
   {
-    COGL_FEATURE_ID_ARBFP,
-    "ARBFP support",
-    "ARBFP support"
-  },
-  {
     COGL_FEATURE_ID_UNSIGNED_INT_INDICES,
     "Unsigned integer indices",
     "COGL_RENDERER_INDICES_TYPE_UNSIGNED_INT is supported in cogl_indices_new()."



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]