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

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. :)

[1] Olano, Marc. "Modified Noise for Evaluation on Graphics Hardware".
      Proceedings of Graphics Hardware 2005, Eurographics/ACM SIGGRAPH,
      July 2005.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEARECAAYFAkk/S7AACgkQX1gOwKyEAw/XrQCgm0A4Yxkr7cPQfnHNSWzKUpFP
csUAoJhzIZ+7CRYOyTIQ88RAv7c35lUr
=TNAd
-----END PGP SIGNATURE-----

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

Reply via email to