mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 21:50:12 +01:00
nv50/ir: disable mul+add to mad for precise instructions
fixes
missrendering in TombRaider
KHR-GL44.gpu_shader5.precise_qualifier
KHR-GL45.gpu_shader5.precise_qualifier
v4: disable opt only for MAD, it's fine for SAD
Signed-off-by: Karol Herbst <karolherbst@gmail.com>
Reviewed-by: Pierre Moreau <pierre.morrow@free.fr>
This commit is contained in:
parent
f9bfc93014
commit
f98a221f2d
1 changed files with 3 additions and 2 deletions
|
|
@ -1677,7 +1677,8 @@ AlgebraicOpt::handleADD(Instruction *add)
|
|||
return false;
|
||||
|
||||
bool changed = false;
|
||||
if (!changed && prog->getTarget()->isOpSupported(OP_MAD, add->dType))
|
||||
// we can't optimize to MAD if the add is precise
|
||||
if (!add->precise && prog->getTarget()->isOpSupported(OP_MAD, add->dType))
|
||||
changed = tryADDToMADOrSAD(add, OP_MAD);
|
||||
if (!changed && prog->getTarget()->isOpSupported(OP_SAD, add->dType))
|
||||
changed = tryADDToMADOrSAD(add, OP_SAD);
|
||||
|
|
@ -1713,7 +1714,7 @@ AlgebraicOpt::tryADDToMADOrSAD(Instruction *add, operation toOp)
|
|||
return false;
|
||||
|
||||
if (src->getInsn()->saturate || src->getInsn()->postFactor ||
|
||||
src->getInsn()->dnz)
|
||||
src->getInsn()->dnz || src->getInsn()->precise)
|
||||
return false;
|
||||
|
||||
if (toOp == OP_SAD) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue