summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorJosé Fonseca <jose.r.fonseca@gmail.com>2015-03-05 16:06:37 +0000
committerJosé Fonseca <jose.r.fonseca@gmail.com>2015-03-05 16:06:37 +0000
commit5c53c636b768f7d3ed3747aecc2b7fecf3a36894 (patch)
tree0c2c6ed81b5c16ead9d890f3f6b488c0117d86d6 /docs
parent6f4fd6ab8975f3e1b1914edc01dffe0244cd0bc3 (diff)
docs: Add dxgistate_so how-to.
Diffstat (limited to 'docs')
-rw-r--r--docs/HACKING.markdown22
1 files changed, 22 insertions, 0 deletions
diff --git a/docs/HACKING.markdown b/docs/HACKING.markdown
index 7891e922..002f68cd 100644
--- a/docs/HACKING.markdown
+++ b/docs/HACKING.markdown
@@ -219,4 +219,26 @@ specifications:
## Dump more OpenGL state ##
+TBD.
+
+
+## Dump more D3D10/D3D11 parameter state ##
+
+In short, to dump another piece of state (e.g., `D3DXX_FOO_STATE`) you need to:
+
+* declare a
+
+ void dumpStateObject(JSONWriter &, const D3DXX_FOO_STATE &);
+
+ in `retrace/dxgistate_so.hpp`
+
+* add
+
+ d3dxx.D3DXX_FOO_STATE,
+
+ to the bottom of `retrace/dxgistate_so.py` so that C++ code to dump that structure is generated.
+
+* add a new `dumpFooState` function to `retrace/d3d10state.cpp` or `retrace/d3d11state.cpp`, similar to the existing `dumpBlendState` function, which gets the state object, and then calls `dumpStateObjectDesc` template and the generated `dumpStateObject` functions to do the grunt work.
+
+* update `dumpParameters` to call `dumpFooState`