[Mesa-dev] Unknown Opcode 35

Marek Olšák maraeo at gmail.com
Tue May 25 02:57:23 PDT 2010


The patch looks good but it's r5xx-only. I'll commit this when an r3xx
version is implemented too.

-Marek

On Mon, May 24, 2010 at 6:00 PM, Gianluca Anzolin
<gianluca at sottospazio.it>wrote:

> Hello,
>
> Yesterday I was trying to run an example taken from chapter 6 of the book
> OpenGl
> Shading Language with the new gallium driver (I have a RV570 graphic card),
> but
> I got this error when compiling the vertex shader: Unknown opcode 35.
>
> Digging in the source code I found that the opcode 35 is for the > operator
> between two vectors (RC_OPCODE_SGT). It's related to the following vertex
> shader code:
>
>    if (diffuse > 0.0)
>    {
>        spec = max(dot(reflectVec, viewVec), 0.0);
>        spec = pow(spec, 16.0);
>    }
>
>
>
> When I changed the comparison to ">=" the problem disappeared. Infact there
> is
> no switch case for RC_OPCODE_SGT in the file r3xx_vertprog.c. I added that
> case
> to the switch statement (see the patch attached) and I got it working even
> with
> the ">" operator.
>
> I hope the patch is correct, if there is a better fix I'd really like to
> know.
>
> Thanks,
>
> Gianluca
>
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20100525/b36af912/attachment.htm>


More information about the mesa-dev mailing list