From c30f6e5dea7e75983784f3539304c8dd36356d1c Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Wed, 26 May 2010 16:41:47 -0700 Subject: Add mappings between ir_texture_opcode and strings. --- ir.cpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'ir.cpp') diff --git a/ir.cpp b/ir.cpp index 2b05e9776d..9a713494d3 100644 --- a/ir.cpp +++ b/ir.cpp @@ -303,6 +303,27 @@ ir_dereference::is_lvalue() } +const char *tex_opcode_strs[] = { "tex", "txb", "txl", "txd", "txf" }; + +const char *ir_texture::opcode_string() +{ + assert((unsigned int) op <= + sizeof(tex_opcode_strs) / sizeof(tex_opcode_strs[0])); + return tex_opcode_strs[op]; +} + +ir_texture_opcode +ir_texture::get_opcode(const char *str) +{ + const int count = sizeof(tex_opcode_strs) / sizeof(tex_opcode_strs[0]); + for (int op = 0; op < count; op++) { + if (strcmp(str, tex_opcode_strs[op]) == 0) + return (ir_texture_opcode) op; + } + return (ir_texture_opcode) -1; +} + + ir_swizzle::ir_swizzle(ir_rvalue *val, unsigned x, unsigned y, unsigned z, unsigned w, unsigned count) : val(val) -- cgit v1.2.3