]> git.cworth.org Git - fips/blob - TODO
TODO: Remove bug causing libfips-32.so to not build.
[fips] / TODO
1 Known bugs
2 ==========
3 undefined symbol: glGenQueries
4
5         The problem here is code in libfips directly calling OpenGL
6         functions like glGenQueries but not linking against any OpenGL
7         library.
8
9         We don't want to link against any OpenGL library so that the
10         application itself can choose which OpenGL to use (and how to
11         link/load it).
12
13         The trick is to instead make these calls indirectly by first
14         calling glXGetProcAddressARB/eglGetProcAddress. There's some
15         proof-of-concept code for this in the stash-egl-lookup-fixups
16         branch, (which needs some cleaning up).
17
18 Feature requests (small-scale, near-term changes)
19 =================================================
20
21 Report CPU load per frame.
22
23 Report GPU load per frame.
24
25 Report CPU frequency per frame.
26
27 Report GPU frequency per frame.
28
29 Report shader compilation time.
30
31 Add Eric's tiny hash table for collecting per-shader statistics
32
33         people.freedesktop.org:~anholt/hash_table
34
35 Sort list of shaders in output
36
37 Use better units for shader activity (eg. absolute time, relative percentage)
38
39 Capture GPU performance counters.
40
41 Allow dumping of shader source for investigation
42
43 Infrastructure (larger-scale things, more future-looking items)
44 ===============================================================
45
46 Use ncurses for a better top-like display.
47
48 Emit per-frame data in a format for external timeline viewer.
49
50 Allow enabling/disabling of tracing at run-time
51
52         Such as via signals, (optionally specified by env. variable)
53
54 Investigation for other potential features
55 ==========================================
56
57 Audit Eric's recipe for performance tuning to see what else fips
58 should automatically collect:
59
60         http://dri.freedesktop.org/wiki/IntelPerformanceTuning/
61
62 Audit exisiting visualization tools before writing one from scratch
63
64         Eero suggested that pytimechart might be well-suited:
65
66                 http://pythonhosted.org/pytimechart/index.html
67
68         Others?
69
70 Explore using perf/LTTng probing instead of LD_PRELOAD wrapper
71
72         This has the advantage of allowing full-system,
73         multi-process data collection.