Commit Graph

14085 Commits

Author SHA1 Message Date
baldurk de6f4346b7 Fix UInt/SInt bindings being swapped on D3D custom visualisation shaders 2023-10-25 17:56:38 +01:00
Jake Turner 3856017609 Set Vulkan currentPass renderArea if dynamic rendering is active
This is in addition to setting the currentPass renderArea if there is an active render pass
2023-10-25 15:47:25 +01:00
Steve Karolewics 3ca187d725 Add generic D3D12 callback for pixel history
This adds the next step toward D3D12 pixel history, which is mostly
the generic action callback that is used for other replays later
(similar to how Vulkan pixel history operates).
2023-10-18 09:55:22 +01:00
baldurk 4d180b300f Fix missing include for some android SDKs 2023-10-13 10:36:37 +01:00
baldurk b25253a83c Fade android logo every 45 minutes to avoid burn-in 2023-10-12 17:55:18 +01:00
Firestar99 62f9986922 fixed cmake version gate using too low of a version for CMP0135, try 2 2023-10-12 17:55:06 +01:00
Jasmine Hansen de8981134c Add support for Extended Dynamic State 3 2023-10-12 12:36:16 +01:00
Jake Turner 5b8c8e30a4 Changes to Android demos to support RenderDoc capture
Change package name to "renderdoc.org.demos" instead of "org.renderdoc.demos" (RenderDoc filters out packages containing "org.renderdoc.")

Added an <intent-filter> to the Android manifest.
This registers the activity with the android package system which means RenderDoc Launch Application knows the activity name to launch.
Used category CATEGORY_ALTERNATIVE to prevent the activity from appearing on the launcher UI.
2023-10-10 16:12:36 +01:00
Steve Karolewics e1516fa521 Add D3D12 pixel history test
This is a basic test that mirrors the Vulkan pixel history test,
but repeats draws multiple times to verify SM5.1 and SM6.0.
SM6.6 should be tested as well for writes from direct heap access
but is not yet implemented differently than SM6.0.
2023-10-10 11:50:55 +01:00
Steve Karolewics b3bc0e98bc D3D12 pixel history copy pixel and resource creation
This adds some of the D3D12 pixel history framework, with creation
of resources that will be needed during pixel history, and a helper
function and shader to copy pixels from MSAA resources.
2023-10-10 11:33:34 +01:00
Steve Karolewics 15ba420905 Add function to get planar depth/stencil SRV formats 2023-10-07 13:39:19 +01:00
Steve Karolewics bad922e1f4 Allow providing NULL shaders for D3D12PSOCreator 2023-10-06 11:26:20 +01:00
baldurk 3d34391d92 Serialise source debug flag for remote hosts. Closes #3076 2023-10-04 12:28:36 +01:00
baldurk 5afd960c93 Don't crash on new barriers when mid-command buffer state fetching 2023-10-02 15:48:58 +01:00
Jake Turner b835a4cbad Abs x,y for pixel history in Iter_Test python script
Prevents exceptions about uint32_t overflow if negative x or y is used
2023-10-02 09:06:08 +01:00
Jake Turner 51fd2e8d9b Disable stencil buffer writes for the Vulkan Stencil overlay
Fixes rare problem of current draw not displaying when switching from Stencil overlay to None overlay and the current draw uses the stencil buffer contents
2023-10-02 09:06:08 +01:00
Jake Turner b67253650e Missing CloseInitStateCmd() in SingleSubmitFlushing() debug mode 2023-10-02 09:06:08 +01:00
Jake Turner a60412d4f6 Metal compile fixes when compiling with MacOS SDK 14 (Xcode 15)
Update wrapped protocols to match MacOS SDK 14 declarations
2023-09-30 12:32:34 +01:00
Eric Long f36d8a3b23 RISC-V support
With some addition to macros the project is able to build on riscv64
machine.

plthook has added RISC-V support upstream [1]. However upstream has
changed their code quite a bit, so I just modified the current vendored
version.

[1]: https://github.com/kubo/plthook/commit/a564738a4707fc5eb4d388b9e97eeab51b8c9d56
2023-09-29 17:26:11 +01:00
baldurk 2886f4a282 Fx mesh viewer being opened repeatedly causing crashes on D3D12 2023-09-29 17:24:19 +01:00
baldurk c46a9d0c73 When removing library flag remove any dependent flags as well 2023-09-29 17:23:50 +01:00
baldurk 9a5e4aa5af Bump version to v1.30 2023-09-29 17:23:36 +01:00
baldurk 0202a066a9 Update year in about dialog v1.29 2023-09-28 16:37:17 +01:00
Eveline Jarosz 7f92b0241e fix copyrights 2023-09-28 13:52:23 +01:00
baldurk 5c1971272c Make sure to account for missing draws even with MaxCount==1
* If we don't account for an execute with MaxCount==1 and actual count 0 then
  our EID tracking gets mismatched.
