[Bug 27901] GLSL cos/sin functions broken on Mesa R600 driver

Conn Clark conn.o.clark at gmail.com
Tue Jun 8 09:09:45 PDT 2010


On Tue, Jun 8, 2010 at 5:53 AM,  <bugzilla-daemon at freedesktop.org> wrote:
> https://bugs.freedesktop.org/show_bug.cgi?id=27901
>
> --- Comment #18 from Andre Maasikas <amaasikas at gmail.com> 2010-06-08 05:53:36 PDT ---
> dont' have much net this week to review/test:(
> but i'm ok with it if you make last mul conditional on r700 as
> it has -1..1 range it seems, also amd shader analyzer gives this difference:
>
> RV610 hd2400
>
> ; --------  Disassembly --------------------
> 00 ALU: ADDR(32) CNT(8)
>      0  y: MULADD      R123.y,  R0.x,  (0x3E22F983, 0.1591549367f).x,
>  0.5
>         z: MOV         R0.z,  0.0f
>         w: MOV         R0.w,  1.0f
>      1  x: FRACT       ____,  PV0.y
>      2  z: MULADD      R123.z,  PV1.x,  (0x40C90FDB, 6.283185482f).y,
> -(0x40490FDB, 3.141592741f).x
>      3  t: SIN         R0.x,  PV2.z
> 01 EXP_DONE: PIX0, R0.xzzw
> END_OF_PROGRAM
>
> 4870 RV770
> ; --------  Disassembly --------------------
> 00 ALU: ADDR(32) CNT(10)
>      0  y: MOV         R0.y,  0.0f
>         z: MOV         R0.z,  1.0f
>         w: MULADD      R123.w,  R0.x,  (0x3E22F983, 0.1591549367f).x,
>  0.5
>      1  y: FRACT       ____,  PV0.w
>      2  x: MULADD      R123.x,  PV1.y,  (0x40C90FDB, 6.283185482f).y,
> -(0x40490FDB, 3.141592741f).x
>      3  z: MUL         ____,  PV2.x,  (0x3E22F983, 0.1591549367f).x
>      4  t: SIN         R0.x,  PV3.z
> 01 EXP_DONE: PIX0, R0.xyyz
> END_OF_PROGRAM
>
> --
> Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
> ------- You are receiving this mail because: -------
> You are the assignee for the bug.
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
>

This is very very strange that amd would change the instruction. I
wonder if it is a bug in their code....   Perhaps we need someone with
an r700 to run the sin and cos tests in piglit . The proposed patch
passes on my rs780 (rv610) .

-- 

Conn O. Clark

Observation: In formal computer science advances are made
by standing on the shoulders of giants. Linux has proved
that if there are enough of you, you can advance just as
far by stepping on each others toes.


More information about the dri-devel mailing list