Commit Graph

15460 Commits

Author SHA1 Message Date
Jake Turner 65ce7ff127 Use the function name if no callstack is generated 2024-12-19 13:43:31 +00:00
Jake Turner c331152916 Extend scope lifetime to match how SSA IDs variables get extended
If the scope is in a loop block, use the next uniform block instead
2024-12-19 13:09:07 +00:00
Jake Turner b7ffeb8675 Mark HLSL debug matrix mappings as row major
Matches the source language
2024-12-19 13:09:03 +00:00
Jake Turner 13fd0eb294 Always emit debug vectors (including vectors inside matrices)
Even if only some of the elements are mapped, the UI will handle elements which are not mapped
2024-12-19 13:08:59 +00:00
Jake Turner 4121262581 Include DXC Nop instructions as steppable instructions
Helps with source level debugging stepping particular around inlined functions
2024-12-19 13:08:55 +00:00
Jake Turner 06b13f5ff6 Handle source variable mapping of sub-parts of matrix
single element
single row or column
2024-12-18 18:18:27 +00:00
Jake Turner d76d0c34e1 Improve handling of Load and Atomic operations on global memory
Remove assert about bool being 8-bits
2024-12-18 16:44:26 +00:00
Jake Turner ed9c24aaea Use debug location scope to find current debug scope 2024-12-18 16:43:45 +00:00
Jake Turner a3708cfc52 Ignore DXC Nop instructions when setting instruction disassemblyLine 2024-12-18 15:52:21 +00:00
Jake Turner 4096ba9eaf DXC disassembly should not set the disassemblyLine values
That is required by the DXIL debugger which uses the RD disassembly
2024-12-18 15:47:42 +00:00
Jake Turner b5ba9bde12 Detect vector and matrix debug types from DXIL template params 2024-12-18 15:43:16 +00:00
Jake Turner 86ff77ade8 Remove DXIL:: from function definitions already in the DXIL namespace 2024-12-18 15:41:17 +00:00
Jake Turner e96d1b6c1a Fix reading off the end of the instructionToBlock array 2024-12-18 15:39:29 +00:00
Jake Turner aee9013a8f Iterate over the debug scopes downwards 2024-12-18 15:05:49 +00:00
Jake Turner faaf12f383 Remove use of activeInstructionIndex for debug instruction tracking 2024-12-18 15:05:00 +00:00
Jake Turner 7f35d5a83f Extend the lifetime of SSA IDs which are mapped to source variables
Extend the lifetime to the end of the scope where they are mapped
2024-12-18 14:06:14 +00:00
Jake Turner 141b86ac70 Update the UI debug state after all lanes have executed and skipped nops
This keeps UI nextInstruction in sync with m_ActiveGlobalInstructionIdx
2024-12-18 14:06:14 +00:00
Jake Turner f6829299ba Ignore source variables making later than the current instruction 2024-12-18 14:06:14 +00:00
Jake Turner de70f5b4b2 DXIL Debugger remove incorrect assert for byte addressing and stride 2024-12-18 08:40:04 +00:00
baldurk 4ac6b7765c Fix invalid encoded character 2024-12-17 17:40:30 +00:00
baldurk 663ae9bc94 Update tip about attaching to running instances 2024-12-17 17:36:27 +00:00
baldurk 624a2cdb4d Disable queried GPU upload heap feature 2024-12-17 17:36:07 +00:00
baldurk 13ba321e4a Add note to docs about nvidia driver support 2024-12-17 15:33:02 +00:00
baldurk 9de148cfcf Allow customising runner timeout on command line 2024-12-17 14:32:55 +00:00
baldurk 8634d8ff22 Add page titles and header texts for all python API ref documentation
* Try to guide people looking for an introduction away from API references and
  towards actual explanations and documentation.
2024-12-17 14:32:54 +00:00
baldurk b76bb49994 Add doc about RT support 2024-12-17 14:32:54 +00:00
Jake Turner 783c7e3eec DXIL Debugger support for arrays in Input signature 2024-12-17 13:08:12 +00:00
Jake Turner 15d99f941a DXIL Debugger handle arrays in the output signature
i.e.

