* Use it to serialise in/out initial state at the start of each captured
frame.
* Serialise active texture and buffer bindings (indexed and non-indexed).
* Tracking the alignment was pointless and it isn't implemented yet anyway.
* Relevant state should be saved at the start of each captured frame, so
include the active texture bindings in this
* These capture options used to be propagated through from the C++ struct
when there was a C++/CLI dll used for interop between C# and C++. Now
that we use P/Invoke this needs to be added back so a couple of default
options can be enabled
Instead of assuming that we can sample straight from the bound resource,
we save what's bound on PS slot 0, always sample from that slot, and
bind whatever resource & sampler onto PS slot 0 for the sampling draw.
For now this just acts like a really wide vector with N columns for the
array, but this could be improved in future if a better visualisation is
decided on.
In non-release, still warn + log for unexpected tokens, and
error for over-reading, but since there's no good documentation
we have to just assume the opcode length is accurate and try not
to worry about mysterious inaccuracies.
This commit changes WrappingPool::IsAlloc to take a const pointer as argument
as pointer isnt modified. ItemPool::IsAlloc is changed to a const function
taking a const poiner as argument.