Age | Commit message (Collapse) | Author | Files | Lines |
|
Reviewed-by: Matt Turner <mattst88@gmail.com>
|
|
Reviewed-by: Matt Turner <mattst88@gmail.com>
|
|
|
|
|
|
Lets me use run.py without extra arguments without X.
|
|
|
|
Print a warning and append shader-db's arguments instead
|
|
|
|
INTEL_DEBUG=wm will probably go away at some point.
|
|
Fixes problems with warsow/25.shader_test, and would help Unigine
shaders as well.
|
|
This was only needed for compiling the outdated Unigine shaders,
which I don't care about - the newer Unigine code doesn't need this.
It apparently also breaks things these days, since it enables
GL_ARB_gpu_shader5, which treats 'sample' as a reserved word.
Reported-by: Matt Turner <mattst88@gmail.com>
|
|
|
|
v2 (Ken): Keep the code to skip .out files.
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
|
|
Instead of counting lines to determine the number of lines in the .out
file, walk the .out file looking for the results that mesa printed into
the out file.
(Note by Ken): This also makes run.py strict - if a shader fails to
compile, it will generate an exception. This helps prevent people from
commiting corrupt shader files.
Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
|
|
Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
|
|
Previously process_directories was a function that operated on a
toplevel directory recursively. This replacment uses os.walk() and is a
generator, which reduces memory consumption and is lazy.
Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
|
|
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
|
|
argparse.ArgumentParser() is a modern way of parser argument in python,
it's object oriented, clean, and provides lots of nice features.
Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
|
|
This is PEP8 sytle
Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
|
|
Split imports one module per line and remove any unused imports.
Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
|
|
Python3 doesn't allow mixed tabs and spaces. Its surprising that this
code doesn't raise a runtime exception as is
Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
|
|
|
|
Popen returns when the new process is opened, not when it's done.
|
|
Tested on orbital-explorer.
|
|
|
|
Generally we want our count to approximate time, and the two SIMD8
instructions are same time as a SIMD16 instruction, except for the
cost to instruction cache pressure. This pattern happens for MAD and
LRP a lot, and there are other cases, too. Double-counting these
meant that we basically couldn't use shader-db to validate
optimizations involving those instructions.
|
|
|
|
|
|
|
|
|
|
If you compile regular expressions, you're supposed to invoke them like
this. I guess the other way works but usually those functions are only
used with non-compiled pattern strings.
|
|
This can be useful for looking at startup time optimization. If you
just sysprof a whole run.py, all you learn is that we spend a lot of
time in reading builtins for all those short shaders.
|
|
I often wonder about this after the fact, and it's slow enough that
running again under "time" sucks.
|
|
|
|
i965's clear metaops shader shouldn't count against each program.
|
|
|
|
|
|
Making other people replace my path with their path sucks.
|
|
Now that we've accumulated a non-trivial amount of shaders, running
shader-db takes far too long. Parsing the shaders in parallel is
embarassingly easy and gives roughly a 4x speed-up on my dual-core
hyperthreaded Ivybridge system.
This may not be the most efficient way to implement the thread pools,
but it seems to work well enough. Requires Python 3.2.
|
|
There's just no reason to be using Python 2 anymore.
Aside from the usual print() changes, this requires converting the
output of subprocess.Popen.communicate() from a byte string to a proper
Python str object.
|
|
This one parses the 8/16 wide fs separately, writes test output to a
file, and handles ^C sanely.
|