diff options
author | Brian Paul <[email protected]> | 2010-06-10 22:48:16 -0600 |
---|---|---|
committer | Brian Paul <[email protected]> | 2010-06-10 22:48:16 -0600 |
commit | f1c5043f94261fecd8a6e54fe37d786554affcdd (patch) | |
tree | 681dcd7ddafb3535629df2b3ccdaf693d1cfd5df /src/mesa/slang/slang_label.h | |
parent | 7936e06657bc43de80ae4f56ee9db956e193d880 (diff) |
mesa: move shader/slang/* sources to main/slang/*
Reduce the source tree depth a bit.
Diffstat (limited to 'src/mesa/slang/slang_label.h')
-rw-r--r-- | src/mesa/slang/slang_label.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/mesa/slang/slang_label.h b/src/mesa/slang/slang_label.h new file mode 100644 index 00000000000..87068ae7a7f --- /dev/null +++ b/src/mesa/slang/slang_label.h @@ -0,0 +1,45 @@ +#ifndef SLANG_LABEL_H +#define SLANG_LABEL_H 1 + +#include "main/imports.h" +#include "main/mtypes.h" +#include "shader/prog_instruction.h" + + +struct slang_label_ +{ + char *Name; + GLint Location; + /** + * List of instruction references (numbered starting at zero) which need + * their BranchTarget field filled in with the location eventually + * assigned to the label. + */ + GLuint NumReferences; + GLuint *References; /** Array [NumReferences] */ +}; + +typedef struct slang_label_ slang_label; + + +extern slang_label * +_slang_label_new(const char *name); + +extern slang_label * +_slang_label_new_unique(const char *name); + +extern void +_slang_label_delete(slang_label *l); + +extern void +_slang_label_add_reference(slang_label *l, GLuint inst); + +extern GLint +_slang_label_get_location(const slang_label *l); + +extern void +_slang_label_set_location(slang_label *l, GLint location, + struct gl_program *prog); + + +#endif /* SLANG_LABEL_H */ |