[Mesa-dev] [PATCH 06/12] i965/fs: Add a sampler program key for whether the texture is 16x MSAA

Ben Widawsky ben at bwidawsk.net
Wed Sep 23 15:15:16 PDT 2015


On Wed, Sep 23, 2015 at 11:12:26PM +0100, Neil Roberts wrote:
> Ben Widawsky <ben at bwidawsk.net> writes:
> 
> > Hmm. As I read it, it sounded like you didn't have to send LOD it's
> > implied to be 0 if you don't send it. If I am wrong about that, then I
> > agree with you completely.
> 
> I'm a bit lost. You're right that it's not necessary to send the LOD
> when it's zero. In fact Mesa never sends it for the TXF_MCS instruction
> presumably because OpenGL doesn't provide a way to make a texture that
> is both multisampled and mipmapped so the LOD will always be zero.
> However I don't see how that relates to deciding whether to always use
> the ld2dms_w instruction or not. The reason I am saying we shouldn't
> always do it is because it makes the sampler message longer and thus
> requires at least one extra instruction to initialise the extra argument
> in the message. The extra argument is due to the second MCS argument
> (mcsh), not the LOD. I don't understand the point you are trying to make
> about the LOD.
> 
> Even without the LOD, the arguments are potentially up to 6
> (si,mcsl,mcsh,u,v,r). On SIMD16 this takes up 12 registers which is
> greater than the maximum of 11 so it has to be broken up into two SIMD8
> messages. This only matters for sampler2DMSArray samplers because
> otherwise the r argument is not needed.
> 
> Apologies if I'm being dumb.
> 
> Regards,
> - Neil

Hmm. For some reason I was thinking we could use 12 registers, and LOD was the
cause of us going over. My bad.


More information about the mesa-dev mailing list