baldurk
7a2af108ad
Remove pipes which can randomly fail apparently
...
* Previously `git log --oneline | grep -v 7a064ae | head -n 100` was throwing an
error `grep: write error: Broken pipe` which as far as I can tell is working
as intended and can't be fixed. So we remove pipes and use temporary files
like animals.
2025-12-02 20:10:20 +00:00
baldurk
372aae1381
Add config option for vulkan GPU VA
2025-12-02 14:21:55 +00:00
baldurk
c4f35d45cc
Fix compilation on old linux compilers
2025-12-02 13:10:34 +00:00
baldurk
09a0c34979
Add manual implicit bias path for Android
2025-12-02 12:37:19 +00:00
baldurk
d89b763e49
Fix issues for Android debugging
2025-12-02 12:37:19 +00:00
baldurk
ac8b786476
Remove GL shader debugging config variable
2025-12-02 12:37:19 +00:00
baldurk
466f8f6738
Add documentation for GL shader debugging
2025-12-02 12:37:19 +00:00
baldurk
e85651545f
Add test of GL shader debugging
2025-12-02 12:17:36 +00:00
baldurk
910f7ab65f
Handle matrices when copying program attribute bindings
2025-12-02 12:17:36 +00:00
baldurk
7c438edd2a
Fix column lookup via access chain in SPIR-V debugging
2025-12-02 12:17:36 +00:00
baldurk
0a15153330
Add a compute debugging UI selector to the GL pipeline state view
2025-12-02 12:17:36 +00:00
baldurk
0f70937707
Dump input fetcher & SPIR-V to disk based on config option
2025-12-02 12:17:36 +00:00
baldurk
01d305eb4e
Detect gl_PerVertex for GL shaders
2025-12-02 12:17:36 +00:00
baldurk
88cf6f295a
Add vertex shader debugging setup on GL
2025-12-02 12:17:36 +00:00
baldurk
d550195e4c
Add compute shader debugging setup on GL
2025-12-02 12:17:36 +00:00
baldurk
ddf19304b7
Handle resources encountered in the SPIR-V debugging that don't exist
...
* It is common for drivers to dead-code eliminate resources and they will not
show up in reflection at all and will not have a binding. For these we will
still encounter them when debugging so need to ensure we handle that case.
* This unfortunately makes a previously illegal/error-checked case silently
continue, so we add API-specific asserts.
2025-12-02 12:17:35 +00:00
baldurk
7490abedcf
Remap locations/binds back to match real shader as needed
2025-12-02 12:17:35 +00:00
baldurk
8ed7c14556
Try to compile GLSL shaders to SPIR-V to enable debugging
2025-12-02 12:17:35 +00:00
baldurk
c4f71f6223
Support plain bare uniforms in GL SPIR-V
2025-12-02 12:17:35 +00:00
baldurk
02096dd75e
Add input fetcher generation for GL shader debugging
2025-12-02 12:17:35 +00:00
baldurk
55e8c42f50
Require SSBOs & CS for shader debuggging at minimum
2025-12-02 12:17:35 +00:00
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