* Unclear on if this is valid or not but it is likely considered to be a
degenerate case, where a payload is declared and referenced by the entry point
then not used in the emit. The contents in the mesh shader are presumably
undefined but if they're similarly unused that's fine?
Series 10 cards do not support Mesh Shaders, according to Vulkan spec it should be valid to bind NULL shader objects to mesh stage even if the feature is not supported.
Remove: labelToBlockIndex, blockIndexToLabel
Shows the start label in a function because it might be referenced in a phi node
Use Block id for the label if the label does not have a name (Block slot might not be unique/set)
If the module is unloaded, reloaded during the hooking process the base address might have changed and the original baseAddress will be pointing to invalid memory
Show BufferLoad, RawBufferLoad as <resource>.Load
Show BUfferStore, RawBufferStore as <resource>.Store
Hand decode DXOp::GetDimensions, DXOp::Texture2DMSGetSamplePosition
Removed "index =" from output of GetRenderTargetSamplePosition()
Per Function compute:
labelToBlockIndex container : to go from a label to its block index
blockIndexToLabel container : to go from block index to its label
For each Block store the starting instruction index
Changed array offset handling
Added TODO about handling double vectors, the load might not start at x component
Improved handling of variable offset for when the offset is within a variable i.e. matrix row, array element.
Removed unused function GetCBufferVariableTypeName()
Added
bool D3D12ShaderDebug::CalculateMathIntrinsic(WrappedID3D12Device* device, MathOp mathOp, const ShaderVariable &input, ShaderVariable &output1, ShaderVariable &output2);
which is used by DXBC and DXIL ShaderDebugger CalculateMathIntrinsic methods
Extended shaderdebug.hlsl math intrinsics to support DXIL math opcodes
Use custom math operation values for DXBC and DXIL, not the DXBC OpCode value.
Use custom sampler operation values for DXBC and DXIL, not the DXBC OpCode value.
This changes DXBCDebug::DebugAPIWrapper, updated D3D11DebugAPIWrapper to match changes to interface and shader math and sample operation values.