summaryrefslogtreecommitdiff
path: root/src/mesa/slang/slang_vartable.h
diff options
context:
space:
mode:
authorBrian Paul <brianp@vmware.com>2010-06-23 22:30:26 -0600
committerBrian Paul <brianp@vmware.com>2010-06-23 22:30:26 -0600
commitca12aefdacd22fb42e3f1d3852db4c12de886554 (patch)
treeb7462a02c678d3d755896c22a0f7f8387cb148c0 /src/mesa/slang/slang_vartable.h
parentf2122d47248e59a0f23c15d7f647d7e2072c8d79 (diff)
parentec2b92f98c2e7f161521b447cc1d9a36bce3707c (diff)
Merge branch 'shader-file-reorg'
1. Move all GL entrypoint functions and files into src/mesa/main/ This includes the ARB vp/vp, NV vp/fp, ATI fragshader and GLSL bits that were in src/mesa/shader/ 2. Move src/mesa/shader/slang/ to src/mesa/slang/ to reduce the tree depth 3. Rename src/mesa/shader/ to src/mesa/program/ since all the remaining files are concerned with GPU programs. 4. Misc code refactoring. In particular, I got rid of most of the GLSL-related ctx->Driver hook functions. None of the drivers used them. Conflicts: src/mesa/drivers/dri/i965/brw_context.c
Diffstat (limited to 'src/mesa/slang/slang_vartable.h')
-rw-r--r--src/mesa/slang/slang_vartable.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/mesa/slang/slang_vartable.h b/src/mesa/slang/slang_vartable.h
new file mode 100644
index 0000000000..94bcd63f45
--- /dev/null
+++ b/src/mesa/slang/slang_vartable.h
@@ -0,0 +1,42 @@
+
+#ifndef SLANG_VARTABLE_H
+#define SLANG_VARTABLE_H
+
+struct slang_ir_storage_;
+
+typedef struct slang_var_table_ slang_var_table;
+
+struct slang_variable_;
+
+extern slang_var_table *
+_slang_new_var_table(GLuint maxRegisters);
+
+extern void
+_slang_delete_var_table(slang_var_table *vt);
+
+extern void
+_slang_push_var_table(slang_var_table *parent);
+
+extern void
+_slang_pop_var_table(slang_var_table *t);
+
+extern void
+_slang_add_variable(slang_var_table *t, struct slang_variable_ *v);
+
+extern struct slang_variable_ *
+_slang_find_variable(const slang_var_table *t, slang_atom name);
+
+extern GLboolean
+_slang_alloc_var(slang_var_table *t, struct slang_ir_storage_ *store);
+
+extern GLboolean
+_slang_alloc_temp(slang_var_table *t, struct slang_ir_storage_ *store);
+
+extern void
+_slang_free_temp(slang_var_table *t, struct slang_ir_storage_ *store);
+
+extern GLboolean
+_slang_is_temp(const slang_var_table *t, const struct slang_ir_storage_ *store);
+
+
+#endif /* SLANG_VARTABLE_H */