mirror of
https://github.com/brl/mutter.git
synced 2024-11-26 10:00:45 -05:00
Remove last uses of cogl_program_uniform*
Following the commits:c03544da
- clutter-shader: use cogl_program_set_uniform_xyz APIa26119b5
- tests: Remove use of cogl_program_use Remove the users of cogl_program_uniform_* and cogl_program_use() in the shader-based effects.
This commit is contained in:
parent
e016a62ab0
commit
daf6e73936
@ -221,18 +221,18 @@ clutter_blur_effect_paint_target (ClutterOffscreenEffect *effect)
|
||||
if (self->program == COGL_INVALID_HANDLE)
|
||||
goto out;
|
||||
|
||||
cogl_program_use (self->program);
|
||||
|
||||
if (self->tex_uniform > -1)
|
||||
cogl_program_uniform_1i (self->tex_uniform, 0);
|
||||
cogl_program_set_uniform_1i (self->program, self->tex_uniform, 0);
|
||||
|
||||
if (self->x_step_uniform > -1)
|
||||
cogl_program_uniform_1f (self->x_step_uniform, self->x_step);
|
||||
cogl_program_set_uniform_1f (self->program,
|
||||
self->x_step_uniform,
|
||||
self->x_step);
|
||||
|
||||
if (self->y_step_uniform > -1)
|
||||
cogl_program_uniform_1f (self->y_step_uniform, self->y_step);
|
||||
|
||||
cogl_program_use (COGL_INVALID_HANDLE);
|
||||
cogl_program_set_uniform_1f (self->program,
|
||||
self->y_step_uniform,
|
||||
self->y_step);
|
||||
|
||||
material = clutter_offscreen_effect_get_target (effect);
|
||||
cogl_material_set_user_program (material, self->program);
|
||||
|
@ -200,10 +200,8 @@ clutter_colorize_effect_paint_target (ClutterOffscreenEffect *effect)
|
||||
if (self->program == COGL_INVALID_HANDLE)
|
||||
goto out;
|
||||
|
||||
cogl_program_use (self->program);
|
||||
|
||||
if (self->tex_uniform > -1)
|
||||
cogl_program_uniform_1i (self->tex_uniform, 0);
|
||||
cogl_program_set_uniform_1i (self->program, self->tex_uniform, 0);
|
||||
|
||||
if (self->tint_uniform > -1)
|
||||
{
|
||||
@ -213,11 +211,11 @@ clutter_colorize_effect_paint_target (ClutterOffscreenEffect *effect)
|
||||
self->tint.blue / 255.0
|
||||
};
|
||||
|
||||
cogl_program_uniform_float (self->tint_uniform, 3, 1, tint);
|
||||
cogl_program_set_uniform_float (self->program, self->tint_uniform,
|
||||
3, 1,
|
||||
tint);
|
||||
}
|
||||
|
||||
cogl_program_use (COGL_INVALID_HANDLE);
|
||||
|
||||
material = clutter_offscreen_effect_get_target (effect);
|
||||
cogl_material_set_user_program (material, self->program);
|
||||
|
||||
|
@ -209,15 +209,13 @@ clutter_desaturate_effect_paint_target (ClutterOffscreenEffect *effect)
|
||||
if (self->program == COGL_INVALID_HANDLE)
|
||||
goto out;
|
||||
|
||||
cogl_program_use (self->program);
|
||||
|
||||
if (self->tex_uniform > -1)
|
||||
cogl_program_uniform_1i (self->tex_uniform, 0);
|
||||
cogl_program_set_uniform_1i (self->program, self->tex_uniform, 0);
|
||||
|
||||
if (self->factor_uniform > -1)
|
||||
cogl_program_uniform_1f (self->factor_uniform, self->factor);
|
||||
|
||||
cogl_program_use (COGL_INVALID_HANDLE);
|
||||
cogl_program_set_uniform_1f (self->program,
|
||||
self->factor_uniform,
|
||||
self->factor);
|
||||
|
||||
material = clutter_offscreen_effect_get_target (effect);
|
||||
cogl_material_set_user_program (material, self->program);
|
||||
|
@ -211,13 +211,11 @@ clutter_shader_effect_update_uniforms (ClutterShaderEffect *effect)
|
||||
gpointer key, value;
|
||||
gsize size;
|
||||
|
||||
if (priv->uniforms == NULL)
|
||||
if (priv->program == COGL_INVALID_HANDLE)
|
||||
return;
|
||||
|
||||
/* XXX - we need to do this dance here because the cogl_program_uniform*
|
||||
* family of functions do not take the program as a parameter
|
||||
*/
|
||||
cogl_program_use (priv->program);
|
||||
if (priv->uniforms == NULL)
|
||||
return;
|
||||
|
||||
key = value = NULL;
|
||||
g_hash_table_iter_init (&iter, priv->uniforms);
|
||||
@ -234,41 +232,50 @@ clutter_shader_effect_update_uniforms (ClutterShaderEffect *effect)
|
||||
const GLfloat *floats;
|
||||
|
||||
floats = clutter_value_get_shader_float (&uniform->value, &size);
|
||||
cogl_program_uniform_float (uniform->location, size, 1, floats);
|
||||
cogl_program_set_uniform_float (priv->program, uniform->location,
|
||||
size, 1,
|
||||
floats);
|
||||
}
|
||||
else if (CLUTTER_VALUE_HOLDS_SHADER_INT (&uniform->value))
|
||||
{
|
||||
const GLint *ints;
|
||||
|
||||
ints = clutter_value_get_shader_int (&uniform->value, &size);
|
||||
cogl_program_uniform_int (uniform->location, size, 1, ints);
|
||||
cogl_program_set_uniform_int (priv->program, uniform->location,
|
||||
size, 1,
|
||||
ints);
|
||||
}
|
||||
else if (CLUTTER_VALUE_HOLDS_SHADER_MATRIX (&uniform->value))
|
||||
{
|
||||
const GLfloat *matrix;
|
||||
|
||||
matrix = clutter_value_get_shader_matrix (&uniform->value, &size);
|
||||
cogl_program_uniform_matrix (uniform->location, size, 1, FALSE, matrix);
|
||||
cogl_program_set_uniform_matrix (priv->program, uniform->location,
|
||||
size, 1,
|
||||
FALSE,
|
||||
matrix);
|
||||
}
|
||||
else if (G_VALUE_HOLDS_FLOAT (&uniform->value))
|
||||
{
|
||||
const GLfloat float_val = g_value_get_float (&uniform->value);
|
||||
|
||||
cogl_program_uniform_float (uniform->location, 1, 1, &float_val);
|
||||
cogl_program_set_uniform_float (priv->program, uniform->location,
|
||||
1, 1,
|
||||
&float_val);
|
||||
}
|
||||
else if (G_VALUE_HOLDS_INT (&uniform->value))
|
||||
{
|
||||
const GLint int_val = g_value_get_int (&uniform->value);
|
||||
|
||||
cogl_program_uniform_int (uniform->location, 1, 1, &int_val);
|
||||
cogl_program_set_uniform_int (priv->program, uniform->location,
|
||||
1, 1,
|
||||
&int_val);
|
||||
}
|
||||
else
|
||||
g_warning ("Invalid uniform of type '%s' for name '%s'",
|
||||
g_type_name (G_VALUE_TYPE (&uniform->value)),
|
||||
uniform->name);
|
||||
}
|
||||
|
||||
cogl_program_use (COGL_INVALID_HANDLE);
|
||||
}
|
||||
|
||||
static void
|
||||
|
Loading…
Reference in New Issue
Block a user