mirror of
https://github.com/brl/mutter.git
synced 2024-11-29 19:40:43 -05:00
cogl: Set the layer matrix on the right layer instead of a random one
When uploading the layer matrix to GL it wasn't first calling glActiveTextureMatrix to set the right texture unit for the layer. This would end up setting the texture matrix on whatever layer happened to be previously active. This happened to work for test-cogl-multitexture presumably because it was coincidentally setting the layer matrix on the last used layer.
This commit is contained in:
parent
94bcb4429b
commit
b3a0bdf7f6
@ -83,6 +83,8 @@ _cogl_pipeline_vertend_fixed_add_layer (CoglPipeline *pipeline,
|
|||||||
_cogl_matrix_stack_set (unit->matrix_stack,
|
_cogl_matrix_stack_set (unit->matrix_stack,
|
||||||
&authority->big_state->matrix);
|
&authority->big_state->matrix);
|
||||||
|
|
||||||
|
_cogl_set_active_texture_unit (unit_index);
|
||||||
|
|
||||||
_cogl_matrix_stack_flush_to_gl (unit->matrix_stack, COGL_MATRIX_TEXTURE);
|
_cogl_matrix_stack_flush_to_gl (unit->matrix_stack, COGL_MATRIX_TEXTURE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -271,6 +271,8 @@ _cogl_pipeline_vertend_glsl_add_layer (CoglPipeline *pipeline,
|
|||||||
_cogl_matrix_stack_set (unit->matrix_stack,
|
_cogl_matrix_stack_set (unit->matrix_stack,
|
||||||
&authority->big_state->matrix);
|
&authority->big_state->matrix);
|
||||||
|
|
||||||
|
_cogl_set_active_texture_unit (unit_index);
|
||||||
|
|
||||||
_cogl_matrix_stack_flush_to_gl (unit->matrix_stack, COGL_MATRIX_TEXTURE);
|
_cogl_matrix_stack_flush_to_gl (unit->matrix_stack, COGL_MATRIX_TEXTURE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user