Commit Graph
17157 Commits
Author SHA1 Message Date
baldurk 6a2fca967c Add a helper to get the friendly name for a type 2026-08-13 17:46:42 +01:00
baldurk 6b85e503fe Add testing for type checking 2026-08-13 17:46:42 +01:00
baldurk e7845446db Add a query to pull the type of a given location 2026-08-13 17:46:41 +01:00
baldurk f090436670 Determine best-effort type information for AST nodes
* This is not perfect but does a good enough job for most common cases.
2026-08-13 17:46:41 +01:00
baldurk e57d9db9c4 Process scope declarations and identifiers in AST tree
* We don't generate type information yet, _get_type is stubbed out.
2026-08-13 17:46:41 +01:00
baldurk b2b46e7e7c Add structs for tracking identifiers and scopes 2026-08-13 17:46:41 +01:00
baldurk 08369056d3 Add python script for autocompletion parsing
* This tries to ast parse source that may contain an error.
* We don't try to fully error recover from unlimited problems, but a single
  statement that is being edited can be tolerated by commenting out lines around
  it
2026-08-13 17:46:41 +01:00
baldurk 23ca2cf053 Show syntax errors when editing in python script editor 2026-08-13 17:46:41 +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 22444aa44d Disable python debugging buttons if it's not supported 2026-08-13 17:46:41 +01:00
baldurk c0b47ee48c Don't enable output/debug buttons for unloaded 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 3c6dfd23b4 Add a drop-down for the script output panel to switch context
* By default we still display all messages, but this allows users to switch to
  just seeing the output from one extension if desired.
2026-08-13 17:46:40 +01:00
baldurk 768d8fa615 Add a static context for connecting Qt signals for python extensions 2026-08-13 17:46:40 +01:00
baldurk b1f0b9d310 Flush output before an exception
* We buffer output to avoid spamming huge numbers of signals especially when
  single lines can be many write calls. This means if an exception is processed
  immediately after a print the output from the print may come after the
  extension.
2026-08-13 17:46:40 +01:00
baldurk 229c4c8746 Avoid polluting globals with completion objects 2026-08-13 17:46:40 +01:00
baldurk 836a5da7fa Re-organise python shell to be dockable and dock REPL at bottom 2026-08-13 17:46:40 +01:00
baldurk 60b989f2b7 Give extensions their own OutputRedirector object to identify them 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 3dfd829331 Initialise debugpy on a thread to reduce startup time 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 53e5e718b1 Copy whichever libffi version the python installation needs 2026-08-13 17:46:39 +01:00
baldurk 9fc3c3cdcd Use sys.settrace instead of PyEval_SetTrace for better compatibility 2026-08-13 17:46:39 +01:00
baldurk c15a5c2c66 Add os.add_dll_directory cruft to verify-docstrings 2026-08-13 17:46:39 +01:00
baldurk e5f395497c Allow custom python folder to contain platform-subfolders
* This is not the default python layout but is convenient for sharing the
  standard library .zip and include folder with separate binary folders per-
  platform. The layout mirrors what we include in the repository.
2026-08-13 17:46:39 +01:00
baldurk 7e11dc9cc5 Allow loading a custom PySide2 with a customised python location
* This is expected to be in a pyside\ subfolder, with an organisation matching
  our default setup.
* We also now copy the shiboken2 python module (if it exists) as required by new
  pyside2 versions.
2026-08-13 17:46:39 +01:00
baldurk 388f914b3a Add a script for building a pythonXY.zip
* This is the only thing missing from an installed version of python to be able
  to build against it, so it's convenient to rebuild it instead of fetching it
  separately from the embeddable distribution
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 26a84363b8 Embed stubsgen.py and automatically generate stubs into user folder
* We create both a stubs folder for each specific version, and a 'latest' that
  is updated by newer RD versions.
* For development, the stubs will be regenerated any time the git commit hash
  changes for development builds.
