Rework code related to temp register allocation, both for user variables
[mesa.git] / src / mesa / shader / slang / slang_vartable.h
1
2 #ifndef SLANG_VARTABLE_H
3 #define SLANG_VARTABLE_H
4
5
6 typedef struct slang_var_table_ slang_var_table;
7
8 struct slang_variable_;
9
10 extern slang_var_table *
11 _slang_push_var_table(slang_var_table *parent);
12
13 extern slang_var_table *
14 _slang_pop_var_table(slang_var_table *t);
15
16 extern void
17 _slang_add_variable(slang_var_table *t, struct slang_variable_ *v);
18
19 extern struct slang_variable_ *
20 _slang_find_variable(const slang_var_table *t, slang_atom name);
21
22 extern GLint
23 _slang_alloc_var(slang_var_table *t, GLint size);
24
25 extern void
26 _slang_reserve_var(slang_var_table *t, GLint r, GLint size);
27
28 extern GLint
29 _slang_alloc_temp(slang_var_table *t, GLint size);
30
31 extern void
32 _slang_free_temp(slang_var_table *t, GLint r, GLint size);
33
34 extern GLboolean
35 _slang_is_temp(slang_var_table *t, GLint r);
36
37
38 #endif /* SLANG_VARTABLE_H */