* We only need to check for it in intercept_dlopen to return a consistent handle
to our own library regardless of how the library is opened, to prevent
multiple copies of the library being loaded.
* On the light theme we use a less dark background colour improving contrast
with the text.
* On the dark theme the background is still super dark, but we dim the outline
colour which provides an indication of disabled stages
* Since vkCmdCopyBuffer can't run inside a renderpass we have to delay it until
the renderpass ends. Warn if there is a subpass dependency that would allow
writing the indirect args inside the RP (which we would then miss)
* This means that things will work successfully even if the 'executable' is
actually e.g. python3 in a system directory and nowhere related to where the
renderdoc library is.
* This ensures we don't serialise a pointer to client memory which is non-
deterministic. The value isn't used, we will readback the actual data at draw
time and replace with client-memory buffer updates.
* When calling the register() function there is no frame or globals, so we need
to set an internal handle external to that.
* This means functions that get wrapped know that there's a global handler for
exceptions, which just prints to the log. Otherwise they think they're running
synchronously and write to an invalid exception handling object.
* This will rarely be relevant, but it ensures if the function is decref'd and
the lambda is still alive, that we keep the python object alive until we are
done with it. The primary case for this is persistent callbacks where the
module is then reloaded.
When selecting "Quad Overdraw (Pass)" from the texture viewer, I get this warning :
Log - Got a Debug message from GL_DEBUG_SOURCE_API, type GL_DEBUG_TYPE_ERROR, ID 81, severity GL_DEBUG_SEVERITY_HIGH:
'GL_INVALID_OPERATION in glUniform1("overdrawImage"@12 is image, not uint)'
The OpExecutionMode entries were being left in place, but pointing
to functions which are no longer entry points. This caused the GPU
driver to crash (probably trying to look it up).