On Sun, Apr 20, 2014 at 12:50 AM, Matt Turner <matts...@gmail.com> wrote: > On Sat, Apr 19, 2014 at 8:26 PM, Ilia Mirkin <imir...@alum.mit.edu> wrote: >> Hi Matt, >> >> Starting with commit d877c643b ("glsl: Use M_PI_* macros."), I'm >> seeing a few piglit failures on nvcf (GF116) for >> >> generated_tests/spec/glsl-1.10/execution/built-in-functions/fs-atan-vec2-vec2.shader_test > > Strange. They all pass for me on Haswell before and after the change. > >> and its vs/gs counterparts. Curiously it works fine on nv50-family >> chips. I checked the generated shaders, and the only differences are >> the constants[1]. Does the generated test need to be adjusted to >> expect more (or less) precise values perhaps? Or is it likely that >> there's some bug in the shader that was being masked by the less >> correct constants? >> >> I haven't actually looked at the atan formula -- could it be that >> those constants were "off" on purpose? Any other ideas? > > No, Paul's commit message for d4c80f5f confirms the constants. > > That only some of combinations fail for you makes me think it's > something driver specific that this patch unwittingly uncovered.
Hm, something odd that I noticed in the generated test: uniform vec2 arg0 1e+10 1e+10 uniform vec2 arg1 0.0 1e-10 uniform vec2 expected 1.5707964 1.5707964 uniform float tolerance 0.0022214416 draw rect -1 -1 2 2 However >>> math.atan2(1e10, 0) 1.5707963267948966 >>> math.atan2(1e10, 1e-10) 1.5707963267948966 Has the same very wrong rounding issue that your commit fixed. I'm still trying to work out how generated_tests/builtin_function.py works, but I suspect it's related. And it's unclear to me whether the tolerance takes the dimensionality into account (since it's a tolerance on the distance between expected and result, it needs to be scaled). But like I said, I'm still very confused by that generator code, perhaps it does all that correctly. -ilia _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev