Commit Graph
12100 Commits
Author SHA1 Message Date
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
baldurk 72d67ba3c7 Add new ignored warning in VS2026. Closes #3892 2026-08-26 06:52:41 +01:00
baldurk e744863a06 Ensure annotations aren't deleted early on device lost
* Similar to the structured file, the ownership of these must pass to the dummy
  driver to be kept alive until it's deleted.
2026-08-25 23:20:28 +01:00
baldurk 7a84691cf0 Fix patching of XFB annotations for vulkan to not have incorrect values
* This doesn't work everywhere so needs some further clarification...
2026-08-25 18:21:06 +01:00
baldurk b31e02a067 Set correct aspect for clearing depth-stencil in overlay 2026-08-25 15:51:26 +01:00
baldurk 6122e32454 Fix A8 remapping when decoding pixel data manually 2026-08-25 13:18:50 +01:00
baldurk fb6f320eab Only read co-ordinates that exist in parameter. Closes #3885
* ShaderVariable contents are not guaranteed to be 0-initialised outside of
  their valid range and could contain leftovers from older IDs and calculations.
2026-08-25 10:27:25 +01:00
baldurk 08d6492dc6 Fix epsilon check being too strict for equality depth checks 2026-08-24 21:52:31 +01:00
baldurk a87c93bf0b Add ultra dirty specific hack to work around mesa following GL spec
* The GL spec is absolutely and maliciously unhinged and the queried stencil
  value will be clamped to 0 if no stencil texture is currently bound. This of
  course will break in so many different places that will never get fixed, but
  this minimal change at least allows autotests to run on mesa.
2026-08-24 20:17:37 +01:00
baldurk 4de445d2f5 Don't try to copy PS uniforms if there is no program bound 2026-08-24 17:46:21 +01:00
baldurk f8e2d0f36c Properly save and restore FB attachments in pixel history
* When we need to substitute a depth attachment, ensure we handle all attachment
  possibilities
2026-08-24 17:46:20 +01:00
baldurk 4db49e2c6b Fix copy-paste error for int case in GL pixel history 2026-08-24 17:04:14 +01:00
Jake Turner b7f009212f Demote error to warning on unbalanced markers on D3D12
* Apply the Vulkan fix 9bb79a05 to D3D12
2026-08-24 09:57:04 +01:00
baldurk b7f1554feb Explicitly call parent copy-constructor 2026-08-20 12:10:06 +01:00
baldurk 56379f7f01 Fix incorrect moves if inserting large range into smaller rdcarray 2026-08-18 15:14:42 +01:00
Samir Toularhmine b62836c1c7 Remove sideband list of reflection IDs.
Now directly serialise the uint64_t pointer value in the pipeline state.
Add docs.
2026-08-18 22:15:24 +09:00
Samir Toularhmine e11dc1ca48 Fix remote pipeline shader reflection retrieval
Serialize remote ShaderReflection pointers as uint64 cache keys and fetch
them through a proxy-local RPC.
2026-08-18 22:15:24 +09:00
baldurk a2753429bf Fix fixup of chunk length for pre-allocated 64-bit sized chunks 2026-08-14 23:17:27 +01:00
baldurk 4a03afc0ce Fix docs build warning 2026-08-13 21:05:15 +01:00
baldurk 2654224fb5 Clarify ResourceUsage.Unused docstring to be more explicit 2026-08-13 21:05:11 +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 8ca1aa2c8d Expose memory bindings for buffers/textures on Vulkan and D3D12
* This only applies to explicit memory binding APIs - so D3D11 and GL are
  excluded. On D3D12, committed resources will not have anything listed here.
2026-08-13 21:05:10 +01:00
baldurk d4130ce42a Enable nitpicking in sphinx documentation build and fix some broken refs 2026-08-13 17:46:49 +01:00
baldurk d6c61f28d4 Rename legacy parameter name to be more correct 2026-08-13 17:46:48 +01:00
baldurk 3ea0d7a37d Remove "preferSourceDebug" compile flag, use sourceDebugInformation
* This was previously only relevant for DXBC shaders that could have source
  debug information but didn't prefer source debug unless optimisation was
  disabled. This is inconsistent with how things are handled on SPIR-V and DXIL
  and in general it's considered now that the benefits of debugging in source
  outweigh the problems of debugging optimised code.
2026-08-13 17:46:48 +01:00
baldurk 34a45ed73d Handle DOS newlines in ASCII rdc file sections 2026-08-13 17:46:48 +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 950568fb8f Rename previous/next to previousAction/nextAction in ActionDescription
* swig internally creates 'next' member which we normally want to avoid, so
  prevent shadowing here by using a distinct name.
2026-08-13 17:46:47 +01:00
baldurk 3f653cfbf2 Remove RENDERDOC_GetDefaultCaptureOptions, initialise in constructor 2026-08-13 17:46:46 +01:00
baldurk 4f3dab116b Properly update docstrings with optional/default parameters 2026-08-13 17:46:45 +01:00
baldurk a23ee5f526 Change documentation for callbacks to use Callable[] 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
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 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 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
baldurk fda6fc2322 Fix calculation of array size when calculating struct sizes
* Non-tightly packed arrays can be larger based on the stride than base size
  multiplied by element count, e.g. with a 4-byte uint with a 16-byte array
  stride.
2026-08-03 21:15:19 +01:00
baldurk 430286642d Mark OOB reads in cbuffers as truncated 2026-08-03 21:15:19 +01:00
baldurk 114222f0eb Check for extensions function pointers provided by layers. Closes #3877 2026-08-03 21:15:18 +01:00
nachocpol b857463968 Feedback from PR 2026-08-03 20:05:06 +09:00
nachocpol 0ba299366b Support old GEP type instructions 2026-08-03 20:05:06 +09:00
Jake Turner 4e59f62a96 During Loading replay replace D3D12ActionTreeNode with D3D12EventNode
D3D12EventNode contains all data for an Event during loading: APIEvent, ActionDescription, resource usage, debugMessages, annotations.
Action ID, Event ID is not computed whilst loading is happening.

At the end of Loading when the D3D12EventNode's have been flattened into linear submission order then the D3D12EventNode's are baked into RenderDoc replay APIEvents and Actions. Event IDs and Action IDs are assigned as part of the baking process
2026-07-30 16:36:02 +01:00
Jake Turner 4d57e74c9d Release VulkanEventNodes after they are baked into actions/events 2026-07-27 21:23:14 +01:00