summaryrefslogtreecommitdiff
path: root/clutter/clutter-feature.h
diff options
context:
space:
mode:
authorØyvind Kolås <pippin@openedhand.com>2007-12-03 16:29:18 +0000
committerØyvind Kolås <pippin@openedhand.com>2007-12-03 16:29:18 +0000
commite92b864dff1c40a0ec51f1dfab674bef85b35fbc (patch)
treec65fb6ed7eb1699d5a32f64ae3ca7bd4576e147e /clutter/clutter-feature.h
parentace69e71b3a6bd9b74453d0b3fb890125eab9d1a (diff)
downloadclutter-e92b864dff1c40a0ec51f1dfab674bef85b35fbc.tar.gz
Support for shaders in clutter. At the moment limited to drivers
providing GLSL support. * clutter/cogl/cogl.h: added rather direct binding of needed for glsl shaders. * clutter/cogl/gl/cogl-defines.h.in: * clutter/cogl/gl/cogl.c: * clutter/cogl/gles/cogl-defines.h: added stubs. * clutter/cogl/gles/cogl.c: added stubs. * clutter/glx/clutter-stage-glx.c: (clutter_stage_glx_realize): unrelated memory management sanity fix. (clutter_stage_glx_unrealize): unbind all shaders on stage unrealize. * clutter/Makefile.am: added clutter-shader.[ch] * clutter/clutter-actor.[ch]: adding shader capability to actors. * clutter/clutter-feature.h: added CLUTTER_FEATURE_SHADERS_GLSL * clutter/clutter-private.h: added stack of shaders to context. * clutter/clutter-shader.[ch]: new. * tests/Makefile.am: added shader test. * tests/test-shader.c: (frame_cb), (main): simple shader test, cycle through the inline shader with right/left mouse buttons.
Diffstat (limited to 'clutter/clutter-feature.h')
-rw-r--r--clutter/clutter-feature.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/clutter/clutter-feature.h b/clutter/clutter-feature.h
index 9820e518d..d9d225e38 100644
--- a/clutter/clutter-feature.h
+++ b/clutter/clutter-feature.h
@@ -46,6 +46,7 @@ G_BEGIN_DECLS
* @CLUTTER_FEATURE_STAGE_STATIC: Set if stage size if fixed (i.e framebuffer)
* @CLUTTER_FEATURE_STAGE_USER_RESIZE: Set if stage is able to be user resized.
* @CLUTTER_FEATURE_STAGE_CURSOR: Set if stage has a graphical cursor.
+ * @CLUTTER_FEATURE_SHADER_GLSL: Set if the backend supports GLSL shaders.
*
* Runtime flags indicating specific features available via Clutter window
* sysytem and graphics backend.
@@ -60,7 +61,8 @@ typedef enum
CLUTTER_FEATURE_TEXTURE_READ_PIXELS = (1 << 4),
CLUTTER_FEATURE_STAGE_STATIC = (1 << 5),
CLUTTER_FEATURE_STAGE_USER_RESIZE = (1 << 6),
- CLUTTER_FEATURE_STAGE_CURSOR = (1 << 7)
+ CLUTTER_FEATURE_STAGE_CURSOR = (1 << 7),
+ CLUTTER_FEATURE_SHADERS_GLSL = (1 << 8)
} ClutterFeatureFlags;
gboolean clutter_feature_available (ClutterFeatureFlags feature);