mirror of
https://github.com/brl/mutter.git
synced 2024-12-24 20:12:06 +00:00
clutter-shader: use cogl_program_set_uniform_xyz API
Instead of using the deprecated cogl_program_uniform_xyz functions we now use the cogl_program_set_uniform methods. It looks like this should also fix a problem with clutter-shader too in that previously we weren't calling cogl_program_use before cogl_program_uniform_xyz so setting uniforms would only work while the shader is enabled.
This commit is contained in:
parent
f03037d580
commit
c03544daa6
@ -739,33 +739,38 @@ clutter_shader_set_uniform (ClutterShader *shader,
|
||||
const GLfloat *floats;
|
||||
|
||||
floats = clutter_value_get_shader_float (value, &size);
|
||||
cogl_program_uniform_float (location, size, 1, floats);
|
||||
cogl_program_set_uniform_float (priv->program,
|
||||
location, size, 1, floats);
|
||||
}
|
||||
else if (CLUTTER_VALUE_HOLDS_SHADER_INT (value))
|
||||
{
|
||||
const int *ints;
|
||||
|
||||
ints = clutter_value_get_shader_int (value, &size);
|
||||
cogl_program_uniform_int (location, size, 1, ints);
|
||||
cogl_program_set_uniform_int (priv->program,
|
||||
location, size, 1, ints);
|
||||
}
|
||||
else if (CLUTTER_VALUE_HOLDS_SHADER_MATRIX (value))
|
||||
{
|
||||
const GLfloat *matrix;
|
||||
|
||||
matrix = clutter_value_get_shader_matrix (value, &size);
|
||||
cogl_program_uniform_matrix (location, size, 1, FALSE, matrix);
|
||||
cogl_program_set_uniform_matrix (priv->program,
|
||||
location, size, 1, FALSE, matrix);
|
||||
}
|
||||
else if (G_VALUE_HOLDS_FLOAT (value))
|
||||
{
|
||||
GLfloat float_val = g_value_get_float (value);
|
||||
|
||||
cogl_program_uniform_float (location, 1, 1, &float_val);
|
||||
cogl_program_set_uniform_float (priv->program,
|
||||
location, 1, 1, &float_val);
|
||||
}
|
||||
else if (G_VALUE_HOLDS_INT (value))
|
||||
{
|
||||
int int_val = g_value_get_int (value);
|
||||
|
||||
cogl_program_uniform_int (location, 1, 1, &int_val);
|
||||
cogl_program_set_uniform_int (priv->program,
|
||||
location, 1, 1, &int_val);
|
||||
}
|
||||
else
|
||||
g_assert_not_reached ();
|
||||
|
Loading…
Reference in New Issue
Block a user