Do not include argument types:
D3D12_INDIRECT_ARGUMENT_TYPE_VERTEX_BUFFER_VIEW
D3D12_INDIRECT_ARGUMENT_TYPE_INDEX_BUFFER_VIEW
when checking if need to create and set a new command signature
Store SSA ID name strings in a container which is shared between the disassembler and the debugger.
The SSA ID name strings are guaranteed to be unique by appending the SSA ID value.
Do not use resource names for SSA ID names, only show resource names when a DXIL handle is created i.e. DXOp::CreateHandle, DXOp::CreateHandleFromBinding & DXOp::CreateHandleFromHeap
This means the debugger now has a unique name for each ShaderVariable generated.
Revert the ShaderViewer consistency changes which were only required because the DXIL debugger did not generate unique names for ShaderVariables.
Added:
int32_t BlockInAnyPath(uint32_t from, uint32_t to) const;
which replaces path API BlockInAnyPathSlow()
Removed:
All path related data and functions
Added unit tests for GetNextUniformBlock()
If the matrix was mapped to a single register (i.e. special SSA ID -1) then it was expanded because a single element was mapped to different register the expansion was not happening because the matrix row was being set to be emitted in the code which tries to recombine rows
Apply similar fix for vector recombining code, do not emit the whole vector by default when assigning a single element and let the recombining code mark if the whole vector should be emitted
Packing float with a float3
float TEXCOORD0
int TEXCOORD1
float3 COLOR
Packing float with a float3[1]
float TEXCOORD0
int TEXCOORD1
float3[1] COLOR
Not packing float with a float3[2]
float TEXCOORD0
int TEXCOORD1
float3[2] COLOR
Packing float with a float3
float TEXCOORD0
int TEXCOORD1
float3 COLOR
Packing float with a float3[1]
float TEXCOORD0
int TEXCOORD1
float3[1] COLOR
Not packing float with a float3[2]
float TEXCOORD0
int TEXCOORD1
float3[2] COLOR
* On some drivers such as radv there are memory types only accessible via
descriptor buffer usage flags, and it's important to have a wholeMemBuf to
readback both for maps (quite possible/likely) as well as initial contents.
Do not check before/after equals existing value for ReadOnlyResource and ReadWriteResource
In the DXIL debugger for resources the same SSA ID might have different names
* We attempt to enable the experimental feature since this allows the use of the
feature on a much wider set of OS versions, at the time of this commit support
seems quite rare/narrow.
* This includes some support for the new serialised-root signature
representation for precompilation which also affects runtime.
GetRootSignature*() functions in pipeline state and state object are not
implemented as it's unclear if they are supported.
* The interfaces for the precompilation are *not* supported as there is no need.