[Mesa-dev] [PATCH 00/10] i965: Separate VS/FS sampler tables.

Kenneth Graunke kenneth at whitecape.org
Wed Aug 14 18:55:06 PDT 2013


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.



More information about the mesa-dev mailing list