Merge remote branch 'origin/master' into nv50-compiler
[mesa.git] / src / glsl / ir.h
index ef8339ce1997ab69a827cdd0513a7e550a824dd5..0f887a9327e9570ff532ddf1acc287cd12a9e870 100644 (file)
@@ -60,7 +60,7 @@ enum ir_node_type {
    ir_type_return,
    ir_type_swizzle,
    ir_type_texture,
-   ir_type_max, /**< maximum ir_type enum number, for validation */
+   ir_type_max /**< maximum ir_type enum number, for validation */
 };
 
 /**
@@ -342,9 +342,6 @@ public:
    /** Whether or not this function has a body (which may be empty). */
    unsigned is_defined:1;
 
-   /** Whether or not this function signature is a built-in. */
-   unsigned is_built_in:1;
-
    /** Body of instructions in the function. */
    struct exec_list body;
 
@@ -410,6 +407,9 @@ public:
     */
    const char *name;
 
+   /** Whether or not this function is a built-in. */
+   unsigned is_builtin:1;
+
    /**
     * List of ir_function_signature for each overloaded function with this name.
     */
@@ -593,8 +593,8 @@ enum ir_expression_operation {
    ir_unop_rcp,
    ir_unop_rsq,
    ir_unop_sqrt,
-   ir_unop_exp,
-   ir_unop_log,
+   ir_unop_exp,      /**< Log base e on gentype */
+   ir_unop_log,             /**< Natural log on gentype */
    ir_unop_exp2,
    ir_unop_log2,
    ir_unop_f2i,      /**< Float-to-integer conversion. */
@@ -604,6 +604,7 @@ enum ir_expression_operation {
    ir_unop_i2b,      /**< int-to-boolean conversion */
    ir_unop_b2i,      /**< Boolean-to-int conversion */
    ir_unop_u2f,      /**< Unsigned-to-float conversion. */
+   ir_unop_any,
 
    /**
     * \name Unary floating-point rounding operations.
@@ -1383,13 +1384,16 @@ _mesa_glsl_release_functions(void);
 extern void
 reparent_ir(exec_list *list, void *mem_ctx);
 
-class glsl_symbol_table;
+struct glsl_symbol_table;
 
 extern void
 import_prototypes(const exec_list *source, exec_list *dest,
-                 class glsl_symbol_table *symbols, void *mem_ctx);
+                 struct glsl_symbol_table *symbols, void *mem_ctx);
 
 extern bool
 ir_has_call(ir_instruction *ir);
 
+extern void
+do_set_program_inouts(exec_list *instructions, struct gl_program *prog);
+
 #endif /* IR_H */