intel/fs: Remove type-based restriction for cmod propagation to saturated operations
authorIan Romanick <ian.d.romanick@intel.com>
Sat, 17 Jul 2021 01:16:59 +0000 (18:16 -0700)
committerIan Romanick <ian.d.romanick@intel.com>
Mon, 30 Aug 2021 21:00:14 +0000 (14:00 -0700)
commita8d0c0af86c62fdf51dc06e00c9ace5d864c096c
treeec576af44d3edc7d4f6f2ab15be5d6f9f7c26eb2
parent5ad88fd499673d2a87dca8cbea5b0f20dd52d561
intel/fs: Remove type-based restriction for cmod propagation to saturated operations

Previously, we misunderstood how conditional modifiers and saturate
interacted.  We thought the condition was evaulated before the saturate
was applied.  For the floating point cases, we went to some heroics to
modify the condition to maintain the same results.  For integer cases,
it was not clear that this could even work.  We had no use-cases and no
tests-cases, so we just disallowed everything.

Now we understand that the condition is evaluated after the saturate.
Earlier commits in this series removed the various floating point
heroics.  It is easier to just delete the code that prevents some cases
that just work.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12045>
src/intel/compiler/brw_fs_cmod_propagation.cpp
src/intel/compiler/test_fs_cmod_propagation.cpp