16595 Commits

Author SHA1 Message Date
Jake Turner e7f0b0ea67 DXBC Debugger fix for CalculateLevelOfDetailUnclamped
The LOD result has already been swizzed into result.x
v1.42
2025-12-14 08:13:05 +13:00
Jake Turner 3767d5da0c Added D3D11, D3D12 shader debug tests for CalculateLevelOfDetail* 2025-12-14 08:11:14 +13:00
Jake Turner a3f3f1a510 Support for DXIL SM6.6 Derivatives in Compute Shaders
linear layout (4x1x1) : for 1D workgroup (Nx1x1) otherwise quad layout (2x2x1)

HLSL
ddx()
ddx_coarse()
ddy()
ddy_coarse()
ddx_fine()
ddy_fine()

CalculateLevelOfDetail()
CalculateLevelOfDetailUnclamped()
Sample()
SampleBias()
SampleCmp()

DXIL
DXOp::DerivCoarseX
DXOp::DerivCoarseY
DXOp::DerivFineX
DXOp::DerivFineY
DXOp::CalculateLOD
DXOp::Sample
DXOp::SampleBias
2025-12-12 12:02:16 +13:00
Jake Turner ab7016e142 D3D12 DXIL Debugger pure quad scope fixes
Initialise global SV_GroupID builtin
Resize containers to correct number of threads
2025-12-12 12:02:16 +13:00
Jake Turner 1b56d385fe D3D12 Test cases for SM6.6 Derivatives in Compute Shaders
HLSL
ddx()
ddx_coarse()
ddy()
ddy_coarse()
ddx_fine()
ddy_fine()

CalculateLevelOfDetail()
CalculateLevelOfDetailUnclamped()
Sample()
SampleBias()
SampleCmp()
2025-12-12 12:02:16 +13:00
Jake Turner cd0faba571 Made enum DerivType be class enum to reduce its scope 2025-12-12 12:02:16 +13:00
baldurk 72c6bbe302 Also check mesh shader for exported primitive ID. Refs #3746
* We were only checking geometry shader before.
2025-12-11 19:07:16 +00:00
Jake Turner 95702ce6f7 Support for DXIL Quad Ops in Compute Shader Debugging
linear layout (4x1x1) : for 1D workgroup (Nx1x1) otherwise quad layout (2x2x1)
2025-12-11 15:39:19 +13:00
Jake Turner dc61249328 Set ThreadScope::Quad if DXIL compute shader uses Quad Ops
Check for dx.op.quadReadLaneAt.* or dx.op.quadOp.* or dx.op.quadVote.*
2025-12-11 15:39:19 +13:00
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