]> git.cworth.org Git - fips/blob - TODO
configure: Test whether compiler can create both 32 and 64-bit binaries
[fips] / TODO
1 Known bugs
2 ==========
3
4 Failure to build libfips-32.so on amd64 without gcc-multilib package
5
6         Configure script should do a test-compile with "#include
7         <features.h>"
8
9         Configure script should disable compilation of
10         cross-architexture library if dependencies are missing (and
11         inform the user)
12
13         Here's a debootstap recipe that can be used for testing:
14
15            apt-get install debootstrap
16            mkdir /home/chroot/ubuntu
17            debootstrap precise /home/chroot/ubuntu <Ubuntu mirror>
18            chroot=/home/chroot/ubuntu/12.04
19            mount --bind /dev/pts $chroot/dev/pts
20            mount --bind /proc $chroot/proc
21            chroot $chroot
22
23 undefined symbol: glGenQueries
24
25         The problem here is code in libfips directly calling OpenGL
26         functions like glGenQueries but not linking against any OpenGL
27         library.
28
29         We don't want to link against any OpenGL library so that the
30         application itself can choose which OpenGL to use (and how to
31         link/load it).
32
33         The trick is to instead make these calls indirectly by first
34         calling glXGetProcAddressARB/eglGetProcAddress. There's some
35         proof-of-concept code for this in the stash-egl-lookup-fixups
36         branch, (which needs some cleaning up).
37
38 Feature requests (small-scale, near-term changes)
39 =================================================
40
41 Report CPU load per frame.
42
43 Report GPU load per frame.
44
45 Report CPU frequency per frame.
46
47 Report GPU frequency per frame.
48
49 Report shader compilation time.
50
51 Add Eric's tiny hash table for collecting per-shader statistics
52
53         people.freedesktop.org:~anholt/hash_table
54
55 Sort list of shaders in output
56
57 Use better units for shader activity (eg. absolute time, relative percentage)
58
59 Capture GPU performance counters.
60
61 Allow dumping of shader source for investigation
62
63 Infrastructure (larger-scale things, more future-looking items)
64 ===============================================================
65
66 Use ncurses for a better top-like display.
67
68 Emit per-frame data in a format for external timeline viewer.
69
70 Allow enabling/disabling of tracing at run-time
71
72         Such as via signals, (optionally specified by env. variable)
73
74 Investigation for other potential features
75 ==========================================
76
77 Audit Eric's recipe for performance tuning to see what else fips
78 should automatically collect:
79
80         http://dri.freedesktop.org/wiki/IntelPerformanceTuning/
81
82 Audit exisiting visualization tools before writing one from scratch
83
84         Eero suggested that pytimechart might be well-suited:
85
86                 http://pythonhosted.org/pytimechart/index.html
87
88         Others?
89
90 Explore using perf/LTTng probing instead of LD_PRELOAD wrapper
91
92         This has the advantage of allowing full-system,
93         multi-process data collection.