[Piglit] [PATCH 00/11] OpenGL fast skipping for native tests.

Dylan Baker baker.dylan.c at gmail.com
Thu Nov 5 17:05:44 PST 2015


On Thu, Nov 05, 2015 at 02:16:38PM -0800, baker.dylan.c at gmail.com wrote:
> From: Dylan Baker <baker.dylan.c at gmail.com>
> 
> One of the problems with piglit is the runtime, especially on older
> platforms where large numbers of tests skip. The average runtime on HSW
> for a shader_runner test that skips is about .05 seconds. This seems
> pretty small, until one considers that there are ~3000 skipping shader
> tests, and that number will only grow as more feature are added to
> piglit.
> 
> This patch implements a Mixin class for Test derived classes that
> implements skipping based on OpenGL and OpenGL ES extensions, version,
> and shader language version. It relies on wflinfo for this information,
> but will fall back if wflinfo isn't available.
> 
> This mixin is provided to ShaderTest and GLSLParserTest, which already
> have this information readily available to them (or can easily gather
> it), and improves their run time on all platforms substantially.
> 
> On g965, this reduced piglit runtime for gpu.py by roughly 25%, using
> '-c' with two cores.
> 
> Patches 1-2: My global options series which has been on the list,
>              I'll likely merge that soon unless there are objections
> Patch 3:     Fixes a bug in one of the test generators
> 
> The remaining patches implement the fast skipping feature.
> 
> The design of this mixin is conservative. I would prefer to run a few
> tests that could be skipped, but never skip one that could be run than
> the opposite.
> 
> It might also be worth having (though it is no way required) my patch to
> update glslparser to know about GLES 3.1 and GLES 3.2, since without it
> one test (at least for me) will go from fail to skip.
> 

There is probably one more thing that deserves to be added here.
Ilia had mentioned filter before run time on IRC. There is a lot of
merit to this approach, since it could lower runtime more.

The problem with this approach is two-fold. First, there isn't a good
way to put these results into the output results. Second, it interferes
with plans that we have to "compile" the all.py and friends into a plain
text file at compile time.

Dylan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/piglit/attachments/20151105/5edfd0cb/attachment.sig>


More information about the Piglit mailing list