Ian Romanick wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Gary Wong wrote: >> On Tue, Dec 09, 2008 at 05:22:55PM -0800, Ian Romanick wrote: >>> How much testing did you do on the noise code that you added to the 965 >>> driver? I modified Mesa's progs/glsl/noise.c demo to use NOISE3 >>> opcodes, and it causes my GPU to hard-lock. This is with today's bits >>> (kernel, Mesa, X server, and 2D driver). >> Oh dear... sorry about that. I did perform minimal testing on my > > It happens. No worries. > >> out-of-date system (965G, Linux 2.6.23, X server 1.4.2, intel 2D 2.2.1, >> and mesa_7_0_branch), with progs/glsl/noise.c and a similar tweak to yours >> to get NOISE3 (as well as the corresponding NOISE1 and NOISE2), and they >> all work for me. I'm afraid I can't easily test newer versions, for >> unrelated reasons. Does mesa_7_0_branch work for you? > > I'll give that a try. If it works, I'll have to cozy up to git-bisect, > I guess. > >>> I first encountered this when I was trying to add support for >>> OPCODE_NOISE4. However, it occurs without any of my changes. >> Interesting -- how is your NOISE4 going? One point you may have >> noticed is that the shader in progs/glsl/noise.c does not initialise >> p.w, which can cause problems for the 4D case (it did for me). I >> got as far as a NOISE4 implementation which mostly works for me (it >> appears to generate correct output for 7 of the 8 concurrently running >> fragments, and junk for the other one). I'm afraid that since then I've >> moved house and started a new job, and been too distracted to look >> into it further. > > Ultimately, I think this is the wrong approach. No GPU implements a > noise instruction, I doubt that one ever will. We really want to have > an implementation in GLSL that all GPUs can use.
Yes, or expressed in terms of Mesa/TGSI instructions at least. > I did an > implementation of Marc Olano's noise function[1]. It was quite fast on > a Geforce 8, but it choked Mesa's GLSL compiler. I'd be interested in seeing the shader, Ian, and fixing the compiler. I know we'll transition to a new compiler, but I want to fix bugs in the current one too. > To be fair, the initial implementation also uncovered a bug in function > overloading in Nvidia's GLSL compiler and an array indexing bug in AMD's > GLSL compiler. I win! :) > > My noise4 work is really just a stop-gap measure. Since we have a > working noise function for 2D inputs, I was just going to use the old > trick of noise2(noise2(x, y), noise2(z, w)). It's ugly and slow, but it > would get rid of the "unknown shader opcode" messages. :) -Brian ------------------------------------------------------------------------------ SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada. The future of the web can't happen without you. Join us at MIX09 to help pave the way to the Next Web now. Learn more and register at http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/ _______________________________________________ Mesa3d-dev mailing list Mesa3d-dev@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mesa3d-dev