Commit Graph
17348 Commits
Author SHA1 Message Date
baldurk 748e089b15 Fix remaining static analysis identified issues in python test code
* This includes:
  - Incorrect comparisons
  - Missing type annotations where it can't be inferred
  - Variable shadowing and bad use
  - Unused imports
  - asserts for non-None on types
* Passes clean on strict pyright checking except for
  `reportMissingParameterType`, `reportUnusedVariable`, and
  `reportOptionalMemberAccess` which are all too spammy and low value to be
  worth addressing.
2026-09-11 15:04:05 +01:00
baldurk 1409c071a9 Split apart util.value_compare_diff to have better type annotation 2026-09-11 15:04:05 +01:00
baldurk 12636a1607 Switch from str.format to f-strings in tests
* These were available for python 3.6 too so was never any reason not to use
  them except not being aware they existed.
2026-09-11 15:04:04 +01:00
baldurk 62e38bc249 Use helper config struct in Draw_Zoo instead of untyped dict 2026-09-11 15:04:04 +01:00
baldurk 796b68c1a8 Unify code to check mesh/task data against reference
* Also change the task payload data layout to match meshes, with one 'vertex'
  (payload) per task thread
2026-09-11 15:04:04 +01:00
baldurk ec36d155bc Remove redundant type annotations
* These come from long ago when using PyCharm with not as good type checking and
  with renderdoc module stubs that were incomplete so needed help identifying
  types.
2026-09-11 15:04:04 +01:00
baldurk 79a5086a0c Handle assert failures in logger directly, remove TestCase.check
* assert is handled specially by the type checker so we don't want to have
  duplicate self.check / assert
* The original reason for TestCase.check was to print the assertion message but
  this can be handled by checking for the AssertionError exception
2026-09-11 15:04:03 +01:00
baldurk fd55020165 Add helper for checking vertex debugging matches postvs
* There are a few 'extras' here as the uses aren't quite uniform, but they are
  close enough it makes sense to have a common helper
