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

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Wed May 19 15:58:12 PDT 2010


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

--- Comment #4 from Alain Perrot <alain.perrot at gmail.com> 2010-05-19 15:58:12 PDT ---
(In reply to comment #3)
> Alain,
> 
> Okay, The patch I just posted might fix this bug. It doesn't cause any
> additional errors in piglit either.  I think its working right with
> http://github.com/jckarter/hello-gl-ch3 too. Of course I have only tested it on
> my RadeonHD 3100 and its my first attempt at r600 assembly so let me know if it
> works for you. 
> 
> Note: it could probably be done so its faster but I'm still not to sure on how
> everything works yet in the software
> 
> Conn

Thanks for your help.

Unfortunately, your patch does not fix the cos/sin functions (at least on my
Radeon HD 3870 / RV670). The hello-gl-ch3 example works better but still not as
expected, you can compare with Mesa software rendering.

I tried to play with your patch to make it work without success for now. A note
is that there may be a mistake on the last operand to the CNDGT instruction :

+    setaddrmode_PVSSRC(&(pAsm->S[2].src), ADDR_ABSOLUTE);
+    pAsm->S[1].src.rtype = DST_REG_TEMPORARY;
+    pAsm->S[1].src.reg   = tmp2;
+    setswizzle_PVSSRC(&(pAsm->S[2].src), SQ_SEL_X);

should probably be :

+    setaddrmode_PVSSRC(&(pAsm->S[2].src), ADDR_ABSOLUTE);
+    pAsm->S[2].src.rtype = DST_REG_TEMPORARY;
+    pAsm->S[2].src.reg   = tmp2;
+    setswizzle_PVSSRC(&(pAsm->S[2].src), SQ_SEL_X);

But this update does not make the cos/sin functions work.

I will try again tomorrow.

-- 
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