Commit Graph

11636 Commits

Author SHA1 Message Date
baldurk 8be0da2ce3 Add a test of AMD shader operations 2020-11-04 17:48:49 +00:00
baldurk 6352786d31 Fix post-processing of AMD shader ops 2020-11-04 17:24:23 +00:00
baldurk 791a3a6f57 Print used nvapi version 2020-11-04 15:16:16 +00:00
baldurk 47680e3821 All nvapi opcodes are treated as supported
* Some can't be debugged, but we can capture/replay/disassemble all opcodes so
  don't block them.
2020-11-04 15:16:07 +00:00
baldurk c7e1ea08c4 Add support for capture/replay of AGS shader extensions 2020-11-04 15:15:17 +00:00
baldurk 24ec36b4e0 Batch moves of indirect drawcall nodes 2020-11-03 23:32:21 +00:00
baldurk d80300b337 Don't use IDs to identify redundant root signature binds
* If we compare the underlying pointer we know for sure if it's the same or
  different.
2020-11-03 18:55:49 +00:00
baldurk 0eea63c238 Always show UnpackedSignature for root signatures
* We want to display this even if the root signature was de-duplicated to
  another handle.
2020-11-03 18:32:55 +00:00
baldurk 9a0e1c5535 Treat internal D3D12 descriptors as volatile, not static 2020-11-03 18:24:15 +00:00
baldurk 5006a787d9 Account for inverse viewport height when picking vertices 2020-11-02 21:11:50 +00:00
baldurk 41c57c0b68 Tidy up logging of unknown interface queries 2020-10-30 16:49:57 +00:00
baldurk 8548892939 Add support for new D3D interfaces
* Nothing interesting/useful is supported here, we just add new interfaces that
  we recognise even though the user can't use them since we don't report support
  for the new features.
* This also makes it easier to track future changes when we're not behind.
2020-10-30 16:49:57 +00:00
baldurk 7c6dae32f9 Add logging when deleting contexts/share groups 2020-10-30 16:28:03 +00:00
baldurk 695ffaaf24 When viewing a texture from pipeline state, default to view typecast 2020-10-30 16:28:03 +00:00
baldurk b8f647c1e6 Default to float over unorm for FP16 typeless formats
* Given no other information FP16 is much more common than UNORM16. We don't
  know which type to use but float is a better choice.
2020-10-30 16:28:03 +00:00
baldurk caa8bb5be0 Fix incremental build dependencies in python modules 2020-10-30 16:28:03 +00:00
baldurk 4dae8721f8 Add extra error in case of failed file I/O 2020-10-30 16:28:03 +00:00
baldurk d5107ec33d Report tiled resources as unsupported on D3D11 2020-10-30 16:27:57 +00:00
baldurk 55b84f4e7c Test that creating root signatures identical to internal sigs works OK 2020-10-29 16:27:31 +00:00
baldurk ed0138a242 Test that debugging sampling from vert shaders in D3D12 works correctly
* We also test that pixel shaders can be debugged even if they have
  DENY_ROOT_SIGNATURE_ACCESS enabled.
2020-10-29 16:12:33 +00:00
baldurk 7dec9933f6 Test that creating and destroying contexts doens't have side effects 2020-10-29 15:45:04 +00:00
baldurk b9a6212c3e When running tests if --pyrenderdoc is omitted, try default location 2020-10-29 15:08:50 +00:00
baldurk ffd8827812 Add test that tries to stress reallocation/pool allocation of commands 2020-10-29 15:08:50 +00:00
baldurk 3465809447 Add test that different list/queue types are handled in D3D12 2020-10-29 12:51:29 +00:00
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