]> git.cworth.org Git - fips/commitdiff
Add a TODO file
authorCarl Worth <cworth@cworth.org>
Thu, 13 Jun 2013 17:37:36 +0000 (10:37 -0700)
committerCarl Worth <cworth@cworth.org>
Thu, 13 Jun 2013 17:37:36 +0000 (10:37 -0700)
This captures known bugs, planned (near-term) features, planned
(longer-term) infrastructure changes, and some ideas for other things
to investigate.

Many thanks to Eero Tamminen whose recent discussions and ideas
prompted the creation of this file, (and much of the content).

TODO [new file with mode: 0644]

diff --git a/TODO b/TODO
new file mode 100644 (file)
index 0000000..8c1e65b
--- /dev/null
+++ b/TODO
@@ -0,0 +1,93 @@
+Known bugs
+==========
+
+Failure to build libfips-32.so on amd64 without gcc-multilib package
+
+       Configure script should do a test-compile with "#include
+       <features.h>"
+
+       Configure script should disable compilation of
+       cross-architexture library if dependencies are missing (and
+       inform the user)
+
+       Here's a debootstap recipe that can be used for testing:
+
+          apt-get install debootstrap
+          mkdir /home/chroot/ubuntu
+          debootstrap precise /home/chroot/ubuntu <Ubuntu mirror>
+          chroot=/home/chroot/ubuntu/12.04
+          mount --bind /dev/pts $chroot/dev/pts
+          mount --bind /proc $chroot/proc
+          chroot $chroot
+
+undefined symbol: glGenQueries
+
+       The problem here is code in libfips directly calling OpenGL
+       functions like glGenQueries but not linking against any OpenGL
+       library.
+
+       We don't want to link against any OpenGL library so that the
+       application itself can choose which OpenGL to use (and how to
+       link/load it).
+
+       The trick is to instead make these calls indirectly by first
+       calling glXGetProcAddressARB/eglGetProcAddress. There's some
+       proof-of-concept code for this in the stash-egl-lookup-fixups
+       branch, (which needs some cleaning up).
+
+Feature requests (small-scale, near-term changes)
+=================================================
+
+Report CPU load per frame.
+
+Report GPU load per frame.
+
+Report CPU frequency per frame.
+
+Report GPU frequency per frame.
+
+Report shader compilation time.
+
+Add Eric's tiny hash table for collecting per-shader statistics
+
+       people.freedesktop.org:~anholt/hash_table
+
+Sort list of shaders in output
+
+Use better units for shader activity (eg. absolute time, relative percentage)
+
+Capture GPU performance counters.
+
+Allow dumping of shader source for investigation
+
+Infrastructure (larger-scale things, more future-looking items)
+===============================================================
+
+Use ncurses for a better top-like display.
+
+Emit per-frame data in a format for external timeline viewer.
+
+Allow enabling/disabling of tracing at run-time
+
+       Such as via signals, (optionally specified by env. variable)
+
+Investigation for other potential features
+==========================================
+
+Audit Eric's recipe for performance tuning to see what else fips
+should automatically collect:
+
+       http://dri.freedesktop.org/wiki/IntelPerformanceTuning/
+
+Audit exisiting visualization tools before writing one from scratch
+
+       Eero suggested that pytimechart might be well-suited:
+
+               http://pythonhosted.org/pytimechart/index.html
+
+       Others?
+
+Explore using perf/LTTng probing instead of LD_PRELOAD wrapper
+
+       This has the advantage of allowing full-system,
+       multi-process data collection.