summaryrefslogtreecommitdiff
path: root/src/mesa/tnl/t_context.h
diff options
context:
space:
mode:
authorKeith Whitwell <keith@tungstengraphics.com>2005-06-09 14:55:34 +0000
committerKeith Whitwell <keith@tungstengraphics.com>2005-06-09 14:55:34 +0000
commit81032030ff42dd78133d85f7cabab5fb4c9aaf1e (patch)
treed91f33c2f2c3d0814b43ae0da17a4f120c4e4372 /src/mesa/tnl/t_context.h
parenta8534885efb13ec7f071192c1504513cd90d07de (diff)
Store compiled vertex program representations in a pointer in the
vertex_program struct. Allow switching between regular and vertex_program implementations of fixed function TNL with the MESA_TNL_PROG environment var (previously this required recompilation). Ensure program compilation only references program data, not the wider context. This means that compiled programs only need to be invalidated when the program string changes, not on other state changes.
Diffstat (limited to 'src/mesa/tnl/t_context.h')
-rw-r--r--src/mesa/tnl/t_context.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/mesa/tnl/t_context.h b/src/mesa/tnl/t_context.h
index 4988920cf2..cdaa252e8f 100644
--- a/src/mesa/tnl/t_context.h
+++ b/src/mesa/tnl/t_context.h
@@ -614,6 +614,15 @@ struct tnl_clipspace
};
+
+struct tnl_cache {
+ GLuint hash;
+ void *key;
+ void *data;
+ struct tnl_cache *next;
+};
+
+
struct tnl_device_driver
{
/***
@@ -769,6 +778,8 @@ typedef struct
GLvertexformat exec_vtxfmt;
GLvertexformat save_vtxfmt;
+ struct tnl_cache *vp_cache;
+
} TNLcontext;