2023-09-27 15:13:41 +01:00
baldurk adfcedff81 Sync any pending data uploads before any queue executes on D3D12 2023-09-27 14:47:54 +01:00
baldurk 5addf044d7 Properly release all D3D12 objects 2023-09-27 12:40:31 +01:00
Jake Turner 2576a7b7f6 Don't hook into AMD driver
AMD driver was creating and presenting a D3D12 swapchain when creating a GL context
2023-09-25 17:17:21 +01:00
baldurk c859da8f1a Update compiler for spirv-plugins yet again 2023-09-25 16:20:09 +01:00
baldurk 23bcc88a1a Record barriers under original command list data for state lookups 2023-09-22 14:49:02 +01:00
baldurk fe6b702ff4 Allow out of bounds GPU addresses when serialising
* Worst case this is just as invalid as an application, if it uses a totally
  bogus VA. However in D3D12 it is apparently valid to refer to VAs out of
  bounds of any resource as long as it's within bounds of an underlying heap. To
  handle this without serialising VAs as Heap+offset we instead just allow the
  address lookup to run out of bounds and pick the next lowest buffer. If the
  offset is greater than the buffer size then we're probably no worse than the
  application.
2023-09-22 14:47:37 +01:00
baldurk e8a7560b51 Add checks for GL maps failing 2023-09-22 12:47:09 +01:00
baldurk d78565df33 Coalesce unbound sparse bindings on D3D12 2023-09-21 15:47:25 +01:00
baldurk 81cbd7f404 Add delay to empty capture tests to ensure the capture propagates 2023-09-20 12:06:21 +01:00
baldurk b262958d53 Update message for linux on nvidia to clarify to copy symlink 2023-09-20 11:58:11 +01:00
baldurk 5f9bd7e51b Flush the context after garbage collecting D3D11 state objects 2023-09-19 18:52:13 +01:00
Cam Mannett 5432a0576b Functional tests cannot be built in CMake >= 3.12
In development/CMakeLists.txt:477, the Python interpreter and libs are discovered. It uses the 'old' package discovery mechanism and the new depending on CMake's version.

However the old mechanism sets different variables to the new, so the new also sets the old vars for compatibility, however it is missing two variables.

The first missing var causes the Python minor version to be hardcoded to zero (renderdoccmd/CMakeLists.txt:9) and the second causes the later conditional (CMakeLists.txt:495) to be malformed.
2023-09-19 14:46:59 +01:00
baldurk d911ec8e3d Update docker prepare script to remove expired root CA certificate 2023-09-19 10:49:46 +01:00
Cam Mannett 30a013907d Cannot run functional tests using Python >= 3.10
In replay/entry_points.cpp RENDERDOC_RunFunctionalTests(..), it uses a simple char-replacement algorithm for finding the Python modules depending on the Python minor version.

Unfortunately that mechanism relies on there being only a single character to replace which doesn't work once we reach double figures.
2023-09-18 17:39:56 +01:00
baldurk d88eff15f3 Update execute indirect test to verify more complex EI behaviour 2023-09-18 12:19:36 +01:00
baldurk df591c09ec Fix some Vulkan draw indirect bugs that were revealed in D3D12 refactor 2023-09-18 11:21:50 +01:00
baldurk 55dae7ebc6 Refactor D3D12 ExecuteIndirect handling to patch arguments on GPU 2023-09-18 11:21:50 +01:00
baldurk cb7048e1a4 Fix validation error on dummy pipeline that was missing an RP 2023-09-18 11:21:50 +01:00
baldurk 815c88b932 Update Ubuntu dependencies to prioritise newer (18.04 and up) versions 2023-09-13 16:26:29 +01:00
baldurk 3a2b7db54f Properly initialise dummy pipeline
* This prevents a possible crash if the uninitialised memory is used for
  destroying these objects
2023-09-13 16:26:04 +01:00
baldurk 8cd37f019e Avoid warning on newer cmakes 2023-09-13 16:25:24 +01:00
baldurk 92f4aeacde Fix compile error on some clangs with non-const string literals 2023-09-13 16:25:09 +01:00
baldurk 02272f98ac Garbage collect D3D state objects before creation
* If we only garbage collect after a successful create, applications which
  deliberately leak state objects and only free them when they see a failed
  create will not have a change to garbage collect.
2023-09-12 21:53:23 +01:00
baldurk 1bfe6d1492 Add dedicated test for VK_Counters so GPU duration isn't degenerate
* Some cards run it so fast that the triangle takes "0" microseconds
2023-09-12 21:53:23 +01:00
baldurk 832bb4fb74 Add an early-out for DXBC chunks with the wrong size 2023-09-12 21:53:22 +01:00