* The descriptor needs to be valid even if it's not used, when not using
descriptor indexing rules, so ensure the IB buffer is at least some minimum
size.
* Originally the idea was that on first use in a Loading pass we'd transition
from preinitialized to whatever the application wanted, and then subsequently
on repeated replays it would be left in general. However this doesn't account
for initial contents and initial frame states, which will end up putting the
image in GENERAL anyway. This is fine as it still satisfies the requirements
if needed.
* When we're splitting every draw and execute to get pre- and post-mod colours,
we resume renderpasses with load RPs for obvious reasons. The inheritance info
needs to match in secondary command buffers, so we force it over
conditionally.
* Any pipeline that uses DRef on images (without descriptor indexing at least,
which we don't assume) must be passed depth-formatted images. This includes
the dummy images we bind to other slots.
* At the same time we limit depth textures to just 1D, 2D, 2DMS - ignoring 3D
and Cube.
* We entirely skip over any instructions that don't have a source mapping. These
are assumed to be filler instructions or others that don't correspond usefully
to anything in the source.
* We invert the mapping so that instead of each local having its list of
locations and picking the latest at any point, we track the "current" and
update the mappings with any changes we come across at each step.
* The pattern buffer is 64x8 but doing copies to each target location can cause
issues on very large textures. Instead we generate a 256x256 buffer with
repetitions on load (which is still only ~256-512kB), and copy from that. We
can still do truncated copies so we don't need a smaller buffer, and this
greatly reduces the number of buffer copies issued.
The root signature can specify deny flags for shader types. If this
is the case for a shader we're debugging, we need to ensure that
the flags are cleared to allow sample/gather instructions to work.
Depth stencil resolve attachments were not being serialized and exposed in the pipeline state view. This change serializes the attachment id for the depth-stencil resolve attachment so that it can show up in the pipeline state view.
Update name of depth/stencil in pipeline viewer
Fix clang formatting
Update struct type