Test case fptex.c fails. This test case exercises available texture image units from ARB_fragment_program shaders. I bisected the failure to the commit below. I looked at the change, and I don't see anything obviously wrong. Ugh. :( commit 4a6ad999ea312f0af85de621c8b6a15a3d3b7ffd Author: Brian Paul <brianp@vmware.com> Date: Thu Jan 1 14:04:57 2009 -0700 i965: increase number of texture samplers to 16 This lets GLSL shaders use up to 16 samplers. Fixed function is still limited to 8 textures. Tested with progs/glsl/samplers.c
fptex.c? I don't see a file by that name in the Mesa tree.
arbprogparse appears to be clueless about texture image units versus coord units.
Invalid texture unit index File - fptex.c, line - 1075. !!ARBfp1.0 OUTPUT out = result.color; TEMP textemp1, textemp2; TEX textemp1, fragment.texcoord[7],texture[7], 1D; TEX textemp2, fragment.texcoord[6],texture[8], 1D; ADD out, textemp1, textemp2; END
Created attachment 21961 [details] [review] Check the texture coordinate and texture image unit separately. Proposed fix. Check the texture coordinate and texture image unit separately. I haven't checked to see if nvprogparse.c needs the same treatment. I haven't tested this yet either.
Ian, I was about to post a patch as well. Your's and mine look nearly identical. If it indeed fixes the bug go ahead and commit.
I verified the proposed fix a couple minutes ago, and everything looks good. I committed as 2549c26a8b1eec21bdd8f45d3b3dd06e17ac82ae.
Mass version move, cvs -> git
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.