Commit Graph
17514 Commits
Author SHA1 Message Date
baldurk aac221a83b Fix leak in BufferViewer 2026-10-26 13:14:10 +00:00
baldurk 0ae1472da8 Fix glslang global lock to not alloc each time! 2026-10-26 13:14:10 +00:00
baldurk 5867c46f99 Add lock around accessing shutdown functions
* These can be registered on threads so may technically race.
2026-10-26 13:14:10 +00:00
baldurk 824c86a244 Leak iconv lock to preserve better shutdown order 2026-10-26 13:14:10 +00:00
baldurk 36a95ccb0c Use m_DeferredInit to guard waiting in python calls that need reflector 2026-10-26 13:14:10 +00:00
baldurk 0384f09365 Add needed default argument for python function 2026-10-26 12:10:38 +00:00
baldurk 3ea44b8511 Add tests for separate debug info on D3D + Vulkan, and embedding 2026-10-26 11:47:28 +00:00
baldurk 65b29ca9b4 Adjust bytecode handling to reduce redundant copies held in memory
* We always just hold one version of the bytecode, in the shader container
  (possibly with an extra debug blob on D3D where that is necessary for DXBC).
* We also remove any attempt to fall back to the original shader blob if we have
  debug search paths found and we get a debug replacement blob (mostly relevant
  for Vulkan but legacy separate debug info on DXBC also does whole-blob
  replacement). If the debug search paths change and we reload, but fail to find
  a debug blob, we continue using the previous debug blob if we had one.
2026-10-26 11:46:53 +00:00
baldurk 0a91fea828 Intercept obsolete form of EGL surface creation functions. Closes #3924 2026-10-26 10:27:14 +00:00
baldurk e99d699ccd Fix other instances of -Wunused-lambda-capture 2026-10-24 02:09:55 +01:00
baldurk 6c7dd63164 Remove -Wno-unused-lambda-capture so we get those errors on normal clang
* Unclear why this was blocked on OS X clang as it clearly fires, but this means
  this warning is no longer OS X only which makes iterating on normal machines easier.
2026-10-24 02:08:31 +01:00
baldurk 38af0c99ac Remove another unused lambda capture 2026-10-24 01:48:31 +01:00
baldurk e38dda650c Remove unused lambda capture 2026-10-24 01:01:38 +01:00
baldurk 3f51938e13 Rename shadowed variable 2026-10-24 00:09:33 +01:00
baldurk ba62371e3f Create D3D12 ExecuteIndirect patching shader at startup
* Creating it late when we're uploading the address map means it gets included
  as a non-internal resource in the replay resources list.
2026-10-23 23:13:17 +01:00
baldurk 948df720ad Remove linked shaderc support in demos - no longer supported
* shaderc doesn't build with VS2015 so can't be linked in.
2026-10-23 23:13:17 +01:00
baldurk e61e44e1f6 Remove debug code leftover 2026-10-23 23:13:17 +01:00
baldurk 0f3010d930 Don't consider DXIL blobs to ever use vendor extensions
* This was never fully supported by RenderDoc, certainly not when debugging was
  added, and it's unclear if vendors ever supported this either.
2026-10-23 23:13:17 +01:00
baldurk 8f675fa3c2 Fix check for unbounded cbuffer arrays on DXBC
* Previous check was gated behind vendor extensions being used accidentally.
2026-10-23 23:13:16 +01:00
baldurk b62af7c64f Return success from SPIR-V parse, add overload to move SPIR-V words 2026-10-23 23:13:16 +01:00
baldurk 7bacf7f79b If saving a remote capture on shutdown, wait for transfer before exit 2026-10-23 23:13:16 +01:00
baldurk f1c7eff75b Prevent absolutely ridiculous and silly linux behaviour to kill programs
* By default on linux some send() errors will kill the process instead of
  returning an error code.
2026-10-23 23:13:16 +01:00
baldurk 64b3775332 Fix recompression of remote captures not working correctly 2026-10-23 23:13:16 +01:00
baldurk 39be707fde Ensure consistent thread usage of ICaptureAccess in the UI
* We could put everything onto the replay thread but that's unnecessary back-
  and-forth pingponging for a local capture.
* This is safe to use on the UI thread if it's local, but if it's remote it uses
  the same connection as the replay controller so must happen on the replay
  thread.
* We add a new helper (not exposed to swig) that handles this check, and for
  python we wrap the returned ICaptureAccess in an invoker that ensures we are
  on one of those threads.
2026-10-23 23:13:16 +01:00
baldurk 198bd9d673 Update VK_KHR_device_address_commands in internal doc 2026-10-23 23:13:16 +01:00
Aidan Raymond 13324a0846 Add test for VK_KHR_device_address_commands and enable extension 2026-10-24 07:11:44 +09:00
Aidan Raymond d3fbb430e7 Finish indirect hooks for VK_KHR_device_address_commands 2026-10-24 07:11:44 +09:00
Aidan Raymond 98a92086e0 Fill out hooks for vkCmdDrawIndirect2 and indirect meshlet 2 functions 2026-10-24 07:11:44 +09:00
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