mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-23 04:00:23 +01:00
nvc0/ir: fix wrong emission of (a OP b) OP c
The third source must be emitted at offset 49 instead of 17 and the
not modifier is at 52 instead of 20. If you look a bit above in
emitLogicOp() you will see that the dest is emitted at 17 which
confirms that src(2) is obviously wrong.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: "11.1 11.2" <mesa-stable@lists.freedesktop.org>
(cherry picked from commit 3da8528846)
This commit is contained in:
parent
2ab417ddbd
commit
ce5334292d
1 changed files with 2 additions and 2 deletions
|
|
@ -813,8 +813,8 @@ CodeEmitterNVC0::emitLogicOp(const Instruction *i, uint8_t subOp)
|
|||
// (a OP b) OP c
|
||||
if (i->predSrc != 2 && i->srcExists(2)) {
|
||||
code[1] |= subOp << 21;
|
||||
srcId(i->src(2), 17);
|
||||
if (i->src(2).mod == Modifier(NV50_IR_MOD_NOT)) code[0] |= 1 << 20;
|
||||
srcId(i->src(2), 49);
|
||||
if (i->src(2).mod == Modifier(NV50_IR_MOD_NOT)) code[1] |= 1 << 20;
|
||||
} else {
|
||||
code[1] |= 0x000e0000;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue