summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/version.c
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2016-03-28 11:12:33 -0700
committerJason Ekstrand <[email protected]>2016-04-04 13:48:10 -0700
commiteb93d6dec82cd02e97b0a673fb11eef1f31777e7 (patch)
treeb46f8aeef1a41fa8931d591d12f3b9b1f3021eaf /src/mesa/main/version.c
parent65fbc43d54403905e3eaea02372b5a364dc1d773 (diff)
nir/search: Don't match inexact expressions with exact subexpressions
In the first pass of implementing exact handling, I made a mistake with search-and-replace. In particular, we only reallly handled exact/inexact on the root of the tree. Instead, we need to check every node in the tree for an exact/inexact match. As an example of this, consider the following GLSL code precise float a = b + c; if (a < 0) { do_stuff(); } In that case, only the add will be declared "exact" and an expression that looks for "b + c < 0" will still match and replace it with "b < -c" which may yield different results. The solution is to simply bail if any of the values are exact when matching an inexact expression. Reviewed-by: Ian Romanick <[email protected]>
Diffstat (limited to 'src/mesa/main/version.c')
0 files changed, 0 insertions, 0 deletions