[Mesa-dev] [PATCH 0/9] i965: Remove unneeded algebraic optimizations
Jason Ekstrand
jason at jlekstrand.net
Thu Mar 17 17:21:37 UTC 2016
This little series prepares the backend compiler for invariant and precise
by removing any potentially unsafe optimizations. The easiest
implementation for invariant and precise seems to be the same: Don't change
the semantics of invariant or precise values. This means that we need to
track what values are invariant or precise and be very careful how we
optimize them. In the backend, it's easier to just not do those
optimizations than to try and plumb that information through accurately.
Fortunately, NIR is doing a good enough job that this can be done with a
minimum of shader-db damage.
Jason Ekstrand (9):
i965/fs: Remove the RCP+RSQ peephole
nir/algebraic: Add two more fsat optimizations
i965/fs: Get rid of the sel.sat peephole
i965/fs: Get rid of all remaining algebraic optimizations for floats
i965/fs: Don't constant-fold RCP
i965/vec4: Don't constant propagate saturated values
i965/vec4: Don't allow type conversion in opt_vector_float
i965/vec4: Handle saturated constants in opt_vector_float
i965/vec4: Disable algebraic optimizations on floats
src/compiler/nir/nir_opt_algebraic.py | 2 +
src/mesa/drivers/dri/i965/brw_fs.cpp | 119 ++++-----------------
.../drivers/dri/i965/brw_fs_copy_propagation.cpp | 15 ---
src/mesa/drivers/dri/i965/brw_vec4.cpp | 49 ++++-----
.../drivers/dri/i965/brw_vec4_copy_propagation.cpp | 3 +
5 files changed, 41 insertions(+), 147 deletions(-)
--
2.5.0.400.gff86faf
More information about the mesa-dev
mailing list