Commit Graph

11612 Commits

Author SHA1 Message Date
baldurk 810e57e6ac Fix error serialising contents of UAV descriptors 2020-10-29 12:49:08 +00:00
baldurk bb2a8a431f Ensure we reset any android capture settings on close
* If no capture is loaded after launching a program, the capture settings can
  still be present and cause problems with future launches of applications
  depending on the Android version.
2020-10-29 12:03:27 +00:00
baldurk 19489feb4e Update microsoft/setup-msbuild action to latest 2020-10-29 11:27:31 +00:00
baldurk eb967af9d4 Add missing added parameter to tests calling DebugVertex 2020-10-29 10:34:24 +00:00
baldurk f79ced7a21 Add support for debugging uint64 vendor atomics
* This still is subject to the general limitation that RenderDoc only simulates
  one thread or at most one pixel quad.
2020-10-29 10:16:14 +00:00
baldurk 05b59b8ef3 Post-process DXBC to remove vendor extension UAV and format instructions 2020-10-29 10:16:14 +00:00
baldurk 584746e406 Support capturing & replaying shader extensions with nvapi in DX11&12 2020-10-29 10:16:14 +00:00
baldurk 351e61b849 Move existing minimal nvapi/nvencode hooks to NV project 2020-10-28 19:07:52 +00:00
baldurk f9deead680 Add open-source nvapi release headers 2020-10-28 19:07:52 +00:00
baldurk 2c248935f6 Fix structured serialisation of specially handled structs
* Anything which has an explicit "If writing, set up element" rather than merely
  serialising directly.
* Also e.g. for ResourceIds, when structurising grabbing the ID of an object
  will get the live ID, so we need to get the original ID.
2020-10-28 15:25:01 +00:00
baldurk d397b7fdce Fix nit-picky OSX compile error 2020-10-28 15:08:00 +00:00
baldurk e734cfe077 Fix lazy generator not storing string database and user data
* We need this to properly serialise on some drivers.
2020-10-28 14:50:17 +00:00
baldurk fc6348cca6 Ensure any lazy arrays are fully populated before serialisation 2020-10-28 14:38:57 +00:00
baldurk 769f5d05da Fix issue where mapped memory updates weren't masked. Closes #2083
* After simplification memory that's only used for tiled resources would have a
  single interval with finish() == UINT64_MAX, which failed the iteration check.
2020-10-28 14:20:01 +00:00
baldurk 3d46e105a3 Compile fix on some compilers 2020-10-28 14:14:42 +00:00
baldurk 03b7229bad Support choosing multiview viewport in vertex debugging on vulkan 2020-10-28 13:34:08 +00:00
baldurk 40002634ad Fix order of operations error when shutting down remote replay 2020-10-28 12:08:36 +00:00
baldurk 6b67a6c13b Fix proxy serialisation of SDObject to set parent pointer correctly 2020-10-28 11:56:38 +00:00
baldurk 0a56df5af2 Remove deprecated set-env from github actions 2020-10-28 10:09:57 +00:00
baldurk 978d240ec6 Compile fixes 2020-10-28 09:41:54 +00:00
baldurk 05034e7b57 Ignore deprecated declaration warnings in python modules 2020-10-27 15:15:20 +00:00
baldurk 1ceeb159b7 Add lazy-populating item model for SDObjects
* We also add intermediate paging nodes for large arrays to ease expansions
2020-10-27 15:15:20 +00:00
baldurk 6fbd8511bb Store parent pointer in SDObject 2020-10-27 15:15:20 +00:00
baldurk 7830f56689 Return string literals for more bitfield values
* If a bitfield is precisely equal to one known value, return a literal for it.
  Similarly for 0, for both bitfields and regular enums. This helps reduce the
  number of heap allocated strings generated while serialising.
2020-10-27 15:15:20 +00:00
baldurk c468dafedc Don't stringify ResourceIds in structured data
* Users should stringify the actual value themselves if so desired. This reduces
  the number of string allocations in the structured data since ResourceIds are
  common.
