diff options
author | Damien Lespiau <damien.lespiau@intel.com> | 2009-06-14 15:30:04 +0100 |
---|---|---|
committer | Damien Lespiau <damien.lespiau@intel.com> | 2009-06-16 22:14:32 +0100 |
commit | 4639cb9cb3983a0e5e1117605211893dbca8d866 (patch) | |
tree | 66b79bcc44177cac80d718c9ec75c39fb40fa349 /clutter-gst/clutter-gst-video-sink.c | |
parent | 487552b95f7ccce00118619d5b4256936621eb5e (diff) | |
download | clutter-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.c | 14 |
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; |