[Mesa-dev] i965 SamplerUnits rework
Kenneth Graunke
kenneth at whitecape.org
Fri Aug 24 19:52:04 PDT 2012
On 08/24/2012 10:07 AM, Eric Anholt wrote:
> Kenneth Graunke <kenneth at whitecape.org> writes:
>
>> Greetings!
>>
>> This series reworks how i965 deals with sampler indirections, changing it
>> to use linker-assigned sampler variable IDs in SEND instructions rather
>> than baking in the ID of the texture unit they happen to be bound to.
>>
>> Instead, it now encodes that mapping in the binding, sampler state,
>> and sampler default color tables, which are updated and re-emitted at least
>> once per batch anyway.
>
> Nice work! I think there's a cleanup available by making the texture
> state part of the program key sampler-indexed as well, but that's
> something that can be done later. The texunit name change in the early
> patches definitely helped make for easy reviewing.
>
> Long term, we'll have to split our sampler/texture state tables for
> ARB_sso, but I'm OK with this series because nobody uses EXT_sso and it
> fixes a massive performance bug.
Yeah, I neglected to mention...I'm not sure how best to do this in the
presence of separate shader objects. To clarify, though, you're saying
that we have a pre-existing bug in our EXT_sso support, right? Not that
my series breaks it.
> There's also a minor bug that we now
> don't recompile when the sampler for a rectangle texture changes, and
> the mesa derived state we reference pre-snb is based on the texunit.
>
> Reviewed-by: Eric Anholt <eric at anholt.net>
I'll have to look into that, thanks...
More information about the mesa-dev
mailing list