updated some printfs, added comment about sched_yield
[mesa.git] / src / mesa / shader / slang / slang_storage.h
index 2a1ddffa0c29aa3689475a2acbc1b75a923b0fed..532ea638ee7cbf58107e6582bdb66db8bebc86d7 100644 (file)
@@ -26,6 +26,8 @@
 #define SLANG_STORAGE_H
 
 #include "slang_compile.h"
+#include "slang_assemble.h"
+#include "slang_execute.h"
 
 #if defined __cplusplus
 extern "C" {
@@ -54,7 +56,7 @@ typedef enum slang_storage_type_
  * elements. They are also required to support indirect addressing. That is, if B references
  * first data slot in the array, S is the size of the data slot and I is the integral index that
  * is not known at compile time, B+I*S references I-th data slot.
- *\r
+ *
  * This structure is also used to break down built-in data types that are not supported directly.
  * Vectors, like vec3, are constructed from arrays of their basic types. Matrices are formed of
  * an array of column vectors, which are in turn processed as other vectors.
@@ -84,13 +86,24 @@ typedef struct slang_storage_aggregate_
 GLboolean slang_storage_aggregate_construct (slang_storage_aggregate *);
 GLvoid slang_storage_aggregate_destruct (slang_storage_aggregate *);
 
-GLboolean _slang_aggregate_variable (slang_storage_aggregate *, struct slang_type_specifier_ *,
-       GLuint, struct slang_function_scope_ *, slang_struct_scope *,
-       slang_variable_scope *, struct slang_machine_ *, struct slang_assembly_file_ *,\r
-       slang_atom_pool *);\r
-\r
-GLboolean _slang_evaluate_int (struct slang_assembly_file_ *, struct slang_machine_ *,\r
-       struct slang_assembly_name_space_ *, struct slang_operation_ *, GLuint *, slang_atom_pool *);
+extern GLboolean
+_slang_aggregate_variable(slang_storage_aggregate *agg,
+                          slang_type_specifier *spec,
+                          GLuint array_len,
+                          slang_function_scope *funcs,
+                          slang_struct_scope *structs,
+                          slang_variable_scope *vars,
+                          slang_machine *mach,
+                          slang_assembly_file *file,
+                          slang_atom_pool *atoms);
+
+extern GLboolean
+_slang_evaluate_int(slang_assembly_file *file,
+                    slang_machine *pmach,
+                    slang_assembly_name_space *space,
+                    slang_operation *array_size,
+                    GLuint *pint,
+                    slang_atom_pool *atoms);
 
 /*
  * Returns total size (in machine units) of the given aggregate.