X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=TODO.markdown;h=5830680b9adb5e86827a807bdcf0740134e4c8ef;hb=905c1283897c27188ef1984f302379befc9de9b5;hp=f0e0d8e62dc4c6a30a36c4175b595f3fa4873512;hpb=7cca1d73cdfe0d9dc3a149b01467e33cf220b8e3;p=apitrace diff --git a/TODO.markdown b/TODO.markdown index f0e0d8e..5830680 100644 --- a/TODO.markdown +++ b/TODO.markdown @@ -27,10 +27,9 @@ Tracing * Start tracing on demand (e.g., key-press, or by frame no), emitting calls that recreate all current state. -* Add option to include call stack frames in the trace +* Add option to include call stack frames in the trace. -* Call gzflush() only when there is a signal/exception, except of doing it on - every call. +* Trace the internal GL calls done by GLU on Mac OS X & Windows. Retracing @@ -43,18 +42,7 @@ Retracing * Support multiple threads -* Provide a readline-like interactive mode to gltrace - - * http://github.com/antirez/linenoise - - * https://github.com/antirez/linenoise/issues#issue/8 - - * http://hg.youterm.com/radare/file/87579f8c5087/src/dietline.c - -* Plug memory leaks. - -* Allow to retrace with two libGL.so in parallel, and output differences in - rendered frames / draw calls. +* Leverage `ARB_debug_output` where available. * D3D support. @@ -66,12 +54,67 @@ GUI * Visualize meshes in draw commands. +* Breakpointing and step-by-step debugging. -Other: +CLI +--- -* Side-by-side trace diffing; either as a separate tool on or the GUI. +* Add retrace Replay all the calls in a trace +* Add trim Trim a trace by including only the specified calls/frames +* Add dump-state Output the OpenGL state in JSON format +* Add dump-images Create image files for each frame/drawing operation of a trace +* Add diff-images Identify differences between images and another trace + +* Add some common command-line options: + + Most commands acting on a trace accept the following common options: + + --calls=[RANGE] Operate only on calls with index numbers within + the specified range. + + --frames=[RANGE] Operate only on frames with index numbers within + the specified range. + + --functions=[REGEXP] Operate only on function calls which have a + name that matches the given regular expression. + + A [RANGE] can be any of the following: + + Example Description + ------- ----------- + 4 A single number specifying a single call or frame. -* Side-by-side state diffing. + 10-20 Two numbers separated by '-' (FIRST-LAST) specifying a + range of consecutive calls/frames from FIRST to LAST. If + either of FIRST or LAST is omitted, the first or last + call/frame index in the trace will be used. + + 1-100/5 Either of the above range specifications followed by '@' + and a number (INTERVAL). This specifies the inclusion of + only each INTERVAL call/frame within the range. For + example, 1-100@5 species frame 1, frame 5, frame 10, + ... up to frame 100. + + 4,10-20/2 A comma separated list of any of the above range + specifications, specifying the union of the ranges. + +* Add some retrace-specific options (-b, -db, -sb, -v) + +* Add some trime-specific options (--every={draw,framebuffer,frame}) + +* Accept a filename for --calls or --functions (to use the same calls + or functions as present in a trace dump). + +* Add an "apitrace bisect" for trimming down a trace based on user + input at each stage. + +* Add an "apitrace git-bisect-helper" for calling from git-bisect. + + +Other +----- + +* Side-by-side trace diffing; either as a separate tool on or the GUI. * Ability to extract just a single frame from a trace, and all previous calls that contributed to it: @@ -82,4 +125,10 @@ Other: of the frame. -See also FIXME, TODO, and XXX comments on the source code. +See also: + +* open issues on [github](https://github.com/apitrace/apitrace/issues) + +* _Known issues_ section in BUGS.markdown + +* FIXME, TODO, and XXX comments on the source code.