summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Turner <mattst88@gmail.com>2015-03-28 11:18:15 -0700
committerMatt Turner <mattst88@gmail.com>2015-03-28 11:18:15 -0700
commitee4869070a5b1f64770310bbf91c214ec3bb39ba (patch)
tree45186fdbaed665193e3741bc66d5f80a514d8f4b
parent9fb25dec610c7db6feb9f80e5d5865d43c58f40a (diff)
Update README.
-rw-r--r--README32
1 files changed, 24 insertions, 8 deletions
diff --git a/README b/README
index 6958d83..4e09937 100644
--- a/README
+++ b/README
@@ -4,6 +4,8 @@ A giant pile of shaders from various apps, for whatever purpose. In
particular, we use it to capture assembly output of the shader
compiler for analysis of regressions in compiler behavior.
+Currently it supports Mesa's i965 driver only.
+
=== Capturing shaders ===
env MESA_GLSL=dump appname |& tee log
./split-to-files.py appname log
@@ -12,15 +14,29 @@ env MESA_GLSL=dump appname |& tee log
$EDITOR shaders/appname/*
=== Running shaders ===
-# We rely on piglit binaries to actually execute the shader code.
-# Replace this path with wherever you actually built piglit.
-ln -s $HOME/src/piglit/bin ./
-
-# this relies on i965 driver debug output, hack it up for anything else.
-./run.py |& tee new-run
+./run shaders 2> err | tee new-run
# To run just a subset:
-./run.py shaders/supertuxkart |& tee new-run
+./run shaders/supertuxkart 2> err | tee new-run
+
+Make sure to check the contents of 'err' after your run.
+
+To compile shaders for an i965 PCI ID different from your system, pass
+
+ -p {i965,g4x,ilk,snb,ivb,hsw,byt,bdw}
+
+to run.
=== Analysis ===
-./result.py old-run new-run
+./report.py old-run new-run
+
+=== Dependencies ===
+run requires some GNU C extensions, render nodes (/dev/dri/renderD128),
+libepoxy, OpenMP, and Mesa configured with --with-egl-platforms=x11,drm
+
+=== jemalloc ===
+Since run compiles shaders in different threads, malloc/free locking overhead
+from inside Mesa can be expensive. Preloading jemalloc can cut significant
+amounts of time:
+
+LD_PRELOAD=/usr/lib64/libjemalloc.so.1 ./run shaders 2> err | tee new-run