[Mesa-dev] [RFC PATCH] Add support for ARB_vertex_type_2_10_10_10_rev on i965

Kenneth Graunke kenneth at whitecape.org
Sat Oct 13 19:13:04 PDT 2012

On 10/09/2012 01:06 PM, Kenneth Graunke wrote:
> On 10/09/2012 02:33 AM, Chris Forbes wrote:
>> This series almost adds support for ARB_vertex_type_2_10_10_10_rev on
>> i965.
>> Working from the Sandybridge and Ivybridge PRMs, this ought to work
>> (what look
>> like the correct dwords end up in the batch, etc).
>> Details pieced together from both PRMs, since the Sandybridge PRM
>> references
>> surface format encodings which aren't in its master table, and the
>> Ivybridge
>> PRM is missing the data on which formats are usable in vertex buffers.
>> Any hints on what I'm missing -- and trying it on an Ivybridge
>> machine, where
>> the formats *definitely* ought to all exist -- would be appreciated.
> Hi Chris,
> I looked over your patches this morning and at first glance, they look
> good!   Unfortunately, I ran the piglit tests and got failures.  Not
> entirely sure what's going on there.  Endianness issues perhaps?
> I'll try and take a more detailed look later this week.
> Thanks so much for doing this!
> --Ken

Unfortunately, it's looking like the 10_10_10_2 USCALED/SSCALED formats 
don't work in hardware, at least on Ivybridge...the vertices get 
converted to floats incorrectly.  Apparently the workaround is to pass 
them in as UINT and emit shader code to fix it up (similar to how we do 
for GL_FIXED).  I'll try and investigate more and send patches...

It also appears that some of our snorm conversion code in the vbo module 
is incorrect.  I'll try and send out patches for these too.

More information about the mesa-dev mailing list