Am 29.07.2014 00:01, schrieb Kenneth Graunke: > On Monday, July 28, 2014 05:34:59 PM Roland Scheidegger wrote: >> Looking all good, though it got me thinking about these numerous >> float-to-int rounding functions in mesa in various places a bit >> more. There is, for instance, a _mesa_round_to_even() function, >> which claims that the c99 lrintf() and friends functions can't be >> used because the environment might use a different rounding mode. >> This is of course true though I wonder why it would matter there >> and not here for instance, since of course cvtss2si is affected by >> that as well. > > _mesa_round_to_even() is currently only used by the GLSL compiler. > > The GLSL compiler implements round() as round-to-even on the GPU, so > we want to make sure that CPU-side constant expression evaluation > rounds the same way. If you truly want it to match gpus round-to-even, it won't work for numbers between [-]2^23 to [1]2^24, just like ordinary IROUND.
Roland > I don't think other code needs to be as paranoid. > > --Ken > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev