On 01/17/2014 01:57 PM, Chris Forbes wrote:
> Ken,
> 
> Assuming the caches don't completely derail things, you ought to be
> able to make this work with pretty minimal impact:
> 
> - Keep the low four bits of the sampler index where they are
> - If the 5th bit is set:
>     - Force message header on
>     - Add 16*sizeof(sampler_state) to the copy of r0.3 in the header.

Hey, thanks!  I forgot we get a copy of the sampler state table pointer
in the r0.3 header.  With that, it's totally easy.

The one sad thing is that the message header field only exists on
Haswell+.  It's documented in the Ivybridge PRM, but empirically the PRM
appears to be flat wrong.  Ah well...new features on new hardware, I guess.

> We already mangle the copy of r0.2 in various ways for offsetting /
> channel select so this isn't a huge change.
> 
> With 4.0/ARB_gpu_shader5 you need to emit conditional code in some
> cases since you don't always know the sampler index at compile time,
> but it's still pretty manageable.
> 
> -- Chris

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to