baldurk
e690587683
Update docs for D3D12 shader debugging
v1.36
2024-12-20 12:03:34 +00:00
baldurk
47dcef3062
Remove spammy debug log
2024-12-20 10:45:15 +00:00
Jake Turner
48e73fbca7
Improve handling of Matrix and Vector debug source mappings
2024-12-19 21:20:22 +00:00
Jake Turner
02c187fa26
Reserve locals space of average of one source var per instruction
2024-12-19 20:47:30 +00:00
Jake Turner
2dda3e2f03
Limit BufferStore to maximum of the number of components in the format
2024-12-19 19:46:18 +00:00
Jake Turner
4ab1d61f29
Defensively copy ResourceReference as it is a ptr to container element
2024-12-19 19:31:10 +00:00
Jake Turner
2481208ba4
Defensive code when walking meta data scopes
2024-12-19 19:30:42 +00:00
Jake Turner
57e875e866
Ignore any non DerivedType debug data when iterating type members
2024-12-19 18:06:26 +00:00
Jake Turner
850b92a279
Create ShaderVariables for DXIL Constants for use in source mappings
2024-12-19 18:05:54 +00:00
Jake Turner
0cdad7bd8e
Allocate SSA IDs for DXIL Constants
2024-12-19 18:05:15 +00:00
Jake Turner
2aaac27f75
AtomicStore, Atomic* fixes
...
Use the allocation size of the pointer argument not the allocation size of the memory backing variable (stack or global)
For Atomic* operations:
* use the pointer argument as the variable input instead of the memory backing variable (static or global)
* copy just the res value into the result variable instead of the whole res variable
* use the pointer argument variable as the source pointer argument instead of the memory backing variable
* record changes to the pointer argument variable as well as to the memory backing variable
2024-12-19 16:47:11 +00:00
Jake Turner
2759ebff97
Update TODO comments for DXIL Debugger
2024-12-19 16:47:11 +00:00
Jake Turner
68d38734e1
Defensive coding to prevent crashes when accessing invalid SSAD IDs
...
Variable, Resource, CBuffer, Pointer Ids
2024-12-19 16:47:11 +00:00
baldurk
4b527239ae
Fix making QTreeView function public in RDTreeView
2024-12-19 15:46:42 +00:00
baldurk
c9a621a812
List registers last in shader viewer tables
2024-12-19 15:13:52 +00:00
baldurk
5c73842332
Fix source variables not properly propagating updateID
2024-12-19 14:08:02 +00:00
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