[Piglit] faster piglit start-up

Eric Anholt eric at anholt.net
Wed Apr 12 20:32:31 UTC 2017

Brian Paul <brianp at vmware.com> writes:

> When we run piglit the all.py script traverses the entire tests/ and 
> generated/tests/ directories looking for *.shader_test, *.vert, *.frag, 
> etc. shaders to run.  In the generated_tests/ directory, there's about 
> 60,000 entries to scan (ls -R generated_tests|wc)
> This takes some time, especially so with MinGW in a Windows VM.  Between 
> that and other setup overhead it takes about 8 minutes on my system 
> before any tests are run.  Ugh.  Linux is much faster but there's still 
> a start-up lag.
> I'd like to trim this down.  The prime area I'm looking at is skipping 
> swaths of tests when we know the particular feature is not supported by 
> the GL driver.
> In framework/driver_classifier.py we run glxinfo to get the GL renderer 
> string, etc.  I'm looking at expanding this to get the driver's GL and 
> GLSL versions, extension list, etc.
> Then, in all.py when we're scanning the tests directory and we find 
> somthing like "spec/arb_gpu_shader_fp64" which may not be supported by 
> the driver, we can skip that directory.  For drivers which don't support 
> all the latest GL 4.x extensions (like VMware's) we can save a lot of 
> time by skipping subdirectory traversals and building the test list.
> I'm digging into this now but it'll probably be a few days before I'll 
> have something to review.
> I'd be interested to hear any other ideas to reduce start-up time.

vc4 is also terrible to test these days due to the explosion of
generated shader_tests we have -- I've got them hacked out of my builds
due to FS space used and the minutes it takes to start piglit when
they're present.

For a solution to the startup time, I wish we would just build our whole
test list using filesystem walks or whatever at piglit build time,
instead of executing python to build the test list per piglit run.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 832 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/piglit/attachments/20170412/7fd8ce04/attachment.sig>

More information about the Piglit mailing list