2026-09-11 15:04:03 +01:00
baldurk 83c53890da Mark accessors/return values that can be None with Optional[]
* This helps with type checkers to know that things can be None or not (both to
  silence previous warnings about "unnecessary" checks that are actually
  necessary, and to ensure those checks aren't omitted by accident)
2026-09-11 15:04:03 +01:00
baldurk ce50614f0e Reduce number of error log prints when an extension fails to load 2026-09-11 15:03:59 +01:00
baldurk 2ada3ed28d Fix order of operations in shutdown
* When calling OnCaptureClosed now this is book-ended so called *while* the
  capture is opened. Do not refresh and repopulate EventBrowser cache.
2026-09-11 15:03:59 +01:00
baldurk 60c83d0483 Add mkdir for wsl build 2026-09-11 10:47:15 +01:00
baldurk 7282ec87a7 Explicitly call msiexec.exe as WSL doesn't auto-check .exe suffix 2026-09-11 09:57:48 +01:00
Jeremy Gebben 7323b3f946 Add missing barrier between fill and copy in ReplayIndirectCB
Transfer writes are not implicitly ordered, so without a barrier the fill could
complete after the copy. This was causing intermittent failures in the
VK_Indirect test when running with KosmicKrisp.

Synchronization validation reports this error:

```
vkCmdCopyBuffer(): WRITE_AFTER_WRITE hazard detected. vkCmdCopyBuffer writes to
VkBuffer [m_IndirectBufferActionCB], which was previously written by
vkCmdFillBuffer[Drawcall callback replay (drawCount=1)].
```
2026-09-11 02:46:41 +09:00
baldurk db6440a859 Check that zip and msi contents match in build process 2026-09-10 11:39:39 +01:00
wangshuo-lalala a75a19e0e4 Fix back-face dynamic stencil state replay 2026-09-10 18:56:05 +09:00
baldurk 903447260a Fix copy-paste error in 64-bit installer 2026-09-10 10:55:04 +01:00
baldurk 7e5452d7d2 Add rare potential extra failures to process dying on startup 2026-09-09 22:53:29 +01:00
baldurk 6a61a89797 Add missing libffi/shiboken2 files to installer manifests 2026-09-09 22:50:46 +01:00
Jake Turner 033ce407b4 VK_Resource_Usage tweaks
- give names to: Queue, Framebuffer, Swapchain Image, Swapchain Image View, Shader Modules
- rename "barrerCmdSubmitFence" -> "barrierCmdSubmitFence"
- add a marker "Barrier Command Submit Fence"
2026-09-09 15:24:59 +01:00
Jake Turner 30c78d389a Add VulkanGraphicsTest::setName() overload for VkQueue & VkShaderModule 2026-09-09 15:24:59 +01:00
Jake Turner d08b53fd64 In Vk_Resource_Usage Python compute EIDs and reduce hard coded EIDs 2026-09-09 15:24:59 +01:00
Jake Turner 4eae579b45 Do not add an empty Vulkan APIEvent for SystemChunk::CaptureEnd
Does not change the existing behaviour to an action if the preceding chunk is not vkQueuePresentKHR
2026-09-09 15:18:12 +01:00
Jake Turner 0c69b86d7c D3D12_Execute_Indirect: skip checking all overlays inside the large EI
Inside the large EI draw with a count of 256: only check a few EIDs at the start and end of that EI.
Reduces the test time and the EIDs being skipped are not exercising different code paths during replay.
2026-09-09 15:17:00 +01:00
Jeremy Gebben 3fbf0d871c Add missing pipeline barrier in Apply_InitialState()
The commands to initialize srcBuf must complete before it is copied. Sync
validation reports this as a READ_AFTER_WRITE hazard.  This also fixes a
VK_Image_Layouts test failure when running with KosmicKrisp.
2026-09-09 04:11:01 +09:00
Jake Turner 8a15c19d6b Add more clarity to Vk InsertEventNodes Indirect finalise code
Use similar variable names as D3D12 EI finalise code
2026-09-06 19:48:14 +01:00
Jake Turner 5c0dd5acb5 D3D12 Fix up EI inserting extra event nodes during loading 2026-09-06 19:48:14 +01:00
Jake Turner 356684b378 D3D12_Execute_Indirect Increase count buf draw count to 256
A small stress test to exercise RenderDoc resolving of EI actions during loading
2026-09-06 19:48:14 +01:00
baldurk b6270982de Only assign global m_DebugPy when initialisation is successful
* Prevents use on other threads e.g. python status check while partially
  initialised.
2026-09-05 15:05:41 +01:00
baldurk ca7db72a5b Check for immutable samplers in push descriptor updates
* Because these fields can be randomly garbage
2026-09-03 10:11:00 +01:00
baldurk dff9454bbb Fix bad indentation in docstring 2026-09-02 23:51:27 +01:00
baldurk 2b1ef6efd3 Fix look upwards for function scope in SPIR-V disassembly 2026-09-02 22:57:07 +01:00
baldurk ca9bde9a98 Add proper optional argument defaults for optional callbacks 2026-09-01 12:28:09 +01:00
baldurk 32d852d659 Bump version to v1.47 2026-08-31 15:21:11 +01:00
baldurk e4bd23b671 Fix bounds check in internal parser v1.46 2026-08-31 12:30:22 +01:00
baldurk 1aac7afdf1 Add helper function for appending text to a textedit 2026-08-31 12:13:26 +01:00
baldurk 0690269cb7 Add shortcuts for using user's preferred fixed font in MiniQtHelper 2026-08-31 11:27:30 +01:00
baldurk da8132b69c Add MiniQtHelper functions for scrolling widgets 2026-08-31 11:26:05 +01:00
baldurk 6b02191629 Try to break potential deadlock between UI and replay threads
* During capture shutdown on Python < 3.13 the replay thread will try to remove
  itself as a debuggable thread which requires being able to run python (holding
  the GIL). If the UI thread is the one triggering the capture shutdown and is
  running a call from a python script it may hold the GIL while waiting for the
  replay thread to close, deadlocking.
* To alleviate this, while the UI thread is about to block on the replay thread
  we try to release the python state if we are holding it so that the replay
  thread can run python code if needed.
* We already do this in a manual wrapper around BlockInvoke.
2026-08-31 11:13:35 +01:00
baldurk c98181bb9f Add warning about implementing CaptureViewer interface 2026-08-31 10:32:36 +01:00
baldurk 1d4cde2d6e Don't add extensions to output filters multiple times in python shell 2026-08-31 10:30:37 +01:00
baldurk cbeb5804cf Ensure blocking controller invokes onto UI thread if using context 2026-08-28 15:53:47 +01:00
baldurk a1b76c231e Improve the workflow for extensions that fail on import 2026-08-28 15:46:23 +01:00
baldurk f5240a4a47 Add missing function implementations to blocking ReplayController 2026-08-28 15:46:23 +01:00
baldurk 81bec684a3 Expose proper capture closing function to python extensions 2026-08-28 15:46:23 +01:00
baldurk 6237238cf7 Put python version in about dialog 2026-08-28 13:18:26 +01:00
Wehrwolfmann 762ec04267 Add Russian translations to the desktop entry 2026-08-28 02:02:50 +09:00
baldurk 61d9aafb1b Set net manager thread to delete itself on close
* Due to the way Qt works, the owning object acts as if it lives on the thread
  which in this case is running an event loop that tries to delete itself.
2026-08-27 17:29:38 +01:00
baldurk 1e06175da7 Mitigate environment variables being utterly terrible
* Environment variables are not thread safe on linux, but unfortunately linux is
  obssessed with them so we must hold our nose and interact with them.
* This change tries to move some modifications earlier into init before anything
  else happens to reduce the risk of clashes, as well as removing some reads
  that are unnecessary.
2026-08-27 17:17:58 +01:00
baldurk 572fda459d Use localtime_r instead of localtime 2026-08-27 16:58:47 +01:00