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

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Tue Jun 8 09:26:01 PDT 2010


https://bugs.freedesktop.org/show_bug.cgi?id=27901

--- Comment #20 from Conn Clark <conn.o.clark at gmail.com> 2010-06-08 09:26:01 PDT ---
On Tue, Jun 8, 2010 at 9:09 AM,  <bugzilla-daemon at freedesktop.org> wrote:
> https://bugs.freedesktop.org/show_bug.cgi?id=27901
>
> --- Comment #19 from Conn Clark <conn.o.clark at gmail.com> 2010-06-08 09:09:49 PDT ---
> 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) .
>
> --
> 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
>


Nope Andre, is right.


the evergreen docs describe the sine function as follows

Scalar sine. Input must be normalized from radians by dividing by
2*PI. The valid input
domain is [-256, +256], which corresponds to an un-normalized input
domain [-512*PI,
+512*PI]. Out-of-range input results in float 0.


while the r600 describes the sine function as follows

Scalar sine. Valid input domain [-PI, +PI].

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the dri-devel mailing list