SPV: RelaxedPrecision: Generalize fix #2293 to cover more operations.
authorJohn Kessenich <cepheus@frii.com>
Tue, 30 Jun 2020 07:27:08 +0000 (01:27 -0600)
committerJohn Kessenich <cepheus@frii.com>
Tue, 30 Jun 2020 08:44:52 +0000 (02:44 -0600)
commit435dd8028befce1a5df112be774eb358d1762304
tree5f69dd49bffe1ad72ffa52ff3c6214d8a12355af
parent27e915ed4f208cf0913425c79b1e62ffe80a6299
SPV: RelaxedPrecision: Generalize fix #2293 to cover more operations.

This simplifies and enforces use of precision in many more places,
to help avoid accidental loss of RelaxedPrecision through intermediate
operations. Known fixes are:
- ?:
- function return values with mis-matched precision
- precision of function return values when a copy was needed to fix types
SPIRV/GlslangToSpv.cpp
SPIRV/SpvBuilder.cpp
SPIRV/SpvBuilder.h
SPIRV/spvIR.h
Test/baseResults/spv.forwardFun.frag.out
Test/baseResults/spv.precision.frag.out
Test/baseResults/spv.precisionArgs.frag.out
Test/baseResults/spv.switch.frag.out
Test/spv.precision.frag
Test/spv.precisionArgs.frag