* Since D3D11 is entirely non-bindless we can precalculate the descriptor access
for a shader up-front from its reflection and combine at query time from the
currently bound shaders. This effectively replaces the old bindpoint mapping.
* For descriptors with immutable samplers the existing code already refuses to
update/change them, but the descriptor won't contain the sampler unless it
goes through init contents at which point we slot it in for easier validity
checking. Instead we can set the immutable samplers at creation time when we
know them. We can also set the descriptor type here as mutable descriptors
cannot use immutable samplers.
* Similarly for inline uniform blocks if they are variable sized we can set
their size here as well as the variable size is known at creation time.
* With these changes the contents of a descriptor can be processed entirely from
the DescriptorSetSlot with two exceptions:
- An immutable sampler flag, the source of the sampler is unknown
- Dynamic offsets on descriptors, which vary based on where the descriptor set
is bound (and in theory one descriptor set could be bound twice with two
different offsets)
* Separated into normal descriptors and sampler descriptors, since they are
almost equal in size so there's no need to inflate the descriptor size for
non-sampler descriptors which are much rarer.
* This doesn't change our minimum specs as we already required GCC 5, clang 3.4,
which fully support C++14. Interestingly only VS2015 is the odd one out but we
don't rely on any features from C++14 that it doesn't support.
This message can be seen if the USB cable connecting the device is
removed while the `adb install` command is running. (I ran into this
by accident due to a low-quality cable.)
The previous message was this:
> Failed to install Android remote server for unknown reasons: Couldn't install APK(s). stderr: adb.exe: device '00000a740f4e6d93' not found
> .
>
> lease check that your device is connected and accessible to adb, and that installing APKs over USB is allowed.
This does also include a newline before a period, which looks a bit
strange but I don't see a quick fix for that while keeping stderr,
and the stderr output is fairly useful.
Serialisation functions were updated for new structs and enum values. CaptureQueueSubmit was updated to recurse nested command buffer records so that command buffers and their resources are referenced in the capture. The logic for rebasing secondary command buffer events was updated to support nesting. The PartialReplayData struct was updated so all partial submissions can be tracked during active replay.
Manages the capturing, serialising, and replay of acceleration structures for Vulkan. It works in a similar way to how device memory is handled:
* A temporary host-accessible buffer is created for each AS
* The AS is serialised (in the Vulkan AS sense of the word) into it
* The buffer handle is stored in the initial contents and downloaded when
appropriate
* Replay is handled similarly but in reverse
* Workaround added for broken Mali AS serialising
Note this is missing the descriptor and SPIR-V handling, that work will follow in a later PR.
The serialiser version has been bumped for backwards compatibility with 'RenderDoc for Arm GPUs 2024.0'.
* This means that truly empty sources with no name or source are still properly
filtered out - which is how OpSource works. Sources that are empty but have a
name (e.g. ones referenced by #line directives) will still be kept, and
unnamed sources with contents will be kept and given the unnamed filename.
Made some helper functions static and removed unused helper function
float GetDepthValue(DXGI_FORMAT depthFormat, const byte *pValue)
Remove anonymous namespace and use static file scope functions instead
Moved from D3D12 Pixel History to common code to share with Vullkan Pixel History.
Similar to DecodeFormattedComponents() but it keeps UInt, SInt component data as uint, int.
DecodeFormattedComponents() now calls DecodePixelData() and then casts the uint, int data to float for UInt, SInt component data.