2020-10-27 15:15:19 +00:00
baldurk 935cb113ed Add new string type rdcinflexiblestr specifically for structured data
* This is a string type which heavily optimises for immutability and minimal
  storage. It only contains one pointer to the string data and always
  reallocates on modify. For compile-time literals it doesn't modify or
  allocate.
* On x64 we use the top bit in a tagged pointer to store a flag of whether it's
  heap or literal, on other platforms it uses a separate field (meaning another
  pointer sized value effectively, including padding).
* This is best for structured data which tends to use a lot of immutable strings
  for type/name information, and only a few for actual string data (which are
  only allocated once and aren't modified after that). Similarly we rarely want
  to know only the size of any of these strings, we want the whole string so not
  explicitly storing the size is not a big deal.
* Overall this reduces SDObject from 128 bytes to 80 bytes.
2020-10-27 15:15:19 +00:00
baldurk c58f3edafa Support lazy-generating structured data objects for large arrays
* For certain very large arrays it can be nice to defer generation of structured
  data until it's needed, since often maybe only a handful of elements may be
  needed (or commonly none at all).
2020-10-27 15:15:19 +00:00
baldurk 39f4e82641 Add test of performance with large descriptor sets 2020-10-27 14:04:45 +00:00
baldurk 394896a3c9 Hide list of children completely in structured data
* This makes it easier to enforce object ownership, as well as gives us options
  for e.g. generating structure data on demand lazily.
2020-10-26 10:24:47 +00:00
baldurk 117e16041a Add an error message and don't add child process for invalid ident 2020-10-26 10:24:40 +00:00
baldurk 985ce847e4 Remove unused SSE vector from compressonator 2020-10-26 10:19:53 +00:00
baldurk e8f6156df3 Compile fixes in linux process handling 2020-10-26 10:19:42 +00:00
baldurk 7040032da7 Fix missing surface registers for headless/direct surfaces 2020-10-26 10:19:06 +00:00
baldurk 8a4183ae64 Add missing <QRegularExpression> header 2020-10-23 18:16:42 +01:00
baldurk 3d93b7bb6c Add missing override statements 2020-10-23 18:01:05 +01:00
baldurk 57aca86c98 Remove unused and redundant numChildren union member in SDObjectPODData 2020-10-23 14:19:13 +01:00
baldurk 369120cddf Link @1234 type text to EIDs in the comments viewer 2020-10-23 13:57:38 +01:00
baldurk 9779c56333 Ensure edited shaders mark a capture as modified for saving 2020-10-23 13:57:38 +01:00
baldurk 4017dbca99 Add Kevin McCullough to credits docs page 2020-10-23 13:57:38 +01:00
baldurk cf8e8a15fe Test dimension fetching in D3D12 shader debugging with NULL desc struct 2020-10-22 16:02:59 +01:00
baldurk 5cd83365a8 Add basic texture sampling tests to D3D11 shader debug tests 2020-10-22 15:48:30 +01:00
baldurk a83485d14c Test that counters and mesh output still work even if in use in capture 2020-10-22 15:40:15 +01:00
baldurk 8c05c44a75 Don't bind a range for buffers bound without range (offset/size == 0) 2020-10-22 15:39:12 +01:00
baldurk db7b260629 Fix wrong count being used in GL loop ending active queries 2020-10-22 15:38:58 +01:00
baldurk 8bdd9585f5 Test D3D discards with NULL region or rects 2020-10-22 15:10:17 +01:00
baldurk ec73718cf0 Test that overlays work on D3D12 with no viewport or scissor bound 2020-10-22 14:48:33 +01:00
baldurk 3f8fb1e1b6 Add MSAA case to overlay tests 2020-10-22 14:11:01 +01:00
baldurk d503363279 Fix issues with MSAA quad overdraw overlays 2020-10-22 14:11:00 +01:00
baldurk 3a68721702 Allow repeated calls to CopyTex2DMSToArray on GL
* Normally the function creates its output to enforce storage (for texture
  views) but repeated calls would break that, so we only create when the output
  texture ID is 0.
2020-10-22 14:11:00 +01:00
baldurk 8e19fa7010 Don't rely on potentially stale cached pipeline state for IsOutput check 2020-10-22 14:11:00 +01:00