diff options
author | Keith Whitwell <keith@tungstengraphics.com> | 2005-11-01 17:29:46 +0000 |
---|---|---|
committer | Keith Whitwell <keith@tungstengraphics.com> | 2005-11-01 17:29:46 +0000 |
commit | f4fbda35b001aac22342596f4beafd9539f2ebb9 (patch) | |
tree | 113f166779593ea538904c357b8200079146c062 | |
parent | c3626a91cee5034528f3f92c802a8e5947ea5f92 (diff) |
Add a NotifyInputChanges() callback so that drivers (particularly tnl
drivers) can track when the sizes or strides of incoming VB->AttribPtr
arrays have changed.
-rw-r--r-- | src/mesa/tnl/t_context.h | 5 | ||||
-rw-r--r-- | src/mesa/tnl/t_pipeline.c | 4 |
2 files changed, 9 insertions, 0 deletions
diff --git a/src/mesa/tnl/t_context.h b/src/mesa/tnl/t_context.h index f7a29f9e7e..9eaff95b73 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 61bfed290e..2a87f950ce 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; } |