[Piglit] [PATCH] primitive-restart: test primitive-restart with VBO

Brian Paul brianp at vmware.com
Thu May 10 07:10:22 PDT 2012

On 05/09/2012 05:56 PM, Jordan Justen wrote:
> One additional note:
> This test passed with NVidia's driver, but failed with llvmpipe.
> I'm not certain if the test or llvmpipe is to blame. So, feedback
> either pointing out a test flaw, or known issue with llvmpipe would be
> appreciated.

It looks like you've exposed a new bug with VBOs.  You're storing both 
the vertex arrays and vertex indexes in a single VBO (which is a 
little unusual).  Looks like something in Gallium is choking on that.

I modified your code to use separate VBOs for vertex data and indexes 
and then the test passes with softpipe/llvmpipe.  Perhaps you can roll 
the attached patch into your change.

I'd like to have a separate test to check the case of one VBO 
containing both vertex data and index data.  Would you be interested 
in writing such a test?

Also, the primitive-restart test could be improved in another way. 
After drawing the test pattern, we should probe pixel (0,0) to check 
that it's black.  As it turns out, when there are primitive restart 
failures/bugs, we often get a bogus vertex at (0,0) and the 
triangles/lines are distorted/stretched to (0,0).  When I was 
debugging the llvmpipe failure I noticed that one of the line strip 
tests was passing the test, but was in fact drawn incorrectly. 
Probing (0,0) would have caught the false positive.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: restart-vbo.patch
Type: application/pgp-keys
Size: 2461 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/piglit/attachments/20120510/de756c83/attachment.key>

More information about the Piglit mailing list