Commit Graph

16586 Commits

Author SHA1 Message Date
Jake Turner e2ca32a348 D3D12_Subgroup_Zoo tests for Quad Ops in Compute Shader
QuadReadLaneAt
QuadReadAcrossDiagonal
QuadReadAcrossX
QuadReadAcrossY
QuadAny
QuadAll
2025-12-11 15:39:19 +13:00
Jake Turner 823ab380c1 Move hasQuadScope assert to the correct place (after workgroup check) 2025-12-11 14:56:14 +13:00
Jake Turner c14d404f2c Add warning text to CrashDialog if capture contains embedded files
"Warning: The capture file includes data from <N> embedded files."
2025-12-11 11:13:29 +13:00
Jake Turner 8c25651162 Add Tools Menu Option for externally referenced dependent files
"Embed external files into Capture"
"Remove external files from Capture"
2025-12-11 11:13:29 +13:00
Jake Turner cf4e8b15fc ICaptureContextx APIs for externally referenced dependency files
void EmbedDependentFilesIntoCapture();
void RemoveDependentFilesFromCapture();
2025-12-11 11:13:29 +13:00
Jake Turner 10cf43b703 ICaptureAccess APIs for externally referenced dependency files
ResultDetails EmbedDependentFilesIntoCapture();
ResultDetails RemoveDependentFilesFromCapture();
int32_t CountEmbeddedDependentFiles();
int32_t CountExternallyReferencedFiles();
rdcarray<rdcstr> GetExternallyReferencedFiles();
2025-12-11 11:13:29 +13:00
Jake Turner 0bd07bf283 Connect Vk and DXBC Shader Debug files to dependent files Core API
Add any found external shader debug file as a tracked dependency.
If external shader file is not found on disk, try to find it in the loaded tracked file data.
Use the shader debug filename reference as the dependency nickname : this might be an absolute path, relative path or a hash.
2025-12-11 10:18:34 +13:00
Jake Turner 5db4350193 RenderDoc Core APIs to support external file dependencies in captures 2025-12-11 10:18:34 +13:00
Jake Turner 0d1220aab9 Missing UnregisterMemoryRegion() in ~ReplayController 2025-12-10 22:04:36 +13:00
Jake Turner a9d98f9526 Compute BBOX correctly when viewing Mesh Shader draw 2025-12-09 07:58:59 +13:00
Jake Turner f42e03b079 Set current stage to TaskOut instead of VSIn when viewing Mesh Shaders 2025-12-09 07:58:27 +13:00
baldurk 94f469de63 Update documentation to account for new mesh viewer options 2025-12-08 18:24:19 +00:00
baldurk a059764b74 Fix default identification of raster out stage 2025-12-08 18:24:19 +00:00
baldurk 188007eb46 Exclude modifier/toggle keys from key bindings 2025-12-08 18:24:19 +00:00
baldurk bae6f79dee Catch conflicting binds and warn to ensure no duplicates 2025-12-08 18:24:19 +00:00
baldurk f86aa4a2b7 On windows/linux convert known native scancodes to default keys
* This lets us have more helpful behaviour for default keys rather than being
  all-or-nothing, and display which keys are which.
2025-12-08 18:24:19 +00:00
baldurk c554f726dd Enable depth clipping for solid mesh render, disable for wireframes
* Wireframes can render without a near plane clip and be mostly fine, but solid
  renders need the depth so they should clip. Behaviour was inconsistent between
  APIs before
2025-12-08 18:24:19 +00:00
baldurk dbb8b2d022 Fix flycam and arcball not having same reset parameters
* Both were centring around the AABB but arcball had a scale applied to the
  distance
2025-12-08 18:24:19 +00:00
baldurk 45eabffb54 Update mesh viewer to allow better customisation. Closes #1811 2025-12-08 18:24:19 +00:00
baldurk 5b1b57d703 Add a dialog for configuring unprojection parameters 2025-12-08 15:50:17 +00:00
baldurk b0b14c1b7b Add a dialog for customising camera controls in mesh viewer 2025-12-08 15:50:17 +00:00
baldurk 7e518e813c Add support for fully customised mesh viewer controls 2025-12-08 15:50:17 +00:00
baldurk 071c62ee00 Add API to control the display camera's near and far planes
* This is separate from the near/far used to unproject rasterizer output vertex
  data.
