Commit Graph

4346 Commits

Author SHA1 Message Date
baldurk b220a61d79 Not sure complex resource releasing logic is needed
* I think we're mostly covered by the requirement that resources stay
  alive until GPU execution is finished.
2016-10-18 15:31:42 +02:00
baldurk 4253094557 Track resource event usage 2016-10-18 15:31:41 +02:00
baldurk 2d19d953c5 Handle debug messages on list execute
* It's not clear if the debug layer can usefully provide messages at a
  specific event or even a specific submission.
2016-10-18 13:06:57 +02:00
baldurk 5329bd4695 Serialise Wait() and SOSetTargets() 2016-10-18 12:30:55 +02:00
baldurk 99b45aefb5 Minimal possible residency handling code
* We unwrap objects and track residency state, and when preparing init
  states if necessary then we make those resources resident and sync the
  list execute so we can evict them again immediately afterwards.
* On replay, all resources are created and left as resident, which could
  go over the budget available. If a frame uses close to or more than
  its total budget over the course of a frame this could fail. One fix
  to that would be to track referenced resources in command lists at
  replay time, and only make resident what we need for each list and
  execute them in isolation, then evict right after (so all frame
  resources are 'default evicted').
2016-10-18 12:12:54 +02:00
baldurk ca3e394c19 Add proper locking around check of CAPFRAME state 2016-10-18 12:04:07 +02:00
baldurk e4cc738a13 Ignore D3D12 debug message about NULL map ranges 2016-10-18 12:03:16 +02:00
baldurk 529f230e4e Don't directly frame-reference lists being executed
* It's no longer needed as they don't have direct parents anymore, and
  it can break in cases where a list is being re-recorded while a
  frame capture is on-going (but hasn't been baked).
2016-10-18 12:02:21 +02:00
baldurk 63f505c95e Delete frame capture record on shutdown 2016-10-18 10:38:53 +02:00
baldurk 3cf71f158a Perform copies on wrapped descriptors so internal tracking is updated 2016-10-18 10:38:53 +02:00
baldurk 77b5fb071f Frame-reference heaps in CopyDescriptorsSimple 2016-10-18 10:38:53 +02:00
baldurk 1f610a8b31 Treat D3D11 and D3D12 the same around the UI (for naming things, etc) 2016-10-18 10:38:53 +02:00
baldurk 7ce022010c Make sure shadow pointers for persistent maps are initialised correctly 2016-10-17 21:43:46 +02:00
Michael Rennie 809640bd66 GetBufferData serialise 64bit sizes, to send data from 32->64bit builds.
This matches the way vector & list containers are serialised.
2016-10-17 18:59:27 +02:00
baldurk 5c204e257b Interop serialise functions can be supported with interop disabled 2016-10-17 17:22:13 +02:00
baldurk 9ec23c87d7 Add gl_interop_funcs.cpp to CMakeLists.txt (just for the stubs) 2016-10-17 17:09:06 +02:00
baldurk 02667db2dc Add experimental support for WGL_NV_dx_interop, using DX textures in GL 2016-10-17 16:56:40 +02:00
baldurk 4cd31908b4 Update qrenderdoc for API changes 2016-10-14 19:38:11 +02:00
baldurk c71225e4be Don't skip over hooked programs when doing a ordinals fixup pass 2016-10-14 17:24:36 +02:00
baldurk 42816cdc50 Implement the highlight box rendering on D3D12 2016-10-14 16:51:30 +02:00
baldurk b15d9b6a72 Add not fully tested texture display, including depth/stencil via copy 2016-10-14 16:22:21 +02:00
baldurk 6cf08b6c71 Enable debug text for thread serialisers 2016-10-14 16:20:01 +02:00
baldurk 5c0746e261 Account for number of planes when calculating subresource count 2016-10-14 16:19:52 +02:00
baldurk 820b343ef3 Remove redundant numSubresources struct member that was just mips*slices 2016-10-14 16:19:15 +02:00
baldurk 1382138fab Fix typo - memcpy hash not memcmp! 2016-10-14 13:22:09 +02:00
baldurk c0d35bf522 Use thread-local memory for unwrapping parameters 2016-10-14 13:21:57 +02:00
baldurk eee04923e4 Remove D3D lock, instead use thread-local serialisers 2016-10-14 12:43:56 +02:00
baldurk f436c4a6bf Handle descriptors as if they are volatile and track mid-capture updates 2016-10-14 11:56:33 +02:00
baldurk c37ee2bb03 Display table index for root sig elements 2016-10-14 09:58:15 +02:00
baldurk 2f93a4a64b Add #ifndef checks around hacky annotation defines 2016-10-13 19:56:43 +02:00
baldurk 11f6a98166 Handle SetConstantBuffers1 setting offset/count to 0/4096 if buf == NULL 2016-10-13 18:06:56 +02:00
baldurk cb406f67a9 Add previous/next drawcall buttons to event browser. Refs #389
* They also have the global shortcut ctrl-left arrow and ctrl-right.
* Also a couple of tweaks to find behaviour to act more intuitively to
  what other applications do - allow F3/shift-F3 without the find box
  highlighted, and don't clear out the find text when closing it.
2016-10-13 16:49:28 +02:00
baldurk 7764192a3c Handle a possible divide by 0 if an invalid RECT is fetched 2016-10-13 16:06:25 +02:00
baldurk d05edca3d2 If DIA can't find Function symbol, retry with PublicSymbol. Closes #364
* I don't see any docs on why a function wouldn't be reported as a
  function, but instead as a public symbol, but this seems to be the
  case and it fixes some problems where symbols aren't located. Oh well.
2016-10-13 16:06:25 +02:00
baldurk a1fa1c0ca6 Handle more than 2k of saved ignored PDBs 2016-10-13 16:06:25 +02:00
baldurk 5352494aa7 Refresh module list before enumerating, to catch dynamic DLLs. Refs #364 2016-10-13 16:06:25 +02:00
baldurk 237b24e88e Remove printing of buffers as floats. Refs #395
* There's no guarantee that the buffer is actually float data at all,
  so printing it as such can cause float exceptions if the data includes
  NaNs.
* This is not really useful anymore anyway, and if really needed the
  float values can be manually converted from the hex data.
2016-10-13 16:06:25 +02:00
baldurk f44aa27d19 Stub implement replay create and IFrameCapturer, add D3D9 windows 2016-10-13 16:06:25 +02:00
baldurk c6a9be6df5 Add proper refcounting to wrapped D3D9 device 2016-10-13 16:06:25 +02:00
Michael Rennie d38ad5e2c9 Make APK file itself depend on renderdoc & renderdoccmd.
Previously the custom command wasn't running when .so's changed.
2016-10-13 13:39:28 +02:00
Michael Rennie 475a526ee5 Check for NULL serialiser in D3D wrappedDev. 2016-10-13 12:31:24 +02:00
baldurk 92dc82a0fe Copy apk and layer .so into distributions if they exist 2016-10-12 22:09:02 +02:00
baldurk 528ffcf2a7 Avoid symlinking in favour of copying, and copy apk to root /bin folder 2016-10-12 22:08:48 +02:00
Balazs Torok 825d616d64 poor man's black background 2016-10-12 19:44:20 +02:00
baldurk 6a02771846 Unify together overlay text in API-agnostic fashion 2016-10-12 18:54:56 +02:00
baldurk 33b8bca64d Added specific list of contributors to highlight notable work 2016-10-12 18:12:20 +02:00
Balazs Torok 12e5a9a316 basic implementation for Direct3D9 and Direct3DDevice9 2016-10-12 18:04:10 +02:00
baldurk d869222eed Linux build fixes 2016-10-12 17:36:35 +02:00
Michael Rennie 7a4c2f9546 Android cmake target for RenderDocCmd.apk
cd android-build
cmake -DBUILD_ANDROID=1 ..
make apk
2016-10-12 17:01:28 +02:00
baldurk 18898b7f09 Set up proper log loading/closing
* This includes the recent log menu list, progress bars and popup.
2016-10-12 16:59:25 +02:00