[Mesa-dev] atan2 piglit failures since commit d877c643b
Ilia Mirkin
imirkin at alum.mit.edu
Sat Apr 19 20:41:04 PDT 2014
On Sat, Apr 19, 2014 at 11:26 PM, Ilia Mirkin <imirkin at 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
>
> and its vs/gs counterparts. Curiously it works fine on nv50-family
Of note is that only vec2-vec2 and vec3-vec3 fail. float-float and
vec4-vec4 pass (as well as all the single-argument versions).
> 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?
>
> Thanks,
>
> -ilia
>
> [1] : shader diff. scalar, intel-style syntax.
> --- passing 2014-04-19 23:14:25.000000000 -0400
> +++ failing 2014-04-19 23:01:10.000000000 -0400
> @@ -21,7 +21,7 @@
> 000000a0: bc00dde2 1af3f8c6 mov b32 $r3 0xbcfe31af
> 000000a8: 94011de2 18f6c527 mov b32 $r4 0x3db149e5
> 000000b0: 0c20dc00 30080000 fma rn f32 $r3 $r2 $r3 $r4
> -000000b8: 54011de2 1af96f02 mov b32 $r4 0xbe5bc095
> +000000b8: 50011de2 1af96f02 mov b32 $r4 0xbe5bc094
> 000000c0: 0c20dc00 30080000 fma rn f32 $r3 $r2 $r3 $r4
> 000000c8: 6c011de2 18ff243f mov b32 $r4 0x3fc90fdb
> 000000d0: 0c209c00 30080000 fma rn f32 $r2 $r2 $r3 $r4
> @@ -32,15 +32,15 @@
> 000000f8: 43f1dc00 220e4000 set $p0 0x1 gt f32 0x0 c0[0x10]
> 00000100: 000021f4 40000000 join (not $p0) nop
> 00000108: 03f1dc00 218e4000 set $p0 0x1 le f32 0x0 c0[0x0]
> -00000110: 70000002 2901243f $p0 add f32 $r0 $r0 0x40490fdc
> -00000118: 70002002 2b01243f (not $p0) add f32 $r0 $r0 0xc0490fdc
> +00000110: 6c000002 2901243f $p0 add f32 $r0 $r0 0x40490fdb
> +00000118: 6c002002 2b01243f (not $p0) add f32 $r0 $r0 0xc0490fdb
> 00000120: 00001df4 40000000 join nop
> 00000128: 00001df4 40000000 B join nop
> 00000130: 00001de4 28004000 B mov b32 $r0 c0[0x0]
> 00000138: fc005c20 120e0000 set f32 $r1 gt f32 $r0 0x0
> 00000140: fc001c20 108e0000 set f32 $r0 lt f32 $r0 0x0
> 00000148: 00101d00 50000000 add rn f32 $r0 $r1 neg $r0
> -00000150: 70001c12 30ff243f join mul f32 $r0 $r0 0x3fc90fdc
> +00000150: 6c001c12 30ff243f join mul f32 $r0 $r0 0x3fc90fdb
> 00000158: 11205c44 10004000 B cvt f32 $r1 abs f32 c0[0x4]
> 00000160: dc105c02 30c8af31 mul f32 $r1 $r1 0x322bcc77
> 00000168: 00000007 60000005 joinat 0x2b0
> @@ -64,7 +64,7 @@
> 000001f8: bc011de2 1af3f8c6 mov b32 $r4 0xbcfe31af
> 00000200: 94015de2 18f6c527 mov b32 $r5 0x3db149e5
> 00000208: 10311c00 300a0000 fma rn f32 $r4 $r3 $r4 $r5
> -00000210: 54015de2 1af96f02 mov b32 $r5 0xbe5bc095
> +00000210: 50015de2 1af96f02 mov b32 $r5 0xbe5bc094
> 00000218: 10311c00 300a0000 fma rn f32 $r4 $r3 $r4 $r5
> 00000220: 6c015de2 18ff243f mov b32 $r5 0x3fc90fdb
> 00000228: 1030dc00 300a0000 fma rn f32 $r3 $r3 $r4 $r5
> @@ -75,15 +75,15 @@
> 00000250: 53f1dc00 220e4000 set $p0 0x1 gt f32 0x0 c0[0x14]
> 00000258: 000021f4 40000000 join (not $p0) nop
> 00000260: 13f1dc00 218e4000 set $p0 0x1 le f32 0x0 c0[0x4]
> -00000268: 70104002 2901243f $p0 add f32 $r1 $r1 0x40490fdc
> -00000270: 70106002 2b01243f (not $p0) add f32 $r1 $r1 0xc0490fdc
> +00000268: 6c104002 2901243f $p0 add f32 $r1 $r1 0x40490fdb
> +00000270: 6c106002 2b01243f (not $p0) add f32 $r1 $r1 0xc0490fdb
> 00000278: 00001df4 40000000 join nop
> 00000280: 00001df4 40000000 B join nop
> 00000288: 10005de4 28004000 B mov b32 $r1 c0[0x4]
> 00000290: fc109c20 120e0000 set f32 $r2 gt f32 $r1 0x0
> 00000298: fc105c20 108e0000 set f32 $r1 lt f32 $r1 0x0
> 000002a0: 04205d00 50000000 add rn f32 $r1 $r2 neg $r1
> -000002a8: 70105c12 30ff243f join mul f32 $r1 $r1 0x3fc90fdc
> +000002a8: 6c105c12 30ff243f join mul f32 $r1 $r1 0x3fc90fdb
> 000002b0: c0001d00 50004000 B add rn f32 $r0 $r0 neg c0[0x30]
> 000002b8: d0105d00 50004000 add rn f32 $r1 $r1 neg c0[0x34]
> 000002c0: 00001c00 58000000 mul rn f32 $r0 $r0 $r0
More information about the mesa-dev
mailing list