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. -Brian _______________________________________________ Piglit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/piglit