2025-12-08 15:50:17 +00:00
baldurk 19cb12847a Don't replay RP suspend/resume and use store/load
* Suspend/resume must all happen in the same submit so we can't combine it with
  our own work or submit individual command buffers for work. Suspending and
  resuming is semantically equivalent to storing and loading so we can make this
  transformation without affecting correctness.
2025-12-08 15:24:05 +00:00
baldurk 762fc1b445 Add pipeline bit to remove validation message 2025-12-08 15:22:58 +00:00
baldurk 83b1638174 Silence warning 2025-12-08 13:42:08 +00:00
Jonathan Glines 2b22a0877a Sync GPU before decoding NVIDIA Nsight Perf SDK counters on D3D11
Syncing the GPU before decoding counters resolves an
"NVPA_STATUS_INSUFFICIENT_SPACE" error when collecting counters for
D3D11 applications with many event ranges.
2025-12-05 02:36:04 +09: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
Jake Turner 728ac77bf3 Fix D3D12 debug error when setting constants in EI
For instance would trigger when setting a single 32-bit root constant
Do not need to call resize_for_index() on constants because SetConstants() will handle any resizing that is required
2025-12-03 11:20:23 +13:00
Jake Turner abbe6d128a D3D12 EI test for setting a single 32-bit root constant 2025-12-03 11:20:19 +13:00
Vladislav Korytsko 8530da8274 Fix dataSize calculation in WriteToSubresource
Corrects width, height, and depth calculation in WriteToSubresource for the specified subresource when storing provided source data blob. Using base resource dimensions could have led to source-data read access violation.
Also updates corresponding test to validate subresource modification.
2025-12-03 05:56:55 +09:00
baldurk 7a2af108ad Remove pipes which can randomly fail apparently
* Previously `git log --oneline | grep -v 7a064ae | head -n 100` was throwing an
  error `grep: write error: Broken pipe` which as far as I can tell is working
  as intended and can't be fixed. So we remove pipes and use temporary files
  like animals.
2025-12-02 20:10:20 +00:00
baldurk 372aae1381 Add config option for vulkan GPU VA 2025-12-02 14:21:55 +00:00
baldurk c4f35d45cc Fix compilation on old linux compilers 2025-12-02 13:10:34 +00:00
baldurk 09a0c34979 Add manual implicit bias path for Android 2025-12-02 12:37:19 +00:00
baldurk d89b763e49 Fix issues for Android debugging 2025-12-02 12:37:19 +00:00
baldurk ac8b786476 Remove GL shader debugging config variable 2025-12-02 12:37:19 +00:00
baldurk 466f8f6738 Add documentation for GL shader debugging 2025-12-02 12:37:19 +00:00
baldurk e85651545f Add test of GL shader debugging 2025-12-02 12:17:36 +00:00
baldurk 910f7ab65f Handle matrices when copying program attribute bindings 2025-12-02 12:17:36 +00:00
baldurk 7c438edd2a Fix column lookup via access chain in SPIR-V debugging 2025-12-02 12:17:36 +00:00
baldurk 0a15153330 Add a compute debugging UI selector to the GL pipeline state view 2025-12-02 12:17:36 +00:00
baldurk 0f70937707 Dump input fetcher & SPIR-V to disk based on config option 2025-12-02 12:17:36 +00:00
baldurk 01d305eb4e Detect gl_PerVertex for GL shaders 2025-12-02 12:17:36 +00:00
baldurk 88cf6f295a Add vertex shader debugging setup on GL 2025-12-02 12:17:36 +00:00
baldurk d550195e4c Add compute shader debugging setup on GL 2025-12-02 12:17:36 +00:00
baldurk ddf19304b7 Handle resources encountered in the SPIR-V debugging that don't exist
* It is common for drivers to dead-code eliminate resources and they will not
  show up in reflection at all and will not have a binding. For these we will
  still encounter them when debugging so need to ensure we handle that case.
* This unfortunately makes a previously illegal/error-checked case silently
  continue, so we add API-specific asserts.
2025-12-02 12:17:35 +00:00
baldurk 7490abedcf Remap locations/binds back to match real shader as needed 2025-12-02 12:17:35 +00:00
baldurk 8ed7c14556 Try to compile GLSL shaders to SPIR-V to enable debugging 2025-12-02 12:17:35 +00:00
baldurk c4f71f6223 Support plain bare uniforms in GL SPIR-V 2025-12-02 12:17:35 +00:00