Be more consistant with paths in #includes. Eventually, eliminate a bunch of -I...
[mesa.git] / src / mesa / shader / slang / slang_label.h
1 #ifndef SLANG_LABEL_H
2 #define SLANG_LABEL_H 1
3
4 #include "main/imports.h"
5 #include "main/mtypes.h"
6 #include "shader/prog_instruction.h"
7
8
9 struct slang_label_
10 {
11 char *Name;
12 GLint Location;
13 /**
14 * List of instruction references (numbered starting at zero) which need
15 * their BranchTarget field filled in with the location eventually
16 * assigned to the label.
17 */
18 GLuint NumReferences;
19 GLuint *References; /** Array [NumReferences] */
20 };
21
22 typedef struct slang_label_ slang_label;
23
24
25 extern slang_label *
26 _slang_label_new(const char *name);
27
28 extern slang_label *
29 _slang_label_new_unique(const char *name);
30
31 extern void
32 _slang_label_delete(slang_label *l);
33
34 extern void
35 _slang_label_add_reference(slang_label *l, GLuint inst);
36
37 extern GLint
38 _slang_label_get_location(const slang_label *l);
39
40 extern void
41 _slang_label_set_location(slang_label *l, GLint location,
42 struct gl_program *prog);
43
44
45 #endif /* SLANG_LABEL_H */