mirror of
https://github.com/brl/mutter.git
synced 2024-11-22 16:10:41 -05:00
background: Do not assume GLSL is available
Some hardware does not support it causing crashes in cogl during paint. https://bugzilla.gnome.org/show_bug.cgi?id=733623
This commit is contained in:
parent
6c22759d29
commit
37652ca2cf
@ -498,7 +498,8 @@ set_brightness (MetaBackground *self,
|
|||||||
|
|
||||||
priv->brightness = brightness;
|
priv->brightness = brightness;
|
||||||
|
|
||||||
if (priv->effects & META_BACKGROUND_EFFECTS_VIGNETTE)
|
if (clutter_feature_available (CLUTTER_FEATURE_SHADERS_GLSL) &&
|
||||||
|
priv->effects & META_BACKGROUND_EFFECTS_VIGNETTE)
|
||||||
{
|
{
|
||||||
ensure_pipeline (self);
|
ensure_pipeline (self);
|
||||||
cogl_pipeline_set_uniform_1f (priv->pipeline,
|
cogl_pipeline_set_uniform_1f (priv->pipeline,
|
||||||
@ -506,6 +507,14 @@ set_brightness (MetaBackground *self,
|
|||||||
"brightness"),
|
"brightness"),
|
||||||
priv->brightness);
|
priv->brightness);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ensure_pipeline (self);
|
||||||
|
CoglColor blend_color;
|
||||||
|
cogl_color_init_from_4f (&blend_color, brightness, brightness, brightness, 1.0);
|
||||||
|
cogl_pipeline_set_layer_combine (priv->pipeline, 1, "RGB=MODULATE(PREVIOUS, CONSTANT) A=REPLACE(PREVIOUS)", NULL);
|
||||||
|
cogl_pipeline_set_layer_combine_constant (priv->pipeline, 1, &blend_color);
|
||||||
|
}
|
||||||
|
|
||||||
clutter_content_invalidate (CLUTTER_CONTENT (self));
|
clutter_content_invalidate (CLUTTER_CONTENT (self));
|
||||||
|
|
||||||
@ -523,6 +532,9 @@ set_vignette_sharpness (MetaBackground *self,
|
|||||||
|
|
||||||
priv->vignette_sharpness = sharpness;
|
priv->vignette_sharpness = sharpness;
|
||||||
|
|
||||||
|
if (!clutter_feature_available (CLUTTER_FEATURE_SHADERS_GLSL))
|
||||||
|
return;
|
||||||
|
|
||||||
if (priv->effects & META_BACKGROUND_EFFECTS_VIGNETTE)
|
if (priv->effects & META_BACKGROUND_EFFECTS_VIGNETTE)
|
||||||
{
|
{
|
||||||
ensure_pipeline (self);
|
ensure_pipeline (self);
|
||||||
@ -543,6 +555,9 @@ add_vignette (MetaBackground *self)
|
|||||||
MetaBackgroundPrivate *priv = self->priv;
|
MetaBackgroundPrivate *priv = self->priv;
|
||||||
static CoglSnippet *snippet = NULL;
|
static CoglSnippet *snippet = NULL;
|
||||||
|
|
||||||
|
if (!clutter_feature_available (CLUTTER_FEATURE_SHADERS_GLSL))
|
||||||
|
return;
|
||||||
|
|
||||||
ensure_pipeline (self);
|
ensure_pipeline (self);
|
||||||
|
|
||||||
/* Cogl automatically caches pipelines with no eviction policy,
|
/* Cogl automatically caches pipelines with no eviction policy,
|
||||||
|
Loading…
Reference in New Issue
Block a user