summaryrefslogtreecommitdiff
path: root/clutter/clutter-feature.c
diff options
context:
space:
mode:
authorNeil Roberts <neil@openedhand.com>2008-04-25 13:37:36 +0000
committerNeil Roberts <neil@openedhand.com>2008-04-25 13:37:36 +0000
commit6409b1adeb10a3f6ec70fbf96035284b4430541d (patch)
tree7200eb310be6df7cae620320e1de319c45673e8c /clutter/clutter-feature.c
parent7c3cf35eec1abdd5c6734f5c2e9932e3e3d8d16d (diff)
downloadclutter-6409b1adeb10a3f6ec70fbf96035284b4430541d.tar.gz
Merged clutter-ivan branch into trunk.
svn merge \ https://svn.o-hand.com/repos/clutter/trunk/clutter@2509 \ https://svn.o-hand.com/repos/clutter/branches/clutter-ivan@HEAD
Diffstat (limited to 'clutter/clutter-feature.c')
-rw-r--r--clutter/clutter-feature.c32
1 files changed, 29 insertions, 3 deletions
diff --git a/clutter/clutter-feature.c b/clutter/clutter-feature.c
index a3a2883b5..10edfe994 100644
--- a/clutter/clutter-feature.c
+++ b/clutter/clutter-feature.c
@@ -43,7 +43,7 @@
#include "clutter-private.h"
#include "clutter-debug.h"
-#include "cogl.h"
+#include "cogl/cogl.h"
typedef struct ClutterFeatures
{
@@ -53,6 +53,32 @@ typedef struct ClutterFeatures
static ClutterFeatures* __features = NULL;
+ClutterFeatureFlags
+_clutter_features_from_cogl (guint cogl_flags)
+{
+ ClutterFeatureFlags clutter_flags = 0;
+
+ if (cogl_flags & COGL_FEATURE_TEXTURE_RECTANGLE)
+ clutter_flags |= CLUTTER_FEATURE_TEXTURE_RECTANGLE;
+
+ if (cogl_flags & COGL_FEATURE_TEXTURE_NPOT)
+ clutter_flags |= CLUTTER_FEATURE_TEXTURE_NPOT;
+
+ if (cogl_flags & COGL_FEATURE_TEXTURE_YUV)
+ clutter_flags |= CLUTTER_FEATURE_TEXTURE_YUV;
+
+ if (cogl_flags & COGL_FEATURE_TEXTURE_READ_PIXELS)
+ clutter_flags |= CLUTTER_FEATURE_TEXTURE_READ_PIXELS;
+
+ if (cogl_flags & COGL_FEATURE_SHADERS_GLSL)
+ clutter_flags |= CLUTTER_FEATURE_SHADERS_GLSL;
+
+ if (cogl_flags & COGL_FEATURE_OFFSCREEN)
+ clutter_flags |= CLUTTER_FEATURE_OFFSCREEN;
+
+ return clutter_flags;
+}
+
void
_clutter_feature_init (void)
{
@@ -72,8 +98,8 @@ _clutter_feature_init (void)
context = clutter_context_get_default ();
- __features->flags = cogl_get_features()
- |_clutter_backend_get_features (context->backend);
+ __features->flags = (_clutter_features_from_cogl (cogl_get_features ())
+ | _clutter_backend_get_features (context->backend));
__features->features_set = TRUE;