Commit Graph
17525 Commits
Author SHA1 Message Date
baldurk 930452532b Remove redundant OnEventChanged calls in buffer viewer 2026-10-27 14:32:14 +00:00
baldurk d014cc6a7c Don't double-delete buffer if aborting buffer fetch while UI is closed
* buf was just pushed into the config which takes care of self-deleting when it
  is deref'd.
2026-10-27 14:12:27 +00:00
baldurk 205bfd5e4f Check fully dynamic attachment setup doesn't break 2026-10-27 12:26:20 +00:00
baldurk 41a17ba6f7 Don't set shader path tag when not available 2026-10-27 12:22:57 +00:00
baldurk 7abab64151 Add a global value to GL_Shader_Debug_Zoo
* This produces unique debug info for 'executable' code
2026-10-27 11:51:39 +00:00
baldurk 6cdf7304c8 Mark RGP unsupported on both sides of proxy 2026-10-27 11:47:40 +00:00
baldurk 2395565271 Don't remote support for RGP captures over remote proxy
* This doesn't work as we don't send the trigger call etc over the proxy.
2026-10-27 11:31:44 +00:00
baldurk 27fc73a74c Fix access invoke callbacks relying on replay thread
* Some CaptureAccess uses like enumerating GPUs happen before the replay thread
  is running, in this case we can safely run on the UI thread as we know there
  will be nothing to conflict with.
2026-10-26 17:44:59 +00:00
baldurk 437fe7e992 Add access invoke which deliberately goes onto the replay thread
* We previously decided we'd normally access this only on the UI thread when
  local, and only on the replay thread when remote (by neccessity), but some
  actions like resolving symbols can be quite slow so we want to make sure these
  are actually async and so we leave them on the replay thread so we can display
  a proper UI spinner and leave the UI thread active.
2026-10-26 17:35:03 +00:00
baldurk 660a4f0f93 Improve display of callstacks while loading from remote 2026-10-26 17:21:59 +00:00
baldurk e8d39bb902 Add VK_Device_Address_Commands tests to CMakeLists.txt 2026-10-26 17:20:36 +00:00
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