* This is kind of arbitrary at the moment, but in future when D3D12 and
Vulkan drivers appear, not everyone who builds RenderDoc will want to
build all drivers, so making them separate projects makes it more easy
to disable/remove them.
* This means that all APIs pass byte string types. ALL strings everywhere
in the entire codebase must be assumed to be and treated as UTF-8 content
not ASCII.
* Gets rid of all the horrible %hs specifiers that caused warnings on
linux! Hooray.
* We convert to wide strings, or use wide characters, only when necessary
to use the Win32 API. Some windows specific code will stay in wide chars
just for convenience.
* Files are already serialised as UTF-8 strings for linux/windows binary
compatibility, so this change doesn't break backwards compatibility.
* This allows you to hook into processes that are difficult to launch
directly with the existing functionality in RenderDoc.
* This is rather risky, as it modifies the AppInit_DLLs registry key to
inject a small shim dll that checks for the desired process and injects
the full renderdoc.dll. If that registry key got left, or if there was
some incompatibility with the shim dll, you could have problems. It
should only ever be used as a last resort if there's no other way to
capture.
* renderdoc/api/replay/ contains all the headers for using the replay and
analysis side of renderdoc (like in a UI or auto-testing tool)
* renderdoc/api/app/ contains the headers if you wanted to write a
renderdoc-aware application.
* This means people building on VS2013 don't need to rebuild breakpad
locally to link successfully.
* Committed binaries built on VS2012 Update 4 and VS Express 2013 for
Desktop, which will hopefully work for everyone.
* Also for float/unorm texture add an additional "resolved" option that
just does an unweighted average of all samples, which is the behaviour
from before (assuming that's what ResolveSubresource does).
* Basically we want libGL to be loaded second, after librenderdoc. This is
in order to make sure dlsym(RTLD_NEXT) can work.
* This can be done just by order in the ld command. Unfortunately since
renderdoccmd links directly against librenderdoc (rather than LD_PRELOAD)
any symbols exported by librenderdoc resolve, so unless we reference a
function that isn't exported by librenderdoc, libGL won't be linked in
at all.
* I realise this is probably a horrible hack, but it works for now.