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.

-Brian

Attachment: restart-vbo.patch
Description: application/pgp-keys

_______________________________________________
Piglit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/piglit

Reply via email to