-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Brian Paul wrote: > Ian Romanick wrote: > >> This patch adds the missing NV_vertex_program2 and NV_vertex_program3 >> instructions to the various internal tables. It does not add support >> for them to the parser nor does it add support for them to the program >> interpreter. >> >> It will probably a bit before I can add support to the parser. I'm >> still trying to understand how src/mesa/shader/grammar works (and why >> that was used instead of flex & byacc). > > The ARB program parser is a bit of a mystery to me too.
:( > If I'd rewrite the parsers toay I'd probably use lex/yacc. I originally > implemented my own recursive descent parsers for the NV extensions > because the language was pretty simple. Judging from LOC and > understandability, I don't think I did too bad. I think initially the PSU students are going to develop their code outside Mesa. This is just to keep the learing curve down. Once they're able to generate something (and we can verify that it's a correct something), we'll work it into Mesa CVS (probably a branch). We (read: I) were looking at building a standalone test framework for that. I still hadn't decided how I wanted to get programs, especially programs that use the added instructions, in. I had considered writing a simple parser in lex & byacc, but I'd like to avoid doing too much extra work. However, it's starting to sound like a better idea. :( >> Index: src/mesa/shader/program.c >> =================================================================== >> RCS file: /cvs/mesa/Mesa/src/mesa/shader/program.c,v >> retrieving revision 1.35 >> diff -u -d -r1.35 program.c >> --- src/mesa/shader/program.c 5 Nov 2005 20:18:18 -0000 1.35 >> +++ src/mesa/shader/program.c 7 Nov 2005 16:57:34 -0000 > > [...] > >> - { OPCODE_TXD, "TXD", 3 }, >> + { OPCODE_TXD, "TXD", 2 }, > > > Why that change? TXD takes 3 vector arguments, the texcoord, the > partial derivates wrt X, and the partial derivatives wrt Y. It appears that you are correct. One of the various NV_fragment_program* specs that I looked at listed it as taking only 2 vector inputs. I made the change based on that. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.6 (GNU/Linux) iD8DBQFDb6SgX1gOwKyEAw8RAjrxAJoDji8mu966QQ0Cpx2ozCMPuTerTQCfTC4i d3UQuMBsiAL13w+iLH9jcpI= =I47A -----END PGP SIGNATURE----- ------------------------------------------------------- SF.Net email is sponsored by: Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42" plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php _______________________________________________ Mesa3d-dev mailing list Mesa3d-dev@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mesa3d-dev