mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-09 02:28:10 +02:00
nv50/ir: add saturate support on ex2
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
This commit is contained in:
parent
e5fefe49f2
commit
32a9fe013b
2 changed files with 6 additions and 0 deletions
|
|
@ -1463,6 +1463,7 @@ CodeEmitterNV50::emitSFnOp(const Instruction *i, uint8_t subOp)
|
|||
|
||||
if (i->encSize == 4) {
|
||||
assert(i->op == OP_RCP);
|
||||
assert(!i->saturate);
|
||||
code[0] |= i->src(0).mod.abs() << 15;
|
||||
code[0] |= i->src(0).mod.neg() << 22;
|
||||
emitForm_MUL(i);
|
||||
|
|
@ -1470,6 +1471,10 @@ CodeEmitterNV50::emitSFnOp(const Instruction *i, uint8_t subOp)
|
|||
code[1] = subOp << 29;
|
||||
code[1] |= i->src(0).mod.abs() << 20;
|
||||
code[1] |= i->src(0).mod.neg() << 26;
|
||||
if (i->saturate) {
|
||||
assert(subOp == 6 && i->op == OP_EX2);
|
||||
code[1] |= 1 << 27;
|
||||
}
|
||||
emitForm_MAD(i);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -99,6 +99,7 @@ static const struct opProperties _initProps[] =
|
|||
{ OP_SET, 0x3, 0x3, 0x0, 0x0, 0x2, 0x1, 0x1, 0x0 },
|
||||
{ OP_PREEX2, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 },
|
||||
{ OP_PRESIN, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 },
|
||||
{ OP_EX2, 0x0, 0x0, 0x0, 0x8, 0x0, 0x0, 0x0, 0x0 },
|
||||
{ OP_LG2, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 },
|
||||
{ OP_RCP, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 },
|
||||
{ OP_RSQ, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 },
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue