summaryrefslogtreecommitdiffstats
path: root/src/mesa/tnl
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/tnl')
-rw-r--r--src/mesa/tnl/t_context.h5
-rw-r--r--src/mesa/tnl/t_pipeline.c4
2 files changed, 9 insertions, 0 deletions
diff --git a/src/mesa/tnl/t_context.h b/src/mesa/tnl/t_context.h
index f7a29f9e7e8..9eaff95b73d 100644
--- a/src/mesa/tnl/t_context.h
+++ b/src/mesa/tnl/t_context.h
@@ -643,6 +643,11 @@ struct tnl_device_driver
/* Alert tnl-aware drivers of changes to material.
*/
+ void (*NotifyInputChanges)(GLcontext *ctx, GLuint bitmask);
+ /* Alert tnl-aware drivers of changes to size and stride of input
+ * arrays.
+ */
+
GLboolean (*NotifyBegin)(GLcontext *ctx, GLenum p);
/* Allow drivers to hook in optimized begin/end engines.
* Return value: GL_TRUE - driver handled the begin
diff --git a/src/mesa/tnl/t_pipeline.c b/src/mesa/tnl/t_pipeline.c
index 61bfed290e9..2a87f950ce2 100644
--- a/src/mesa/tnl/t_pipeline.c
+++ b/src/mesa/tnl/t_pipeline.c
@@ -90,6 +90,10 @@ static GLuint check_input_changes( GLcontext *ctx )
}
}
+ if (tnl->pipeline.input_changes &&
+ tnl->Driver.NotifyInputChanges)
+ tnl->Driver.NotifyInputChanges( ctx, tnl->pipeline.input_changes );
+
return tnl->pipeline.input_changes;
}