* With the log append setup, printing lines and newlines separately can
lead to them being interleaved between multiple processes writing to
the same log.
* This way the lines in a print could still be scattered, but without
over-allocating to modify newlines in place (which would be more
expensive too) this can't be fixed, and both multi-line prints and
multiple processes writing a lot of log prints are rare.
* This allows a buidler to customise from e.g. /usr/lib/librenderdoc.so
to /usr/lib/renderdoc/librenderdoc.so - which is harmless since the
library is 'private' and not intended to be linked against directly.
This allows local arm64 builds, and should continue to work
for stable releases only containing arm32.
This also adds the "-g" flag to the install, granting all
requested runtime permissions, simplifying the user experience.
* Instead of erroring and failing to replay a capture if WSI is not
present when replaying even though enabled at compile time, we just
print a warning and allow the supported windowing systems list to
become empty.
* The UI or whichever app is controlling things must then respect this
and not try to create any outputs. If the replay is happening
completely headless there are then no more errors.
* VULKAN_LAYER_FOLDER points outside the prefix to /etc in absolute, so
usually if you customise one you'll want to customise the other.
* This is especially true if you're pointing the install prefix at some
non-root location, and you want make install to succeed instead of
failing to write to /etc.
* Force loading librenderdoccmd.so in the Loader
* Build renderdoc as libVkLayer_GLES_RenderDoc.so, link renderdoccmd
against it, otherwise we will get UnsatisfiedLinkError when running
* If there's a variable which is unused and has no binding declared, it
will be sorted to the end of the list and given a binding of 0. We
don't want to let this override a valid binding for 0, so make sure we
prioritise any variable which is marked as used over one that is
unused.