328 Commits
Author SHA1 Message Date
baldurk e20c2b9985 Expose buffer interpretation helpers to python 2026-08-13 21:05:15 +01:00
baldurk 022a5e1438 Change python scripting 'debug' button to just attach, not run 2026-08-13 21:05:14 +01:00
baldurk 83a80ad9dc Add some notes to main interface docstrings of where they are obtained 2026-08-13 21:05:11 +01:00
baldurk d4130ce42a Enable nitpicking in sphinx documentation build and fix some broken refs 2026-08-13 17:46:49 +01:00
baldurk bb4017a965 Add a spellchecking mode for sphinx and fix some typos
* The worst one was Persistant -> Persistent. This involved renaming
  PersistentConfig but the impact of that is considered minimal enough to be
  worth fixing.
2026-08-13 17:46:47 +01:00
baldurk 5e462c5ebe Add type hints to python for class constructors
* We enforce default and copy constructors where possible, this isn't very
  pythonic but we can't use copy.deepcopy on our types.
* The structs that have specialised constructors e.g. FloatVector or Subresource
  also have those documented though we have no way to enforce it.
2026-08-13 17:46:47 +01:00
baldurk 40945e6e8a Explicitly note that MiniQtHelper callbacks are optional 2026-08-13 17:46:47 +01:00
baldurk 61e21aa7b5 Fix incorrect reference in docstring 2026-08-13 17:46:47 +01:00
baldurk a02741381b For convenience expose InvokeOntoUIThread directly from CaptureContext
* This can be useful in python scripts and it's odd to have to go via the
  MiniQtHelper just for this.
2026-08-13 17:46:46 +01:00
baldurk 00159dafac Fix overload documentation for AsyncInvoke in replay manager
* Python can't properly document fully independent overloads, only default-
  parameter type overloads. Moving the tag to last as an optional parameter
  means we can eliminate the different variants.
* For cleanliness in C++ code we make an internal variant that swaps the
  parameters, since it is much cleaner to have a lambda callback as the last
  parameter.
2026-08-13 17:46:46 +01:00
baldurk 2d0ba78a49 Add a function to fetch the texture display config from texture viewer 2026-08-13 17:46:46 +01:00
baldurk 7d2477026a Add TextureViewer.GetChannelVisibility that returns a tuple
* This is more natural to access and use from python. The old function could
  probably be removed but since we also changed the name we'll keep it.
2026-08-13 17:46:46 +01:00
baldurk 3f653cfbf2 Remove RENDERDOC_GetDefaultCaptureOptions, initialise in constructor 2026-08-13 17:46:46 +01:00
baldurk e3b0fa0a24 Add UI thread invokers for all windows
* This is necessary as they expect to be run on the UI thread, but can be
  fetched from python scripts running on the python script thread. We block
  invoke over to the UI and suspend python's GIL to avoid deadlocks.
2026-08-13 17:46:46 +01:00
baldurk db75eec620 Expose capture connection windows to python scripting 2026-08-13 17:46:46 +01:00
baldurk 7806d1557d Rename CaptureDialog::TriggerCapture to Launch as better naming 2026-08-13 17:46:45 +01:00
baldurk 4f3dab116b Properly update docstrings with optional/default parameters 2026-08-13 17:46:45 +01:00
baldurk 7fab2e0e0a Add a forwarding ReplayController wrapper for python that auto invokes 2026-08-13 17:46:44 +01:00
baldurk c97850e39b Allow customisation of VS Code executable 2026-08-13 17:46:44 +01:00
baldurk 459bfb2592 Add a project explorer to the python scripting window
* This displays the current UI extension files, some built-in examples, and
  recently opened loose files
2026-08-13 17:46:44 +01:00
baldurk c95a69c8a1 Returning const arrays forces a copy
* This doesn't cover all cases but helps with 'pythonic' cases where a list
  returned from a function should be expected to be mutable. Modifying direct
  'members' can still modify through const.
