Commit Graph
17486 Commits
Author SHA1 Message Date
Aidan Raymond 4c764dffec Fill out vkCmdDispatchIndirect2 and vkCmdDrawIndexedIndirect2 hooks 2026-10-24 07:11:44 +09:00
Aidan Raymond 0e4c59cd09 Fill out copy hooks for VK_KHR_device_address_commands 2026-10-24 07:11:44 +09:00
Aidan Raymond 239a67a108 Fill out cmd and resource hooks for VK_KHR_device_address_commands 2026-10-24 07:11:44 +09:00
Aidan Raymond 9523643240 Add stub function hooks for VK_KHR_device_address_commands 2026-10-24 07:11:44 +09:00
Aidan Raymond d5025c6b88 Add serializers for VK_KHR_device_address_commands types 2026-10-24 07:11:44 +09:00
Aidan Raymond bec186314d Fix handling of debug names for VkCommandBuffers 2026-10-24 04:35:32 +09:00
Jake Turner a6bb6c57aa Change EventBrowser Prev/Next buttons to work from the selected event
- Not from the current action
- This makes Prev/Next button behaviour consistent when a marker is selected
- For Next if the action has children go to the first child, otherwise the action's nextAction
- For Prev if the action has children go to the previousAction of the first child, otherwise the action's previousAction
2026-10-23 13:25:12 +01:00
Jake Turner b7f943f6c5 Use caseless string comparison for Demos test name matching 2026-10-23 13:01:30 +01:00
Jake Turner d6a4009894 Use AtomicMemoryLock around for DXIL::Opertation::CompareExchange 2026-10-23 13:01:30 +01:00
Jake Turner 4f19603216 Send DXIL Debugger Error messages to Errors and Warnings window
- Use WrappedID3D12Device::AddDebugMessage() instead of RDCERR()
- Not all RDCERRs or RDCASSERTSs have been moved over
2026-10-23 13:01:29 +01:00
Jake Turner c5fff5229a DXBC Debugger handle groupshared OOB memory access
- Change asserts to if's and errors to prevent crashes in GetGroupsharedSrc(), SetGroupsharedSrc()
- for gsm check for valid memory access using dataOffset and dataSize
  - the existing check for elemIdx >= numElems is not enough i.e. 2D arrays
2026-10-23 13:01:29 +01:00
Jake Turner abba384d45 VK_Groupshared tests for OOB GSM memory access 2026-10-23 13:01:29 +01:00
Jake Turner f179aa01c9 D3D12_Groupshared tests for OOB GSM memory access 2026-10-23 13:01:29 +01:00
Jake Turner 1432f8ba7c D3D11_Groupshared tests for OOB GSM memory access 2026-10-23 13:01:29 +01:00
Jake Turner b4f1a9a0e7 UI Test Harness use case insensitive search for test filtering 2026-10-23 13:01:29 +01:00
Jake Turner fef0760490 D3D11 & D3D12 rebuild reflection when reloading shaders to match Vulkan
- Changing PDB search path will now reload all built shaders to get any newly found PDB data tracked and ready to be embedded into the RDC file
2026-10-23 13:01:28 +01:00
Jake Turner 2c84beae9b D3D12_CBuffer_Zoo: do not check CBuffer array on SM6
- The DXIL debugger does not expand out CBuffer arrays into the debugger trace constantBlocks
2026-10-23 13:01:28 +01:00
baldurk 96ef1ae5f3 Remove Block declaration from BDA structs in asm shader test 2026-10-22 19:00:01 +01:00
baldurk 4d36d1eea2 Fix compile error in linux demos 2026-10-22 19:00:01 +01:00
Jake Turner 9212c1f9fd DXIL shader debugging calls DXIL::Program::ProcessDXIL directly
- renamed DXIL::Program::Parse() -> ProcessDXIL()
2026-10-21 12:12:00 +01:00
Jake Turner 4dbd2b105e Fix output from DXC_COMPATIBLE_DISASM mode
- it had become incorrect over time
- disable DXIL debugger when DXC_COMPATIBLE_DISASM is enabled
- don't show RD Disassembly string when DXC_COMPATIBLE_DISASM is enabled
2026-10-21 11:07:02 +01:00
Jake Turner 750440d311 Remove D3D12APIWrapper::TypedSRVStore() it is not required 2026-10-21 11:07:01 +01:00
baldurk 7aff2979a7 Also ignore attachmentCount as spec says this is ignored too 2026-10-20 15:32:10 +01:00
baldurk 64beecb16a Ignore pipeline color attachments if all states are dynamic 2026-10-20 15:29:32 +01:00
baldurk 183fbfab8a Fix demos compile error
* error C2026: string too big, trailing characters truncated
2026-10-20 13:33:44 +01:00
baldurk 4ed3ad4886 Add notes that LLM generated text for issues/PRs is prohibited 2026-10-20 10:15:59 +01:00
Jake Turner 80ee1c3ba9 DXBC Debugger SM5.1 support for all resource type arrays and operations
- previously only the resource used in the CalculateSampleGather operation would support arrays
- now includes array of Samplers, array of UAVs, array of SRVs which does not use CalculateSampleGather
2026-10-19 12:31:07 +01:00
Jake Turner 2195a47ea7 DXIL Debugger improved support for arrays of resources
- simulation support for arrays of Samplers (bounded and unbounded)
- simulation support for arrays of cbuffers (bounded and unbounded)
- add arrayed SRVs, UAVs, Samplers, cbuffers to the global state and UI
2026-10-19 12:04:07 +01:00
Jake Turner 33b0522c4f Extend D3D12_Shader_Debug_Zoo tests for arrayed resources
- bounded array of srv, uav, sampler, cbuffer
- unbounded array of srv, uav, sampler, cbuffer
2026-10-19 11:46:50 +01:00
Jake Turner ef2961d2c3 GL Spirv debugger support for arrays of UBOs, SSBOs
- bounded arrays only
2026-10-19 11:46:50 +01:00
Jake Turner 36995aefa3 Extend GL reflection matching to SPIRV reflection for UBO, SSBO arrays
GL resource arrays are expanded in the GL reflection i.e. texture[0], texture[1] but they are collapsed in the SPIRV reflection.
For SPIRV resource arrays if matching the full name fails then try to match by the expanded name i.e. texture[<ARRAY_ELEMENT>]
2026-10-19 11:46:50 +01:00
Jake Turner f69a1f91d8 Fix GL Shader Reflection for UBO arrays
- use the array basename to match for ubo variables
2026-10-19 11:46:50 +01:00
Jake Turner 729443d4fb Extend GL_Shader_Debug_Zoo tests for arrayed resources
- bounded UBO array
- bounded SSBO array
2026-10-19 11:46:50 +01:00
Jake Turner e89335822a ShaderViewer support for arrays of Samplers 2026-10-19 11:46:50 +01:00
Jake Turner 737355196a ShaderViewer support for arrays of cbuffers 2026-10-19 10:42:15 +01:00
Jake Turner e3a7f3da4c Vulkan Spirv debugger support for arrays of cbuffers
- bounded and unbounded
2026-10-19 10:34:59 +01:00
Jake Turner 6599a0d363 Extend VK_Shader_Debug_Zoo tests for arrayed resources
- bounded Uniform array
- unbounded array of Uniform, Buffer, Sampler and Tex2D
2026-10-19 10:33:10 +01:00
Jake Turner a6fde06ea5 Fix ShaderViewer UI display of Samplers
- Samplers were accidentally broken in "Improve support for resource array display in Shader Debugging UI"
2026-10-16 15:49:22 +01:00
Jake Turner fdf0ae8c8b Ignore MSVC Warning 5240
- C5240: '[[nodiscard]]': attribute is ignored in this syntactic position
2026-10-16 07:47:57 +01:00
baldurk 45e91661ee Leak resources on linux context shutdown if not bound. Closes #3921
* Linux doesn't support rebinding contexts between EGL (Android binding API) and
  GLX (linux) even if no context is bound, so if one platform is used then the
  other we can't bind our child contexts in order to delete objects when a
  context is destroyed.
