* For some reason the commit message check failed to detect a bad message on a
PR commit. The only clue is a 'broken pipe' message from tail in the log but
it doesn't reproduce on another repository with the same scripts :(.
* Temporarily ignore the bad commit from future checks until it drops out of the
most recent 100.
Force load renderpass contains only one subpass, if not set subpass,
the subpass passed to gpu driver mismatch the actual subpass,
and then causes crash.
Use a Linear 4x1x1 layout for the quads
CS derivatives in quad scope are defined to be 0.0 if ComputeDerivativeMode is None i.e. the execution mode is not DerivativeGroupQuadsKHR or DerivativeGroupLinearKHR
Mark potential pointer bases as having no end lifetime (similar to global variables)
Do no make an out of scope change and an in scope change if the ID is in the old and new live lists (can happen for pointer base variables)
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