summaryrefslogtreecommitdiff
path: root/TODO.markdown
diff options
context:
space:
mode:
authorJosé Fonseca <jfonseca@vmware.com>2011-06-30 14:32:57 +0100
committerJosé Fonseca <jfonseca@vmware.com>2011-06-30 14:32:57 +0100
commit0b21731c7bda21fd8bab167fee9766a647f832e2 (patch)
tree7dbce5a08d12a7fae3399f1564f639def1fa1e59 /TODO.markdown
parent65b1e54c7b64f9088f0c4fe9c993b3303bd44bcc (diff)
Use markdown syntax.
Diffstat (limited to 'TODO.markdown')
-rw-r--r--TODO.markdown85
1 files changed, 85 insertions, 0 deletions
diff --git a/TODO.markdown b/TODO.markdown
new file mode 100644
index 0000000..f0e0d8e
--- /dev/null
+++ b/TODO.markdown
@@ -0,0 +1,85 @@
+Things To Do
+============
+
+(in no particular order)
+
+
+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.
+
+* Trace TSCs
+
+* Trace window sizes somehow
+
+* Allow to distinguish between the calls really done by the program, vs the
+ fakes one necessary to retrace 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
+
+* Call gzflush() only when there is a signal/exception, except of doing it on
+ every call.
+
+
+Retracing
+---------
+
+* Use visuals that best match those used in the trace; specially auto
+ detect single/double buffer visuals.
+
+* Respect multiple context sharing of the traces.
+
+* 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.
+
+* D3D support.
+
+
+GUI
+---
+
+* 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.
+
+
+See also FIXME, TODO, and XXX comments on the source code.