[Mesa-dev] Unknown Opcode 35

gianluca gianluca at sottospazio.it
Tue May 25 12:25:23 PDT 2010


On Tue, May 25, 2010 at 11:57:23AM +0200, Marek Olšák wrote:
> The patch looks good but it's r5xx-only. I'll commit this when an r3xx
> version is implemented too.

yes I realized that the opcode is R500 only. I've taken a different approach
using transformations which works too, but I don't know if it's acceptable.

I'm attaching the patch which also handles the SLE case.

> 
> -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 --------------
A non-text attachment was scrubbed...
Name: opcode35-2.patch
Type: text/x-diff
Size: 1299 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20100525/ba551957/attachment.patch>


More information about the mesa-dev mailing list