* This is a minor optimisation when there are large numbers of bound resources
that are available (duplicated) to all shader stages. There's no point
fetching them when there's no shader bound there.
* This is a holdover from simpler binding times, these days it makes more sense
to omit buffers than try to hold onto those bindings even when they don't
contain textures.
* We can't assume ranges in root signature elements map to shader binding
arrays, there is a many:many relationship (one range can have multiple
elements, or only part of an array, one array can have multiple ranges).
* Because the flow layout adjusts to its available size, we instead set it to
minimum size until it's first laid out. Otherwise it can get unreasonably
sized.
* This prevents SH_ItemView_ArrowKeysNavigateIntoChildren from causing left-move
from an expanded node to jump immediately to its parent instead of collapsing
it when the scrollbar is not leftmost
qrenderdoc/Code/CaptureContext.cpp
- Adds GGP windowing system
renderdoc/driver/ihv/amd/amd_counters.cpp
- Enables AMD counters
renderdoc/driver/vulkan/vk_serialise.cpp
- Handling VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP in pNext
for vkQueuePresentKHR
renderdoc/os/posix/ggp/ggp_callstack.cpp
- Check that the file was opened
* This means if there's no intervening list() it still works, e.g. passing an
rdcarray property to a function paramater that expects an rdcarray in python.
* These map more naturally to python tuples and are easier to wrap in and out.
* We also tidy up the FloatVecVal etc and standardise the members of
ShaderValue.
* Ideally we'd document every member unconditionally for best autocompletion,
but that's a lot of modification so for now we stick to just making sure that
any members that are struct types (or lists/tuples) have the :type:
declaration so that we can autocomplete inside them.
* Also added a script that can run as part of CI to verify that the docstring
matches, by generating a regex from the docstring documented parameter types
and return type and making sure we find a match within the C headers. This
ensures all parameters are documented with the right types, no extra
parameters are documented, and the return type is correct.
* The script also checks proper scoping so that if qrenderdoc docstrings
mention a renderdoc type, they need to scope it properly.