float3 dummy[5] : TEXCOORD;
2024-12-17 10:15:30 +00:00
Jake Turner a1b00559d0 DXIL Debugger handle debug variable mapping to a vector element 2024-12-17 10:09:40 +00:00
Jake Turner a03e94992b DXIL Debugger use DXIL::Value* in more places in place of SSA IDs
DDX/DDY now take a DXIL::Value* instead of SSA ID
Use GetShaderVariable() instead of GetLiveVariable() when getting values from other lanes
Defensive code to prevent crash if get an invalid SSA ID for ExtractVal, Load, Store, GetElementPtr
2024-12-16 17:21:48 +00:00
Jake Turner bc93b3dcf2 DXIL Debugger Defensive code against invalid Argument SSA IDs
Used for get resource handle IDs, doing derivative operations
2024-12-16 14:10:22 +00:00
Jake Turner 8cec6c3a54 DXIL Debugger return DXILDebug::INVALID_ID for Constant's in GetSSAId 2024-12-16 14:08:57 +00:00
Jake Turner 8a9b344953 DXIL Debugger use function name for callstack if no debug scopes 2024-12-16 13:50:18 +00:00
Jake Turner 71ba5a9310 DXIL Debugger more comments on the missing instructions 2024-12-16 12:16:29 +00:00
Jake Turner ced90d2fed DXIL Debugger reuse the callstack generated scopes for variable mappings 2024-12-16 12:16:28 +00:00
Jake Turner 479fcce4c2 DXIL Debugger more error checking when getting inputs for BufferLoad
Be more explicit about which inputs to get based on opcode and not if the UAV has texture
2024-12-16 12:16:28 +00:00
Jake Turner 69a0272e11 D3D12 Shader Debug Zoo : enable UAV Interlocked tests for DXBC
Switch to use RWBuffer<int> instead of RWTexture2D<int>
2024-12-16 12:16:28 +00:00
baldurk a11d673b3f Update test for descriptor names 2024-12-16 11:59:03 +00:00
baldurk ff04b1cc4d Update cmake in SPIR-V tools build for glslang yet again 2024-12-16 11:22:44 +00:00
Jake Turner 6fcf607f8e DXIL Debugger support for DXOp::Unpack4x8, DXOp::Pack4x8: 2024-12-15 17:33:03 +00:00
Jake Turner 0043cfd613 DXIL Disassembly custom handling for DXOp::Pack4x8, DXOp::Unpack4x8 2024-12-15 17:31:05 +00:00
Jake Turner f2d2d73d2e Add D3D12 Shader Debug tests for SM6.6 pack/unpack instructions
pack_u8
unpack_s8s32
2024-12-15 17:30:10 +00:00
Jake Turner 3da14721a1 DXIL Debugger support for DXOp::Dot4AddI8Packed, DXOp::Dot4AddU8Packed 2024-12-15 15:38:28 +00:00
Jake Turner 219474f7e0 DXIL Debugger support for DXOp::Dot2AddHalf 2024-12-15 15:35:49 +00:00
Jake Turner a3633dea8d Add D3D12 Shader Debug tests for SM6.4 instructions
dot4add_i8packed
dot4add_u8packed
dot2add
2024-12-15 15:34:18 +00:00
Jake Turner 7772860ead DXIL Debugger categorize unimplemented DXOps
Likely to implement when required
Quad Operations
MSAA
SM6.7
No plans to implement
Mesh Shaders
Geometry Shaders
Wave/Subgroup Operations
Ray Tracing
Workgraphs
Unknown

DXIL Debugger support for DXOP::QuadReadLaneAt, DXOp::QuadOp
2024-12-15 15:32:44 +00:00
Jake Turner 81cfeb76ea DXIL Debugger support for DXOP::QuadReadLaneAt, DXOp::QuadOp 2024-12-15 14:11:23 +00:00
Jake Turner ec88bbed21 DXIL Disassembly custom handling for DXOp::QuadOp
QuadReadAcrossX
QuadReadAcrossY
QuadReadAcrossDiagonal
2024-12-15 14:04:09 +00:00
Jake Turner 9fb4a9aa64 DXIL Debugger Implement DXOp::LegacyDoubleTo*
DXOp::LegacyDoubleToFloat
DXOp::LegacyDoubleToSInt32
DXOp::LegacyDoubleToUInt32
2024-12-15 12:10:06 +00:00
Jake Turner 5c889e9083 DXIL Debugger Implement DXOp::Bitcast*
DXOp::BitcastI16toF16
DXOp::BitcastF16toI16
DXOp::BitcastI32toF32
DXOp::BitcastF32toI32
DXOp::BitcastI64toF64
DXOp::BitcastF64toI64
2024-12-15 12:06:11 +00:00