- ShaderDebugState now carries a 'flags' that can be updated when the interpreter is run. Currently supported flags are 'sample/load/gather insn' or 'insn generated nan/inf'.
- DXBC interpreter now pushes operation type into results for simple intrinsics. This avoids the situation where temp decls are by default uint-typed, and any arithmetic operation on float or double operands would result in a uint shader variable. Other intrinsics are largely correct because they create temporaries with appropriate typed constructors.
- Provide icons for user interface elements, based on the existing 'run to' icons with modifications by myself.
A canonical UI paradigm is that when you have a dialog with a list of
items as a central element and an "Ok" action, double-clicking the item
results in the dialog confirmation.
This change adds this behavior to the Capture dialog.
* It was using the last bound render target, which could be empty if
state was reset before presentation. Instead we use the copy target
listed in the present drawcall as the actual swap buffer presented to.
* DDS will always save the format entirely literally, and the float
formats do not support alpha processing currently.
* TGA and PNG will either discard the alpha and write entirely opaque,
or they'll include it in the file. Blending to colour or checkerboard
is not supported.
* Historically there was no bindpoint mapping so it was convenient to
just pad the cbuffers array so that the elements in it were indexed by
their bind point. It doesn't make any sense anymore especially with
D3D12's bind model, so just remove it and roll bind points into a
struct member.
* They also have the global shortcut ctrl-left arrow and ctrl-right.
* Also a couple of tweaks to find behaviour to act more intuitively to
what other applications do - allow F3/shift-F3 without the find box
highlighted, and don't clear out the find text when closing it.
The option launches a batch file that starts the apk in remoteserver mode,
as well as taking care of port forwarding.
Also have a batch file for manually starting and capturing an APK by its
package name. They are both copied to the TargetDir as a PostBuildEvent.
- Added the ability to select an external SPIR-V disassembler and to use
it for editing any of the shaders in the pipeline.
Tested with SPIRV-Cross (https://github.com/KhronosGroup/SPIRV-Cross)
Fragment, Vertex, Geometry, Compute shaders