14063 Commits

Author SHA1 Message Date
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
Jake Turner c72a79988d Only do the overlay mip subresource tests once 2023-09-10 09:39:19 +01:00
Jake Turner 93506245c4 Add format name to overlay test python logging 2023-09-10 09:39:19 +01:00
Jake Turner 78a64f8640 Extend Overlay tests to handle more depth stencil formats : D3D12
D32_S8, D24_S8, D32, D24, D16
2023-09-08 22:38:01 +01:00
Jake Turner cfdb349cdb Extend Overlay tests to handle more depth stencil formats : D3D11
D32_S8, D24_S8, D32, D16
2023-09-08 22:38:01 +01:00
Jake Turner 8459229441 Extend Overlay tests to handle more depth stencil formats : Vk
D32_S8, D24_S8, D32, D24, D16
2023-09-08 22:38:01 +01:00
Jake Turner 40090fb779 Extend Overlay tests to handle more depth stencil formats : GL
D32_S8, D24_S8, D32, D24, D16
2023-09-08 22:38:01 +01:00
Jake Turner 163f2ff747 Fix validation error in Vk_Overlay_Test 2023-09-07 09:48:57 +01:00
baldurk ae8e923a7c Fix calculation of resource use EIDs on D3D12 2023-09-06 10:18:47 +01:00
Dan Hawson a7a4521b63 Fix 'alignas' use
I think the correct syntax is to have this at start, otherwise it
upsets more strict compilers (like clang).
2023-09-05 15:21:10 +01:00
Dan Hawson 401c6617dc Fix typo in front/back face stencil mask check 2023-09-05 15:21:10 +01:00
baldurk 18d75ff493 Don't source clang_format script, run via bash 2023-09-05 11:10:06 +01:00
baldurk 9d39b8e1a8 Reformat code for clang-format 15 2023-09-05 11:02:08 +01:00
baldurk 4d94209ec1 Change fixed clang-format version to 15
* We commit statically linked x64 binaries for clang-format-15 for windows and
  linux to make the transition easier for anyone running a linux distro that
  doesn't yet support llvm 15, or in future for distros that drop support for
  it.
2023-09-05 11:02:08 +01:00
Jake Turner 5e7b25efca GL: Fallback for uniform lookup for arrays of dimension 1 Closes #3047
ie.

struct A {
		vec3 m1;
		vec3 m2;
		vec3 m2;
	};

uniform A a[1];

with a[0] being passed to a function.

Previously it would look for "a.m1", if that is not found then it looks for "a[0].m1" etc.
2023-09-05 09:36:11 +01:00
Jake Turner bfe89e4c17 Extended test to include a test for GL uniform array of size 1
ie.
uniform float2_struct M[1];
2023-09-05 09:36:11 +01:00
Jake Turner df3b17a265 Fix handling of specialization Op::LogicalNot Closes #3046 2023-09-04 21:37:25 +01:00
Jake Turner 0b669b61e9 Improve GIT versiion retrieval code to work with worktrees 2023-09-04 21:37:25 +01:00
Jake Turner 08a9c1dac2 minimal change to fix Mac CI 2023-09-04 20:50:50 +01:00
Jake Turner e32a9b1784 D3D11: Improve pixel history discarded fragments Closes #3040
Include the discarded offset when indexing to get the post mod data per fragment
Do not include the discarded offset when indexing to get the primitive ID per fragment (primitive ID uses a replacement shader which is not affected by discards in the original shader)
Store the post mod depth data in slot 1 of the depth output to make the indexing simpler to keep track of discarded fragments
Set the post mod data for discarded fragments (excluding the final fragment) to be the known texture after (which starts as the pre mod data and is updated for non-discarded fragments).
2023-09-01 20:02:06 +01:00
Jake Turner 0fed9d5741 Fix memory overwrite when saving a single slice of texture 2023-09-01 20:02:06 +01:00
Jake Turner df1a7cec50 Use max of mips and slices to test for invalid dimensions
The assert was incorrectly triggering on a texture with depth of 128 and mipcount of 6
2023-09-01 20:02:06 +01:00
baldurk 1850ccfee1 Make explicit cast to uint32 after truncation 2023-09-01 14:22:38 +01:00