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 1564418b3f
commit 17a98875d3
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; CoglPipelineBackendARBfpPrivate *priv;
static const unsigned long not_fragment_op_changes = static const unsigned long not_fragment_op_changes =
COGL_PIPELINE_LAYER_STATE_COMBINE_CONSTANT | 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); priv = get_arbfp_priv (owner);
if (!priv) if (!priv)

View File

@ -1204,7 +1204,10 @@ _cogl_pipeline_backend_glsl_layer_pre_change_notify (
CoglPipelineBackendGlslPrivate *priv; CoglPipelineBackendGlslPrivate *priv;
static const unsigned long not_fragment_op_changes = static const unsigned long not_fragment_op_changes =
COGL_PIPELINE_LAYER_STATE_COMBINE_CONSTANT | 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); priv = get_glsl_priv (owner);
if (!priv) if (!priv)