If I interpret the spec right, texture crossbar means that for a GL_TEXTUREn source the texture from unit n is sampled with texture coordinates n, which isn't that to do hard with fragment programs (unless I missed something?). Attached a patch with an attempted crossbar support implementation.
Created attachment 7002 [details] [review] i915 texture crossbar patch
An even better approach is just to switch over to using texenvprogram.c to generate the program. I posted a patch for this a while ago and I've also applied that patch on the texmem branches and consequently removed i915_texprog.c. If you're interested in i915 development, it probably makes sense to jump onto that branch (texmem-0-3-branch) as there is a lot of good stuff that's been done there and we're getting very close to a trunk merge...
Index: src/mesa/drivers/dri/i915/i915_texprog.c [...] - p->src_texture = i915_emit_texld( p, tmp, A0_DEST_CHANNEL_ALL, + p->src_texture[unit] = i915_emit_texld( p, tmp, A0_DEST_CHANNEL_ALL, sampler, texcoord, op ); Hmm. This is the wrong amount of parameters ...
Argh. I've meant this one: - p->src_texture = i915_emit_texld( p, tmp, A0_DEST_CHANNEL_ALL, + p->src_texture[unit] = i915_emit_texld( p, 0, tmp, A0_DEST_CHANNEL_ALL, sampler, texcoord, op );
The bug priority was upgraded (P2->high) with the bugzilla configuration change. I'm Changing the priority back to the normal one. Sorry for the spam.
Crossbar support was brought in a different way with i915tex_dri.so merge.
(In reply to comment #1) > Created an attachment (id=7002) [details] > i915 texture crossbar patch > How do I apply this patch?
No need to apply any patch. Use mesa master.
how do I use Mesa master? I am on a FC6 box, and am reletivly new to the linux experience.
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.