* We will have to do the same as we do if a different context is bound, and hope
  that the driver tidies this stuff up for us when the context is deleted.
2026-10-15 17:27:17 +01:00
baldurk d0ea00bba1 Check for truncated flag presence or absence in cbuffer checks 2026-10-12 10:37:10 +01:00
Jake Turner 36b1c78ec7 Show a DXIL TypedDebuffer as "Buffer" in the disassembly to match HLSL
- DXC disassembly still uses TypedBuffer
2026-10-09 13:37:53 +01:00
James Sumihiro bc8c83b4e9 Add support for VK_EXT_shader_object to FetchShaderFeedback 2026-10-09 21:32:59 +09:00
Wang, Xiong 61a81af880 Release Python callback arguments in the destructor
Keep the argument tuple owned by varfunc for its full per-call lifetime.
ConvertFunc destroys varfunc before ScopedFuncCall, so the tuple is released
exactly once while the GIL is still held, including failed callbacks.
2026-10-09 21:32:37 +09:00
Wang, Xiong c3548cd16a Fix Python callback reference counting and shutdown cleanup
Clear the argument tuple after calling a Python callback so varfunc's
destructor cannot decrement it a second time. This prevents repeated
zero-argument callbacks from losing references to the shared empty tuple.

Skip callback reference cleanup after Python has shut down, since Qt can
destroy pending callback closures during QApplication teardown.

Validation:
- Regression harness using this header and bundled Python 3.6.4: 20,000
  callbacks with balanced references, nonempty arguments, exception paths,
  deferred release, and callback destruction after Py_Finalize.
- Windows x64 Release build: no warnings or errors.
- MI 8 remote replay: 1.rdc -> 2.rdc -> 1.rdc -> 2.rdc; normal exit with
  a pending callback, exit code 0.

Build and device checks used the existing development checkout, which also
contains separate local changes excluded from this commit.
2026-10-09 21:32:37 +09:00
baldurk 37c2395138 Don't leak Truncated flag for spec constants when filling values 2026-10-08 21:43:55 +01:00
baldurk c3b5920471 Allow bindings in shader feedback that do not exist in descriptor sets
* In some cases for resources that are declared in the entry point they will be
  in reflected but it is possible that they are not statically used. For these,
  it is allowed for them to not be present in the descriptor set at which point
  we need to ignore them.
2026-10-08 16:08:16 +01:00
Jake Turner 4288cec631 Do not validate ShaderVariable before/after for ConstantBlock types 2026-10-08 10:58:18 +01:00
Jake Turner 591e765bea Change MakeCompositePointer to take a const array of indices 2026-10-08 10:57:53 +01:00
Jake Turner f5f8f8f652 Include array index when sorting resources in Vulkan Pipeline View 2026-10-08 10:55:26 +01:00