Commit Graph

14244 Commits

Author SHA1 Message Date
Steve Karolewics ad2070c9c8 Add D3D12 pixel history implementation
It is disabled by default but can be enabled in the config editor
via D3D12/PixelHistory.
2023-12-12 08:47:30 +00:00
baldurk 15a6c03c43 Keep skipping amdvlk until AMD driver issue is fixed 2023-12-11 18:49:36 +00:00
baldurk 54df5d5ca7 Tweak rendering of slider controls in RDStyle 2023-12-11 11:56:27 +00:00
baldurk f8bbe1ed4f 32-bit compile fixes for demos project 2023-12-11 11:00:12 +00:00
baldurk 454e2f9d8d Bind a dummy SSBO for mesh vertex shader in triangle size overlay 2023-12-11 11:00:12 +00:00
baldurk bc63167f02 Don't skip hooking amdvlk to workaround AMD driver issue 2023-12-11 11:00:12 +00:00
baldurk 651fd92ce2 Clear lists of resources after closing on D3D11
* This means even if a resource leaks (which it shouldn't) we won't cause
  problems on loading a subsequent capture.
2023-12-11 11:00:12 +00:00
Jake Turner 564e0d09a4 Wildcard remove existing python executables in /usr/local/bin 2023-12-11 07:11:12 +00:00
Steve Karolewics f0917a9a0c Avoid D3D12 DLL unloaded assert with API validation enabled 2023-12-10 22:32:32 +00:00
Dan Hawson 442b48bb77 Mesh exploder
New 'Exploded' visualisation mode in BufferViewer with new exploder controls
hidden when not in 'Exploded' mode.

Change 'solidShading' and 'solidShadeMode' to 'visualisation' and
'visualisationMode'.

Hide the 'highlightVerts' widget when using 'Exploded' vis for both
real-estate and practical implementation reasons.
2023-12-09 11:40:30 +00:00
baldurk da3e2366ac Completely disable layer-enable detection on Android
* Due to Android's broken custom loader this detection can't work.
2023-12-08 15:59:56 +00:00
baldurk b2959e0b78 Allow explicit RenderDoc layer enable for internal android instance 2023-12-08 15:41:18 +00:00
baldurk bf4dd094a8 Handle must-fail stencil state correctly in pixel history 2023-12-08 15:40:44 +00:00
baldurk f3a3d0ac58 Update image states after frame references to handle postponed resources
* We may fetch initial states for postponed resources when updating references,
  so don't update image states until after as the fetch is performed *before*
  the application's commands
2023-12-08 13:34:54 +00:00
baldurk 73945ee56e Don't scramble command buffer order when replaying image barriers 2023-12-08 13:34:03 +00:00
baldurk 9ba1661599 Remove unused persistent header chunk 2023-12-08 12:35:24 +00:00
baldurk 4bccf2dac3 For indirect mesh shaders fetch up-to-date dispatch arguments
* This doesn't work for whole-pass mesh fetch, but and will cause
  inconsistencies between single draws due to non-determinism, but should avoid
  crashes.
2023-12-07 12:18:43 +00:00
baldurk fd84a06ee2 Update amdspv executable on linux 2023-12-07 12:18:43 +00:00
Jake Turner 1b4b9ebc52 Vulkan Mesh Shader serialisation markup for Offset, Size type fields 2023-12-06 17:19:05 +00:00
Jake Turner 216fb0dc01 Offset and Size consistency display in BufferViewer UI
Use Formatter::HumanFormat() to get consistent formatting and to apply the UI formatting configuration mode for Offsets and Sizes i.e. Auto, Decimal, Hexadecimal.
2023-12-06 17:19:05 +00:00
Jake Turner 10b0eb2b85 Offset and Size consistency display in PipelineState UI
Use Formatter::HumanFormat() to get consistent formatting and to apply the UI formatting configuration mode for Offsets and Sizes i.e. Auto, Decimal, Hexadecimal.
2023-12-06 17:19:05 +00:00
Jake Turner 68fea6e9c2 Vulkan serialisation markup for Offset, Size type fields 2023-12-06 17:19:05 +00:00
Jake Turner 6beb8b17ba GL serialisation markup for Offset, Size type fields 2023-12-06 17:19:05 +00:00
Jake Turner 45e32ba473 D3D12 serialisation markup for Offset, Size type fields 2023-12-06 17:19:05 +00:00
Jake Turner abbba7ecd5 D3D11 serialisation markup for Offset, Size type fields 2023-12-06 17:19:05 +00:00
Jake Turner e34de6b0ab Sparse structs serialisation markup for Offset, Size type fields 2023-12-06 17:19:05 +00:00
Jake Turner 6ce881d5da UI and Config support for dec/hex display option for Offsets or Sizes
Used when fields are marked as being an Offset or Size
Include simple latch to trigger a UI refresh when closing the settings dialog.
Currently only connected to if the Offset/Size format option is altered
2023-12-06 17:19:05 +00:00
baldurk dc76459c65 32-bit compile fix 2023-12-05 18:00:52 +00:00
baldurk bfc3b422fc Use pipelines with depth/stencil writes to mask discards. Closes #3160
* The aspect mask in framebuffer image views is actually sneakily ignored, so we
  have to use pipelines to ignore one aspect out of several that we want to
  avoid.
2023-12-05 17:15:31 +00:00
baldurk 5c41996a45 Use debug list for mesh shader replay for postms
* This fixes a problem where when fetching mesh output for a whole pass the list
  would be partially resubmitted and cause problems.
2023-12-05 17:15:31 +00:00
Steve Karolewics 6da0901c50 Add discarded fragment callback for D3D12 pixel history 2023-12-05 15:27:18 +00:00
Jake Turner dd0c888d11 Extend Overlay tests to include shader exported depth scenario 2023-12-05 15:26:57 +00:00
Jake Turner 00c352748c D3D12 overlay depth copy pipeline initialization tweak 2023-12-05 15:26:57 +00:00
baldurk 92e0fab686 Clarify that buffer viewer displays a single subresource. Closes #3149
* Since the physical layout of subresources is not generally defined, the buffer
  viewer only displays one subresource at a time.
2023-12-05 12:37:09 +00:00
baldurk 118aa4b61d Hide widgets not used for raw buffer viewer 2023-12-05 12:35:30 +00:00
baldurk 77d06d61d4 Use proper component type for storing results of samples. Closes #3152 2023-12-05 11:43:08 +00:00
baldurk b71084d946 Fail with error msg if RenderDoc layer is explicitly loaded in instance
* This is not supported and users who are confused about how RenderDoc works or
  how layers function may try to enable it and get into problems with
  themselves.
2023-12-05 11:21:17 +00:00
baldurk 8cd1bf9eb1 Direct users to non-permanent way of enabling API validation for info 2023-12-05 11:00:59 +00:00
baldurk 6aa0263ace Don't crash if no mesh shader reflection is avialable on a mesh draw
* This is possible after a device lost event.
2023-12-04 19:11:47 +00:00
baldurk 9fe2ec5c2d Fix calculation of slices on 3D textures when viewing up/down mips 2023-12-04 19:11:27 +00:00
baldurk 9057f0d2a2 Bump version to v1.31 2023-12-04 17:19:46 +00:00
baldurk 5f95fb95a2 Fix crash patching DXIL per-primitive mesh outputs v1.30 2023-12-04 11:57:15 +00:00
Jake Turner 3eccdc736e D3D12 Depth overlay fix for unset stencil mask 2023-12-04 10:50:01 +00:00
Jake Turner 693fa9e8ea GL Depth Overlay fallback to non-stencil mask
Fallback if the depth copy does not handle the depth texture configuration
2023-12-03 21:00:34 +00:00
Jake Turner 04050e36f5 D3D12 Depth Overlay fallback to non-stencil mask
Fallback if the depth copy does not handle the depth texture configuration
2023-12-03 21:00:34 +00:00
Jake Turner 0ef2210ab7 Vulkan Depth Overlay fallback to non-stencil mask
Fallback if the depth copy does not handle the depth texture configuration
2023-12-03 21:00:34 +00:00
Jake Turner a6529bd1bb Vulkan Depth Overlay specify stencil dynamic state 2023-12-03 21:00:34 +00:00
Jake Turner defe79d82c D3D11 Depth Overlay improvements
Handle depth copying with a texture array source
Clear stencil to zero during the depth copy to match the other implementations
Specify the bind flags when creating the new depth-stencil texture
2023-12-03 21:00:34 +00:00
baldurk d52f97c225 Make sure buffer viewer panels can't be closed 2023-12-01 13:00:08 +00:00
baldurk 32e1f62199 Give overlay test reasonable epsilons to account for shift 2023-12-01 11:59:14 +00:00