summaryrefslogtreecommitdiff
path: root/src/mesa/shader/slang/slang_emit.h
diff options
context:
space:
mode:
authorBrian <brian@yutani.localnet.net>2006-12-15 15:35:57 -0700
committerBrian <brian@yutani.localnet.net>2006-12-15 15:35:57 -0700
commitbfc02dd30f625c134638b20a903065dc78e9ccd3 (patch)
treebba3a363cde7d86b52c4d7441937392d4041a1b6 /src/mesa/shader/slang/slang_emit.h
parent6579245800f39c14f738db8e8ae1d93a65a32a4c (diff)
Lots of assorted changes.
Implement assignment/move for types larger than 4 floats. Fix codegen bug for "return expr" in inlined functions. More clean-up of storage allocation code (slang_resolve_storage).
Diffstat (limited to 'src/mesa/shader/slang/slang_emit.h')
-rw-r--r--src/mesa/shader/slang/slang_emit.h16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/mesa/shader/slang/slang_emit.h b/src/mesa/shader/slang/slang_emit.h
index 1683542b90..8ac17e6c82 100644
--- a/src/mesa/shader/slang/slang_emit.h
+++ b/src/mesa/shader/slang/slang_emit.h
@@ -32,9 +32,8 @@
#include "mtypes.h"
-typedef struct {
- GLboolean TempUsed[MAX_PROGRAM_TEMPS];
-} slang_gen_context;
+extern slang_gen_context *
+_slang_new_codegen_context(void);
extern void
@@ -45,12 +44,21 @@ extern slang_ir_storage *
_slang_new_ir_storage(enum register_file file, GLint index, GLint size);
+extern slang_ir_storage *
+_slang_clone_ir_storage(slang_ir_storage *store);
+
+
+extern GLuint
+_slang_sizeof_type_specifier(const slang_type_specifier *spec);
+
+
extern void
slang_resolve_storage(slang_gen_context *gc, slang_ir_node *n,
struct gl_program *prog);
extern GLboolean
-_slang_emit_code(slang_ir_node *n, struct gl_program *prog);
+_slang_emit_code(slang_ir_node *n, slang_gen_context *gc,
+ struct gl_program *prog);
#endif /* SLANG_EMIT_H */