* These captures were too broken and likely no-one has any in the wild, but just
to be safe let's at least not crash on serialisation.
* Prepare/application is not implemented yet so as of this commit sparse
resources are broken.
* This is a lambda in upstream catch to avoid some warning, but that means that
when the debugbreak happens it's in the wrong stack frame (though at least on
the right line). Fortunately we can override it with a useful definition.
Capture function for vkEnumerateInstanceExtensionProperties wasn't being
called at all for the Android Layer
There is still the issue of filtering not working and and
VK_EXT_debug_utils isn't properly being exposed as an available
extension due to differences with the Android Vulkan Loader and the
common Vulkan Loader on desktop platforms still being investigated
* If we get passed an empty/degenerate AS or MS we can ignore it, the
application is responsible for ensuring that it doesn't pass any *actual*
shaders here.
* We already link to the chunk index and the chunk metadata contains the
callstack, there's no need for a duplicate copy when there may be many
APIEvents in a capture
* On some drivers like older NV hardware, there are memory types which can only
be bound to images and never to buffers, so ensure we don't try to create a
memory-spanning buffer for such allocations and avoid marking memory behind
images as written or it will become dirty in subsequent captures.
* The shader feedback itself will potentially trigger a replay. If this happens
after the overlay is processed when fetching the pipeline state it will undo
the clear-before. To workaround this without a huge and unnecessary refactor,
we just triggere the shader feedback cache before doing a clear-before
overlay. The amount of work is the same it just happens in a different place.
* This was broken in fa674a59b6 where the style
overrode the widget's foreground role. Changed to only use the custom
light/dark role when the desired role is Text (or WindowText).