cogl-pipeline: Add more ignored state changes for program generation

For shader generation backends we don't need to worry about changes to
the texture object and changing the user matrix. The missing user
matrix flag was causing test-cogl-multitexture to regenerate the
shader every frame.
This commit is contained in:
Neil Roberts 2010-11-30 22:15:40 +00:00
parent e905087e70
commit 7d840de18f
2 changed files with 8 additions and 2 deletions

View File

@ -946,7 +946,10 @@ _cogl_pipeline_backend_arbfp_layer_pre_change_notify (
CoglPipelineBackendARBfpPrivate *priv;
static const unsigned long not_fragment_op_changes =
COGL_PIPELINE_LAYER_STATE_COMBINE_CONSTANT |
COGL_PIPELINE_LAYER_STATE_TEXTURE;
COGL_PIPELINE_LAYER_STATE_TEXTURE |
COGL_PIPELINE_LAYER_STATE_FILTERS |
COGL_PIPELINE_LAYER_STATE_WRAP_MODES |
COGL_PIPELINE_LAYER_STATE_USER_MATRIX;
priv = get_arbfp_priv (owner);
if (!priv)

View File

@ -1204,7 +1204,10 @@ _cogl_pipeline_backend_glsl_layer_pre_change_notify (
CoglPipelineBackendGlslPrivate *priv;
static const unsigned long not_fragment_op_changes =
COGL_PIPELINE_LAYER_STATE_COMBINE_CONSTANT |
COGL_PIPELINE_LAYER_STATE_TEXTURE;
COGL_PIPELINE_LAYER_STATE_TEXTURE |
COGL_PIPELINE_LAYER_STATE_FILTERS |
COGL_PIPELINE_LAYER_STATE_WRAP_MODES |
COGL_PIPELINE_LAYER_STATE_USER_MATRIX;
priv = get_glsl_priv (owner);
if (!priv)