chmod a-x
[mesa.git] / src / mesa / shader / slang / slang_compile_function.h
index 1a7302f29aa662912278e2f02a93ed89ad4c1eab..8f0e3b326d43743953112fec7c9b55abcc23e5a6 100644 (file)
@@ -64,11 +64,12 @@ typedef struct slang_function_
 {
    slang_function_kind kind;
    slang_variable header;      /**< The function's name and return type */
-   slang_variable_scope *parameters; /**< array [param_count] */
-   unsigned int param_count;
+   slang_variable_scope *parameters; /**< formal parameters AND local vars */
+   unsigned int param_count;   /**< number of formal params (no locals) */
    slang_operation *body;      /**< The instruction tree */
    unsigned int address;       /**< Address of this func in memory */
    slang_fixup_table fixups;   /**< Mem locations which need func's address */
+   slang_atom end_label;       /**< The end-of-function label */
 } slang_function;
 
 extern int slang_function_construct(slang_function *);
@@ -92,6 +93,9 @@ _slang_function_scope_ctr(slang_function_scope *);
 extern void
 slang_function_scope_destruct(slang_function_scope *);
 
+extern GLboolean
+_slang_function_has_return_value(const slang_function *fun);
+
 extern int
 slang_function_scope_find_by_name(slang_function_scope *, slang_atom, int);