baldurk
5a4b4dca03
Add GL API wrapper skeleton, based on vulkan wrapper
...
* We keep some of the threading code rather than removing it, but this will run
single threaded.
2025-12-02 12:17:34 +00:00
baldurk
e66dc5cd6b
Update GL headers to latest as of 2025-11-14
2025-12-02 12:17:34 +00:00
baldurk
d62d2d8848
Add CPU side handling of math/sampling operations
2025-12-02 12:17:33 +00:00
baldurk
118baf6432
Add GL versions of shader debug pixel shaders
2025-12-01 17:25:57 +00:00
baldurk
22979a8696
Allow shader debug vertex shader to compile on GL or Vulkan
2025-12-01 17:25:57 +00:00
baldurk
6749e47177
Move shader debugging replay function stubs into new file
2025-12-01 17:25:57 +00:00
baldurk
23abdbab90
Add GL API wrapper skeleton, based on vulkan wrapper
...
* We keep some of the threading code rather than removing it, but this will run
single threaded.
2025-12-01 17:25:57 +00:00
baldurk
84c1391aeb
Add custom glslang feature to allow specifying I/O automap base location
2025-12-01 17:25:56 +00:00
baldurk
2b687a56c8
Move SPIR-V debugging input fetch lane data to SPIR-V headers
2025-12-01 17:25:56 +00:00
baldurk
04866327cc
Move Vec3i to common header
2025-12-01 17:25:56 +00:00
baldurk
bbd5655cfe
Rename some config variables to better be agnostic over SPIR-V and DXIL
2025-12-01 17:25:56 +00:00
Jake Turner
22b9e1ded2
Show DXIL debugger missing resources as DebugMessage instead of RDCERR
2025-11-30 06:42:02 +13:00
Jake Turner
defb87127c
Fix DXIL Debug crash in ExtractVal on invalid ShaderVariable
...
0-sized struct
2025-11-30 06:42:02 +13:00
baldurk
f5e9903860
Don't return video interface if real interface is missing. Closes #3735
2025-11-27 15:20:44 +00:00
baldurk
c61e3f72f0
Try to make CI check for commit messages more robust
...
* 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.
2025-11-27 14:10:13 +00:00
陈飞越
7a064ae915
Fix gpu driver crash caused by pixel history
...
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.
2025-11-27 22:22:48 +09:00
David McFarland
d26f634aeb
Pass -rdynamic to renderdoccmd link
...
This ensures replay marker sym is exported, and matches qrenderdoc.
2025-11-27 20:11:34 +09:00
Jake Turner
62775694ef
Support for Spirv Quad Ops in Compute Shader Debugging
...
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
2025-11-27 13:11:03 +13:00
Jake Turner
d514df902b
Remove Capability::GroupNonUniformQuad setting subgroup scope
2025-11-27 12:43:15 +13:00
Jake Turner
34ce4035d0
VK_Subgroup_Zoo tests for Quad Ops in Compute Shader
...
subgroupQuadBroadcast
subgroupQuadSwapDiagonal
subgroupQuadSwapHorizontal
subgroupQuadSwapVertical
subgroupQuadAny
subgroupQuadAll
2025-11-27 12:42:21 +13:00
Jake Turner
61bf255ea0
Updates to SSA lifetime and UI changes related to shader base pointers
...
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)
2025-11-27 07:51:07 +13:00
Jake Turner
a9acee3106
SPIR-V debugger support for VK_KHR_compute_shader_derivatives
...
i.e.
SPV_KHR_compute_shader_derivatives
SPV_NV_compute_shader_derivatives
2025-11-26 12:17:45 +13:00
Jake Turner
97755b5ebb
Test cases for VK_KHR_compute_shader_derivatives
...
dFdx, dFdy, dFdxFine, dFdyFine, dFdxCoarse, dFdyCoarse
OpImageQueryLod (textureQueryLod)
OpImageSampleProjImplicitLod (textureProj)
OpImageSampleImplicitLod (texture)
OpImageSampleDrefImplicitLod (textureProj)
2025-11-26 11:40:22 +13:00
Jake Turner
f2e708d405
Add the base pointer to live list if a UI change was created for it
2025-11-26 11:40:22 +13:00
Jake Turner
b7f307dc06
Don't add changes for pointer base if it is out of the current scope
...
Generate a change for the base pointer if:
* it is live in this scope
* it is not live in any outer scopes
2025-11-26 08:22:12 +13:00
Jake Turner
21a699e339
Spirv Debugger mark pointer stores and memory copies as live
...
Added helper method SetLive() used by SetDst() and WritePointerValue()
2025-11-26 08:19:57 +13:00
Jake Turner
f5e63aa838
VK Shader Debug Test for function modifying inputs
2025-11-25 16:20:38 +13:00
Jake Turner
828ec85982
Fix Spirv simulation of ImageSampleProjDrefExplicitLod/ImplicitLod
...
Divide the compare (Dref) value by q
2025-11-24 15:31:02 +13:00
Jake Turner
2f057a78d4
VK Shader Debug Zoo test for OpImageSampleProjDrefExplicitLod
2025-11-24 15:27:20 +13:00
Jake Turner
792afc2190
Tweaked test success message for new D3D12 EI test
2025-11-22 12:52:22 +13:00
Jake Turner
323cc5838f
Fix D3D12 shader feedback of EI which does not need a root signature
...
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
2025-11-20 15:45:25 +13:00
Jake Turner
a9056f1eca
Add a D3D12 EI test case for an EI which does not need a root signature
...
EI with:
D3D12_VERTEX_BUFFER_VIEW
D3D12_DRAW_ARGUMENTS
2025-11-20 15:41:32 +13:00
Jake Turner
67fc8618a7
Move the recent D3D12_Shader_Debug_Zoo tests to the noResources shader
2025-11-19 10:44:18 +13:00
Jake Turner
ae927151c6
Tweak to compute the vk_workgroup_group pipename from GROUP_SIZE_XYZ
2025-11-19 10:44:18 +13:00
baldurk
00ec7c3fd9
Use correct texture dimension to check for 3D texture copies
2025-11-18 18:12:28 +00:00
baldurk
ccbe3c8cce
Propagate up failure through expand sections in test results
2025-11-18 17:59:12 +00:00
Jake Turner
0d695da164
Set the d3d12path for d3d12 tests before caching the d3d12 capabilities
2025-11-18 11:40:04 +13:00
Jake Turner
a9c2f082bc
Moved new DXIL shader debug zoo tests from CS to PS
...
Guarded use of double by testing against D3D runtime : DoublePrecisionFloatShaderOps
2025-11-18 09:48:07 +13:00
Jake Turner
9c36c319af
DXIL Debug simplified result assignment
2025-11-18 09:46:50 +13:00
Jake Turner
4ec8e969bc
Extra DXIL shader debug zoo tests
...
float64, float32, float16 Tests for:
min
max
abs
fmad
frac
dot2/3/4
saturate
sint64, sint32, sint16, uint64, uint32, uint16, Tests for:
min
max
mulitply
division (UDiv)
imad
dot2/3/4
2025-11-17 15:52:27 +13:00
Jake Turner
fc30d97244
Tweak DXIL disassembly for global variables to show friendly addrspace
...
Groupshared instead of addrspace(3)
2025-11-17 11:51:16 +13:00
Jake Turner
bc1504bd74
Get the base type form the encoded GPUPointer for DXIL Atomic operations
2025-11-17 11:42:57 +13:00
Jake Turner
48a23a0ddb
Store the baseType with DXIL encoded GPUPointers
2025-11-17 11:42:22 +13:00
Jake Turner
c864e87fbb
Reorder the D3D12 DebugData Zoo shader work around bad DXC debug data
...
Put the early return case as the first case in the switch statement
2025-11-17 07:13:34 +13:00
Jake Turner
759a738cd1
Add DXIL compute shader builtin inputs to the UI Inputs
...
Parse the compute shader instructions to see which CS builtins are accessed
SV_DispatchThreadID
SV_GroupID
SV_GroupIndex
SV_GroupThreadID
2025-11-17 06:28:53 +13:00
Jake Turner
dbbd9ba010
Added MSAA tests for SM6.0 and SM6.
...
Disabled in the python because the RenderDoc does not currently support DXIL debugging of MSAA instructions or SV_Barycentrics
2025-11-17 05:47:55 +13:00
Jake Turner
046fa76328
Implement DXIL Debugger support UAV Counter (DXOp::BufferUpdateCounter)
2025-11-17 05:38:15 +13:00
baldurk
15a1587ca0
Fix accidentally removed subobject case
2025-11-14 10:20:13 +00:00
baldurk
647f3850a1
Disable conservative rasterization in wireframe overlay. Closes #3730
2025-11-14 10:19:42 +00:00
Jake Turner
ccbb516610
Simplify DXIL Disassembler/Debugger SSA ID name strings and aliases
...
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.
2025-11-13 13:10:44 +13:00