aboutsummaryrefslogtreecommitdiffstats
path: root/src/amd
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2020-04-30 03:57:50 -0400
committerMarek Olšák <[email protected]>2020-05-04 11:51:37 -0400
commitb97cc41aa203fd9fb9f5cf5f5aa7fd40f567917d (patch)
treeabf973d6df07d20119e8964b97cc5d9f2b9d35d0 /src/amd
parent5f01869f74a497ee56fd01eedbe0b2802beea63c (diff)
Revert "ac: reassociate FP expressions for inexact instructions for radeonsi"
This reverts commit cf2f3c27533d8721abed4cdd4dfb00d4d53e8a0f. It breaks shadows in Unigine Superposition. Fixes: cf2f3c27533d8721abed4cdd4dfb00d4d53e8a0f Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4837>
Diffstat (limited to 'src/amd')
-rw-r--r--src/amd/llvm/ac_llvm_helper.cpp9
1 files changed, 0 insertions, 9 deletions
diff --git a/src/amd/llvm/ac_llvm_helper.cpp b/src/amd/llvm/ac_llvm_helper.cpp
index 97b9a1a035a..f5383344dd4 100644
--- a/src/amd/llvm/ac_llvm_helper.cpp
+++ b/src/amd/llvm/ac_llvm_helper.cpp
@@ -101,11 +101,6 @@ LLVMBuilderRef ac_create_builder(LLVMContextRef ctx,
*/
flags.setAllowContract(); /* contract */
- /* Allow reassociation transformations for floating-point
- * instructions. This may dramatically change results.
- */
- flags.setAllowReassoc(); /* reassoc */
-
llvm::unwrap(builder)->setFastMathFlags(flags);
break;
}
@@ -118,13 +113,11 @@ bool ac_disable_inexact_math(LLVMBuilderRef builder)
{
auto *b = llvm::unwrap(builder);
llvm::FastMathFlags flags = b->getFastMathFlags();
- assert(flags.allowContract() == flags.allowReassoc());
if (!flags.allowContract())
return false;
flags.setAllowContract(false);
- flags.setAllowReassoc(false);
b->setFastMathFlags(flags);
return true;
}
@@ -133,13 +126,11 @@ void ac_restore_inexact_math(LLVMBuilderRef builder, bool value)
{
auto *b = llvm::unwrap(builder);
llvm::FastMathFlags flags = b->getFastMathFlags();
- assert(flags.allowContract() == flags.allowReassoc());
if (flags.allowContract() == value)
return;
flags.setAllowContract(value);
- flags.setAllowReassoc(value);
b->setFastMathFlags(flags);
}