2026-08-13 17:46:43 +01:00
baldurk 2aff86b678 Change python scripting panel to allow multiple editor windows
* We also remove the old completion/help functionality as it will be replaced.
2026-08-13 17:46:43 +01:00
baldurk a70ee3a2eb Watch python extensions for changes on disk and update status bar
* We show a button to quickly reload changed extensions.
2026-08-13 17:46:41 +01:00
baldurk a995ded466 Add quick-helper to view extension output from manager dialog 2026-08-13 17:46:41 +01:00
baldurk 02ead51303 Add a status entry showing loaded python extensions & debugger status 2026-08-13 17:46:40 +01:00
baldurk 3ff393c91f Add option to launch/wait for debugger on python contexts 2026-08-13 17:46:40 +01:00
baldurk d71827d6a1 Load debugpy when possible to allow python debugging in-program 2026-08-13 17:46:39 +01:00
baldurk 965d788fe5 Add a settings window entry to add extra python stubs paths 2026-08-13 17:46:39 +01:00
baldurk a23ee5f526 Change documentation for callbacks to use Callable[] 2026-08-13 17:46:38 +01:00
baldurk 206d732ade Check serialised shader tool enums against known list
* Prevents an out of bound error from corrupt configs (or configs from the
  future!)
2026-05-15 13:09:20 +01:00
baldurk 109e524d5c Improve cross-module references in docstrings 2026-03-13 13:07:44 +00:00
baldurk 2d1c7653f5 Add an analytic flag for use of custom annotations API 2026-01-28 14:42:11 +00:00
baldurk 13ad7875f2 Add annotation display in resource inspector and as standalone panel 2026-01-28 14:42:10 +00:00
baldurk 5c8a4f144b Add a custom annotation column to the event browser 2026-01-28 14:42:09 +00:00
baldurk 856c838def Update copyright years to 2026 and fix copyright ranges
* In a previous update in 2021 many copyright ranges were truncated
  accidentally, and some files have been copy-pasted with wrong years. These
  dates have been fixed based on git history and original copyright messages.
2026-01-05 14:17:28 +00:00
Jake Turner cf4e8b15fc ICaptureContextx APIs for externally referenced dependency files
void EmbedDependentFilesIntoCapture();
void RemoveDependentFilesFromCapture();
2025-12-11 11:13:29 +13:00
baldurk 45eabffb54 Update mesh viewer to allow better customisation. Closes #1811 2025-12-08 18:24:19 +00:00
baldurk 7e518e813c Add support for fully customised mesh viewer controls 2025-12-08 15:50:17 +00:00
Jake Turner c2015de391 Resource Usage UI changes
Add a column that shows the parent marker for the event range (by default the end event ID)
Add an option to prevent combining resource usage across markers (group by marker)
The tooltip for a resource usage entry contains the full marker path
2025-12-03 11:20:23 +13:00
baldurk 9e0d6f18d6 Display a message when we can't debug a pixel shader and show a history 2025-10-08 22:34:53 +01:00
baldurk 5957a2710b Enforce that all docstrings of members have a :type: 2025-09-09 18:57:35 +01:00
baldurk b4615dbd18 Add a delayed callback helper for python 2025-09-09 18:57:34 +01:00
baldurk b3cec5a4cf Add a helper to clear the set of debug messages from python 2025-09-08 17:29:08 +01:00
baldurk 0f019eafb9 Add option to make shader search paths non-recursive
* For very large shader symbol stores especially those on network drives, the
  bad behaviour that PIX has to recursively search all possible subdirectories
  and enumerate all files can be really slow. Most of the time a file is
  identified by its hash filename and looked up directly - if that isn't a hit,
  in many cases users would rather a fast exit to having no symbols.
2025-04-16 17:39:51 +01:00
baldurk 2322e165de Update copyright years to 2025 2025-03-14 18:54:37 +00:00
baldurk 31d29fcea1 Add python function to clear replay cache 2025-02-21 14:19:12 +00:00
baldurk 7d6ecd1b3d On main UI interface classes add a back-link at where they are retrieved
* E.g. this documents on the ExtensionManager that it's retrieved from
  CaptureContext.Extensions()
2024-12-13 16:48:16 +00:00
baldurk e189c0efd0 Manually link to callback types in docstrings
* The auto-type in parameters does not get linked, but we can manually link it
  in the docstring text.
2024-12-13 16:48:16 +00:00
baldurk ec261a2f85 Use API entry point not source entry point when decompiling source 2024-11-05 10:12:16 +00:00
Cam Mannett de07e66728 Use GLSL 460 for built-in spirv-cross -> GLSL calls
spirv-cross defaults to 450 but will not parse shaders containing the RayQuery capability unless the version is set to 460.

This change modifies the built-in GLSL cross tool to set `--version 460`.  This change does not affect user-specified spirv-cross configurations.
2024-09-10 12:16:08 +01:00