Currently, i965 uploads a single SAMPLER_STATE table shared across all shader stages (VS, FS). This series splits it out, uploading a unique table for each stage.
I think this may actually fix some bugs with vertex texturing: Piglit's fragment-and-vertex-texturing uses two textures (unit 0 and unit 1), one in each shader. vs->SamplersUsed and fs->SamplersUsed both only have one bit set (bit 0), but vs->SamplerUnits and fs->SamplerUnits map them differently (units 0 and 1). The existing code would select fs->SamplerUnits[0], ignoring vs->SamplerUnits[0]. If the two textures had, say, different wrap modes, this would probably illustrate the problem. It also just seems like a good idea. The border color code in particular is much nicer after this change, as it's not directly tied to brw->wm any longer (even though textures can be used in all shader stages). No observed Piglit changes on Ivybridge. _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev