* Unfortunately the new upcoming debian has made the really poor decision to
actively *delete* the pcre package, breaking any programs depending on it even
at build time. As far as I can see it's still available in most other common
distributions.
* Users could easily build it themselves but would have to install it system
wide for it to be picked up. This kind of dependency absolutely should not be
something the build system has to set up itself but when distributions make
poor choices we have little choice but to adapt somehow.
* Without this, image views created off the swapchain images would destroy the
actual underlying resource info when the view is destroyed, thinking that it
has its own unique copy.
void InsertOperation(const Operation &op, size_t offset);
Ensures Operation's are added correctly and RegisterOp() is called after addWords()
This make sure the idOffsets data is correct
Need to recreate the EI command signature using the same root signature that is is bound i.e. the modified root signature which includes the resources for the shader feedback analysis
This only needs to be done if the EI command signature modifies the root arguments i.e. setting root constants, updating bindings
Set the specific constant data from the EI args instead of replacing all the constant data with the EI arg data i.e. EI arg sets Constants 2,3 : should leave Constants 0, 1, 4, 5 with the values set directly i.e. SetGraphicsRoot32BitConstants()
Change colour of triangle based on root constant values set by direct API not by indirect API.
This allows verification that RenderDoc replay of indirect root constants does not alter values set by the direct API
* This was caught by mac CI. Technically this is a backwards compatibility
breaking change but in practice there will be no captures, and certainly none
on 32-bit
* This is the only way we can handle the potential for creating descriptors for
swapchain images as there is no way otherwise to fetch and replay the opaque
descriptor data on the image that would be needed. We add an extra
interception step and let the application write to a 'real' image that we
allocate, prevent it from going into the present layout, and on present do a
copy & fixup.
* We mark to ourselves that the reserved descriptor range has been grabbed and
don't try to re-create it, instead sharing/re-using it between different
versions.
* We previously had to special case this because there was no way to fetch this
data from the generic replay layer via GetBufferData, but since the descriptor
factor we special case descriptor sets to be queryable as-if they are buffers
and so the normal flow works fine for this.
* This will need to be handled separately by post-patching usage in at submit
time using versioned copies of the descriptor buffer (hopefully only one)
* The idea here is to directly extract a pointer and/or size and do few lookups
(hopefully only one) to verify that we have recognised the descriptor. We
still have the trie lookup as backup.
* For palettised image/sampler descriptors this includes initialising the
palette with the opaque data, and for regular image descriptors this means
recording the address range of images. Buffers we already have their addresses
which is all we need.
* This should really have been considered a property, it's unlikely drivers do
anything different, but we want to be able to count on it being present.