mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-25 08:40:11 +01:00
Add mappings between ir_texture_opcode and strings.
This commit is contained in:
parent
81377c012c
commit
c30f6e5dea
2 changed files with 31 additions and 0 deletions
21
ir.cpp
21
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)
|
||||
|
|
|
|||
10
ir.h
10
ir.h
|
|
@ -775,6 +775,16 @@ public:
|
|||
/* empty */
|
||||
}
|
||||
|
||||
/**
|
||||
* Return a string representing the ir_texture_opcode.
|
||||
*/
|
||||
const char *opcode_string();
|
||||
|
||||
/**
|
||||
* Do a reverse-lookup to translate a string into an ir_texture_opcode.
|
||||
*/
|
||||
static ir_texture_opcode get_opcode(const char *);
|
||||
|
||||
enum ir_texture_opcode op;
|
||||
|
||||
/** Sampler to use for the texture access. */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue