#include <compiler/glsl_types.h>
#include <compiler/glsl/ir.h>
#include <tgsi/tgsi_info.h>
+#include <ostream>
int swizzle_for_size(int size);
}
};
+bool operator == (const st_src_reg& lhs, const st_src_reg& rhs);
+
+std::ostream& operator << (std::ostream& os, const st_src_reg& reg);
+
class st_dst_reg {
public:
st_dst_reg(gl_register_file file, int writemask, enum glsl_base_type type, int index);
st_src_reg *reladdr2;
};
+bool operator == (const st_dst_reg& lhs, const st_dst_reg& rhs);
+
+std::ostream& operator << (std::ostream& os, const st_dst_reg& reg);
+
+
class glsl_to_tgsi_instruction : public exec_node {
public:
DECLARE_RALLOC_CXX_OPERATORS(glsl_to_tgsi_instruction)
unsigned buffer_access:3; /**< bitmask of TGSI_MEMORY_x bits */
const struct tgsi_opcode_info *info;
+
+ void print(std::ostream& os) const;
};
+inline std::ostream&
+operator << (std::ostream& os, const glsl_to_tgsi_instruction& instr)
+{
+ instr.print(os);
+ return os;
+}
+
struct rename_reg_pair {
bool valid;
int new_reg;