diff options
author | marha <marha@users.sourceforge.net> | 2011-07-22 08:25:25 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2011-07-22 08:25:25 +0200 |
commit | c70e21be1fe5f9b47bce020ffd8d69c6012b21fc (patch) | |
tree | 2ae24d451df0e12093fd82c2cd466e05dfe1aaa0 /mesalib/src/glsl/ir.h | |
parent | 556198b74eecf7e9f7105a792a33bf699cff6507 (diff) | |
parent | 91e91b72f07f4e61db17ee86c6933a7217f0e25c (diff) | |
download | vcxsrv-c70e21be1fe5f9b47bce020ffd8d69c6012b21fc.tar.gz vcxsrv-c70e21be1fe5f9b47bce020ffd8d69c6012b21fc.tar.bz2 vcxsrv-c70e21be1fe5f9b47bce020ffd8d69c6012b21fc.zip |
Merge remote-tracking branch 'origin/released'
Conflicts:
mesalib/src/gallium/auxiliary/util/u_vbuf_mgr.c
mesalib/src/glsl/ast_function.cpp
mesalib/src/glsl/ast_to_hir.cpp
mesalib/src/glsl/glsl_types.cpp
mesalib/src/glsl/ir.cpp
mesalib/src/glsl/ir.h
mesalib/src/glsl/linker.cpp
mesalib/src/glsl/s_expression.cpp
mesalib/src/mesa/drivers/common/driverfuncs.c
mesalib/src/mesa/main/dd.h
mesalib/src/mesa/main/fbobject.c
mesalib/src/mesa/main/teximage.c
mesalib/src/mesa/state_tracker/st_cb_texture.c
Diffstat (limited to 'mesalib/src/glsl/ir.h')
-rw-r--r-- | mesalib/src/glsl/ir.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/mesalib/src/glsl/ir.h b/mesalib/src/glsl/ir.h index 926be9aef..8df2c42c3 100644 --- a/mesalib/src/glsl/ir.h +++ b/mesalib/src/glsl/ir.h @@ -1635,6 +1635,32 @@ visit_exec_list(exec_list *list, ir_visitor *visitor); */
void validate_ir_tree(exec_list *instructions);
+struct _mesa_glsl_parse_state;
+struct gl_shader_program;
+
+/**
+ * Detect whether an unlinked shader contains static recursion
+ *
+ * If the list of instructions is determined to contain static recursion,
+ * \c _mesa_glsl_error will be called to emit error messages for each function
+ * that is in the recursion cycle.
+ */
+void
+detect_recursion_unlinked(struct _mesa_glsl_parse_state *state,
+ exec_list *instructions);
+
+/**
+ * Detect whether a linked shader contains static recursion
+ *
+ * If the list of instructions is determined to contain static recursion,
+ * \c link_error_printf will be called to emit error messages for each function
+ * that is in the recursion cycle. In addition,
+ * \c gl_shader_program::LinkStatus will be set to false.
+ */
+void
+detect_recursion_linked(struct gl_shader_program *prog,
+ exec_list *instructions);
+
/**
* Make a clone of each IR instruction in a list
*
@@ -1669,4 +1695,8 @@ ir_has_call(ir_instruction *ir); extern void
do_set_program_inouts(exec_list *instructions, struct gl_program *prog);
+extern char *
+prototype_string(const glsl_type *return_type, const char *name,
+ exec_list *parameters);
+
#endif /* IR_H */
|