summaryrefslogtreecommitdiff
path: root/clutter-gst/clutter-gst-video-sink.c
diff options
context:
space:
mode:
authorDamien Lespiau <damien.lespiau@intel.com>2009-06-14 15:30:04 +0100
committerDamien Lespiau <damien.lespiau@intel.com>2009-06-16 22:14:32 +0100
commit4639cb9cb3983a0e5e1117605211893dbca8d866 (patch)
tree66b79bcc44177cac80d718c9ec75c39fb40fa349 /clutter-gst/clutter-gst-video-sink.c
parent487552b95f7ccce00118619d5b4256936621eb5e (diff)
downloadclutter-gst-4639cb9cb3983a0e5e1117605211893dbca8d866.tar.gz
Use CGL_MAX_COMBINED_TEXTURE_IMAGE_UNITS
Query the number of texture units one can use in a shader using COGL.
Diffstat (limited to 'clutter-gst/clutter-gst-video-sink.c')
-rw-r--r--clutter-gst/clutter-gst-video-sink.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/clutter-gst/clutter-gst-video-sink.c b/clutter-gst/clutter-gst-video-sink.c
index d6eb6a3..516a42c 100644
--- a/clutter-gst/clutter-gst-video-sink.c
+++ b/clutter-gst/clutter-gst-video-sink.c
@@ -236,6 +236,7 @@ _string_array_to_char_array (char *dst,
*dst = '\0';
}
+#ifdef CLUTTER_COGL_HAS_GL
static void
clutter_gst_video_sink_fp_paint (ClutterActor *actor,
ClutterGstVideoSink *sink)
@@ -274,6 +275,7 @@ clutter_gst_video_sink_set_fp_shader (ClutterGstVideoSink *sink,
priv->shaders_init = TRUE;
}
+#endif
static void
clutter_gst_video_sink_paint (ClutterActor *actor,
@@ -532,6 +534,7 @@ static ClutterGstRenderer yv12_glsl_renderer =
* 8 bit Y plane followed by 8 bit 2x2 subsampled V and U planes.
*/
+#ifdef CLUTTER_COGL_HAS_GL
static void
clutter_gst_yv12_fp_init (ClutterActor *actor,
ClutterGstVideoSink *sink)
@@ -573,6 +576,7 @@ static ClutterGstRenderer yv12_fp_renderer =
clutter_gst_yv12_paint,
clutter_gst_yv12_fp_post_paint,
};
+#endif
/*
* I420
@@ -620,6 +624,7 @@ static ClutterGstRenderer i420_glsl_renderer =
* Basically the same as YV12, but with the 2 chroma planes switched.
*/
+#ifdef CLUTTER_COGL_HAS_GL
static void
clutter_gst_i420_fp_init (ClutterActor *actor,
ClutterGstVideoSink *sink)
@@ -646,6 +651,7 @@ static ClutterGstRenderer i420_fp_renderer =
clutter_gst_yv12_paint,
clutter_gst_yv12_fp_post_paint,
};
+#endif
/*
* AYUV
@@ -707,9 +713,11 @@ clutter_gst_build_renderers_list (ClutterGstSymbols *syms)
&rgb24_renderer,
&rgb32_renderer,
&yv12_glsl_renderer,
- &yv12_fp_renderer,
&i420_glsl_renderer,
+#ifdef CLUTTER_COGL_HAS_GL
+ &yv12_fp_renderer,
&i420_fp_renderer,
+#endif
&ayuv_glsl_renderer,
NULL
};
@@ -717,11 +725,12 @@ clutter_gst_build_renderers_list (ClutterGstSymbols *syms)
/* get the features */
gl_extensions = (const gchar*) glGetString (GL_EXTENSIONS);
- glGetIntegerv (GL_MAX_TEXTURE_UNITS, &nb_texture_units);
+ glGetIntegerv (CGL_MAX_COMBINED_TEXTURE_IMAGE_UNITS, &nb_texture_units);
if (nb_texture_units >= 3)
features |= CLUTTER_GST_MULTI_TEXTURE;
+#ifdef CLUTTER_COGL_HAS_GL
if (cogl_check_extension ("GL_ARB_fragment_program", gl_extensions))
{
/* the shaders we'll feed to the GPU are simple enough, we don't need
@@ -741,6 +750,7 @@ clutter_gst_build_renderers_list (ClutterGstSymbols *syms)
features |= CLUTTER_GST_FP;
}
}
+#endif
if (cogl_features_available (COGL_FEATURE_SHADERS_GLSL))
features |= CLUTTER_GST_GLSL;