X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=TODO;h=97ca506b78733968447481c47a6f2fc0febb45ca;hb=9bde72eb176831d6d4b185ec7880ec35e61147f8;hp=0a516f031233be531fd9171c977a2a9dec5c19b1;hpb=46fc0699e30ce9876a3012b6e1a1114bcdcd9177;p=apitrace diff --git a/TODO b/TODO index 0a516f0..97ca506 100644 --- a/TODO +++ b/TODO @@ -2,14 +2,7 @@ (in no particular order) -* Determine blob sizes passed to glXxxPointer functions. - - Potentially using tricks such as: - * http://fixunix.com/linux/337646-isbadreadptr-linux.html - * http://www.gamedev.net/community/forums/topic.asp?topic_id=132787 - * http://msdn.microsoft.com/en-us/library/aa366781(v=VS.85).aspx - * http://msdn.microsoft.com/en-us/library/aa366902(v=VS.85).aspx - * http://stackoverflow.com/questions/1281686/determine-size-of-dynamically-allocated-memory-in-c +Tracing: * Allow clamping to a GL version or a number of extensions. @@ -21,13 +14,65 @@ * Trace TSCs -* Retrace multiple threads (which will imply abandoning GLUT) +* Trace window sizes somehow + +* Allow to distinguish between the calls really done by the program, vs the + fakes one necessary to retrace correctly. + +* Trace writes done through glMapBuffer and glMapBufferRange correctly + +* 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 + + +Retracing: + +* Use visuals that best match those used in the trace; specially auto + detect single/double buffer visuals. + +* Support multiple contexts + +* 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 -* Trace window sizes somehow - * Plug memory leaks. + +* Allow to retrace with two libGL.so in parallel, and output differences in + rendered frames / draw calls. + +* D3D support. + + +GUI: + +* Trace editing. + +* Timeline view. + +* Visualize meshes in draw commands. + + +Other: + +* Side-by-side trace diffing; either as a separate tool on or the GUI. + +* Side-by-side state diffing. + +* Ability to extract just a single frame from a trace, and all previous calls + that contributed to it: + + * via a state tracker (i.e., knowledge of how calls affect the state); + + * or by leveragine retrace, dumping the calls to emit all state at beginning + of the frame. + +* MacOSX support. + + +See also FIXME, TODO, and XXX comments on the source code.