2026-08-13 17:46:39 +01:00
baldurk 9223971536 Remove old stubs generation code and replace with our own script
* This is smaller and easier to maintain, and adds functionality like resolving
  circular dependencies to be able to import the stubs as-is on python 3.6+
2026-08-13 17:46:38 +01:00
baldurk a869e5c4f8 Add natvis for python 3.8 2026-08-13 17:46:38 +01:00
baldurk 8d6d307998 Don't apply sphinx paramlinks to Callable[] lines 2026-08-13 17:46:38 +01:00
baldurk a23ee5f526 Change documentation for callbacks to use Callable[] 2026-08-13 17:46:38 +01:00
baldurk 7567cc11c9 Fix GC collection of python contexts 2026-08-13 17:46:38 +01:00
baldurk 9bb79a0594 Demote error to warning on unbalanced markers
* Some markers from the application may be unbalanced, or it might be unbalanced
  if we began the capture with some markers already open (e.g. due to a push/pop
  around present).
2026-08-13 17:46:38 +01:00
Danylo Piliaiev 6c7c9e16b8 Check both resolveImageView and resolveMode before referencing the view
When MRTSS is used, resolveImageView must be NULL since resolve happens
into the same image:

> VUID-VkRenderingAttachmentInfo-imageView-06863
> If imageView is not VK_NULL_HANDLE, resolveMode is not VK_RESOLVE_MODE_NONE,
> the pNext chain of VkRenderingInfo includes a VkMultisampledRenderToSingleSampledInfoEXT
> structure with the multisampledRenderToSingleSampledEnable field equal to
> VK_TRUE, and imageView has a sample count of VK_SAMPLE_COUNT_1_BIT,
> resolveImageView must be VK_NULL_HANDLE

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
2026-08-13 21:48:54 +09:00
baldurk 717d23e770 Match SPIR-V debugger structs change in GL shader debugging 2026-08-11 16:50:13 +01:00
Jake Turner e807742444 Tweak RenderPass setup/usage in VK_Resource_Usage
Use the mainWindow RenderPass everywhere
2026-08-10 07:25:32 +01:00
Jake Turner 0219134aa8 Add test to D3D12_Parameter_Zoo for DXIL CST_CODE_CE_GEP (12)
DXC emits CST_CODE_CE_GEP for constants which are not in bounds
RenderDoc treats it the same as CST_CODE_CE_INBOUNDS_GEP (20)
2026-08-10 07:22:36 +01:00
baldurk 7db2264afa Set specialisation info if EXT shader object is used with task shaders 2026-08-07 16:26:34 +01:00
baldurk aa78f90d34 Sync before any map updates if we have already submitted GPU work 2026-08-07 16:26:34 +01:00
baldurk ef73eb2205 Allow matching debug variables directly before processing path
* Debug info could theoretically contain names which include path like
  characters including '.' or '[]' even though these wouldn't be valid
  identifier names. We assume this will not happen with names that are part of
  structures/arrays themselves but instead only happen if there's a single
  matching path.
2026-08-07 16:26:34 +01:00
baldurk a99a02c51b Add 'bind' to display of samplers in shader debugger
* If there is no set/space and no array index, a single number is unclear of
  what it actually means (when there is no sampler object, we don't have
  anything to refer to except the binding).
2026-08-07 16:26:33 +01:00
baldurk a322de964b Add source vars for samplers 2026-08-07 16:26:33 +01:00
baldurk 62b088319a Detect struct array strides from BDA pointer decorations 2026-08-07 16:26:33 +01:00
baldurk d3a366e759 Disable NV layer 2026-08-07 16:26:33 +01:00
baldurk bc52be931a Correctly handle debugging double PS inputs in SPIR-V 2026-08-07 16:26:33 +01:00
baldurk 5bcac1bfda Update from toolwindowmanager repository @ 984f7fb 2026-08-05 11:51:44 +01:00
baldurk 0db700e4a9 Remove pixel shader when fetching tess/GS out
* if rasterizerDiscardEnable is enabled we must not have a pixel shader.
2026-08-05 11:51:44 +01:00