X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=TODO.markdown;h=2fd23831aa55beec34ef9d7db5a30f5058a39650;hb=4c5f6fa4d7474bc2a13a6c00bd3f4ac47ff56920;hp=b5dd71d55dd3737bf9d604d9bae9748aa15187da;hpb=dc86bfdfaccc4d53944c2c3f666fe33b19bacb81;p=apitrace diff --git a/TODO.markdown b/TODO.markdown index b5dd71d..2fd2383 100644 --- a/TODO.markdown +++ b/TODO.markdown @@ -9,13 +9,7 @@ Tracing * Allow clamping to a GL version or a number of extensions. -* Trace multiple threads: - - * `GetCurrentThreadId()` - - * `pthread_self()` - -* Put zlib (de)compression in a separate thread. +* Put (de)compression in a separate thread. * Trace TSCs @@ -42,7 +36,7 @@ Retracing * Support multiple threads -* Leverage ARB_debug_output where available. +* Leverage `ARB_debug_output` where available. * D3D support. @@ -57,6 +51,60 @@ GUI * Breakpointing and step-by-step debugging. +CLI +--- + +* 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 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. + + 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 ----- @@ -71,4 +119,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.