Commit Graph

6558 Commits

Author SHA1 Message Date
baldurk dff6ce1245 Fix missing #include 2017-11-29 20:10:18 +00:00
baldurk a2f379cfea Allow any activate action on resource lists in resource inspector 2017-11-29 19:01:24 +00:00
baldurk a7056aeec2 Use RDHeaderView for header sizing in virtual file dialog 2017-11-29 19:01:24 +00:00
baldurk 4b562ea49d Allow hitting enter on a file in the virtual file dialog to select 2017-11-29 19:01:23 +00:00
baldurk 8931ed4086 Move leave and keyPress events from RDTreeWidget to RDTreeView 2017-11-29 19:01:23 +00:00
baldurk af7373fb54 Handle root index changing in RDHeaderView - refresh section sizes 2017-11-29 19:01:23 +00:00
baldurk a563c1668a Prevent recursive calls in CreateProcess hooks
* In one case the kernel32.dll version called into an API set version,
  and we don't want to hook twice.
2017-11-29 19:01:23 +00:00
baldurk a0063d5dbf Revert debug print that was accidentally committed 2017-11-29 19:01:23 +00:00
baldurk e189ae030c Remove the need for a preceeding / on android (Allow empty root path) 2017-11-29 19:01:23 +00:00
baldurk 59e38e30da Defer deletion of RemoteHost along with tree item when deleting hosts 2017-11-29 19:01:22 +00:00
baldurk 9d9d7674b6 Fix socket timeouts to work consistently on POSIX and Win32
* This should prevent any bugs with socket communication getting out of
  sync or breaking from completely locking up the UI.
2017-11-29 19:01:22 +00:00
baldurk 6091271632 Fix some resource descriptor cases around deferred contexts 2017-11-29 19:01:22 +00:00
baldurk 43b36d01a7 Sampler descriptor is larger than UAV descriptor - use it for GetSize 2017-11-29 19:01:22 +00:00
baldurk b822e56f81 Tweak RDStyle to apply a min/max width for tabs and elide text 2017-11-29 19:01:22 +00:00
baldurk a6ebf09785 Add analytics system - disabled for now
* This is a *very* light-touch analytics system that will track the
  simplest and most anonymous statistics that can be useful in
  determining which features are most used or perhaps underused, and
  where it's best to direct development attention.
* It is entirely implemented in the UI layer, no analytics-gathering
  code exists in the library that's injected into programs, and of
  course no capture data (screenshots, resource contents, shaders, etc
  etc) is transmitted.
* Once it's turned on, it will apply to both development and release
  builds. It tracks stats over a month, and then at the beginning of a
  new month it sends the previous data.
* When the user first starts up a build with analytics if there's no
  previous analytics database then they are informed of the new code and
  asked to approve it. They have the option of selecting to manually
  verify any sent reports, or just opt-ing out entirely.
2017-11-29 19:01:22 +00:00
baldurk 1d05177141 Add Qt helper for constructin rdcstr directly from QString 2017-11-29 19:01:21 +00:00
baldurk dde3a21e67 Add helpers for constructing structured objects from primitives/QVariant 2017-11-29 19:01:21 +00:00
Ken Hu b7a67f9731 Fix sampler slot extraction on gather4_po_c when debugging dxbc shader
gather4_po_c has 6 operands and offset of sampler should be 4 instead of 3.
2017-11-29 20:01:13 +01:00
baldurk 239184e953 Another 32-bit compile fix 2017-11-27 23:16:43 +00:00
baldurk 713bd74bb2 32-bit compile fix 2017-11-27 21:59:19 +00:00
baldurk 47f2997ede Use std::is_trivial not std::is_standard_layout for checking memset'able 2017-11-27 21:20:42 +00:00
baldurk 05da25a2d7 Add necessary flushes for stream I/O socket writing tests 2017-11-27 21:20:28 +00:00
baldurk 24ef5807e7 Ignore new append function in SWIG 2017-11-27 20:59:41 +00:00
baldurk 88fb08fe15 Fix silly compile error 2017-11-27 20:57:38 +00:00
baldurk 025b2a2f54 Add delta-encoding for fetching texture and buffer data in replay proxy
* When we need to cache a texture or buffer locally then before this
  commit we'd transfer the whole resource, and re-transfer it every time
  the event changed even if the contents haven't changed.
* Instead now we track the previous contents on both sides, and just
  send a list of deltas to apply.
2017-11-27 20:40:27 +00:00
baldurk 007fa63c89 When re-interleaving depth-stnecil textures on vulkan, copy from map
* On android reading pixel-by-pixel out of the mapped memory is
  *incredibly* slow - taking up to 1.5s for a fullscreen depth texture.
  It's faster to copy to a temporary array, and this shouldn't have a
  huge effect on other platforms.
2017-11-27 20:38:20 +00:00
baldurk 1f12d19fbd Add missing proxy entry for GetShaderEntryPoints 2017-11-27 20:35:14 +00:00
baldurk 7a11d1aa6b Where possible use memset to default initialise types like byte/int/etc 2017-11-27 20:35:00 +00:00
baldurk 47bee80522 A couple of android compile fixes that showed up 2017-11-27 20:34:28 +00:00
baldurk 413a06b299 Change stream I/O behaviour around sockets
* Previously each read and write would 1:1 become a send or recv call.
* Now we buffer writes and send in batch (or when a chunk finishes),
  and every time we read we try to non-blocking read more data to fill
  the buffer, to allow batching reads where possible without blocking
  on data that will never come.
2017-11-27 18:54:19 +00:00
baldurk 53ddb39e19 Add non-blocking recv function to Socket class 2017-11-27 18:50:49 +00:00
baldurk b418a5db6a Flush file after writing header length fixups, to ensure it's written 2017-11-27 12:38:44 +00:00
baldurk 2f2795bbba Add a helper 'append' function to rdcarray, meaning insert(size(), ...) 2017-11-27 12:38:01 +00:00
baldurk 1743424f02 Use bytebuf consistently instead of vector<byte> in driver interfaces 2017-11-27 11:00:42 +00:00
baldurk 58ac0ccfb2 Compile fix for checking vulkan handle directly as bool 2017-11-24 18:25:43 +00:00
baldurk ea77204580 Ignore 4244 conversion shortening warning in scintilla (fires in VS2017) 2017-11-24 18:14:25 +00:00
baldurk 4ab3349b78 Don't pass std::string through to printf function 2017-11-24 18:14:24 +00:00
baldurk b492840349 Fetch git commit using LibGit2Sharp that ships with VS2015 when possible
* Thanks to https://stackoverflow.com/a/43815817/4070143
2017-11-24 18:14:24 +00:00
baldurk 0b8a5008ba Use structs for serialising GL initial program bindings
* This produces much nicer structured data as the organisation is
  explicit instead of implicit and can be displayed in the UI properly.
2017-11-24 18:14:24 +00:00
baldurk 5ff440ab28 Separate out functions that iterate over all bindings in a program 2017-11-24 18:14:24 +00:00
baldurk 2651ef3185 Serialise memory requirements in vulkan with vkCreateBuffer/CreateImage 2017-11-24 18:14:24 +00:00
baldurk e2cea3d302 Set settings dialog text edits when a file is browsed to 2017-11-24 18:14:24 +00:00
baldurk 4ff439ed79 A couple of improvements to convert cmd, fail if format isn't explicit 2017-11-24 18:14:23 +00:00
baldurk cba76414e1 Add exporter for Chrome's trace profiler from chunk metadata. 2017-11-24 18:14:23 +00:00
baldurk e08e5f0692 Move some common chunks into SystemChunk from API Chunks
* This makes API-agnostic processing over strucutred data a *little*
  easier. At least it's possible to differentiate initialisation from
  frame capture chunks.
2017-11-24 18:14:23 +00:00
baldurk 15ddb868e1 Record chunk thread IDs, timestamps and durations 2017-11-24 18:14:23 +00:00
baldurk 83c16094db Fix mistake in Unmap serialisation overwriting record data for buffers 2017-11-24 18:14:23 +00:00
baldurk 1b0fafc872 Fail out of chunk serialisation if API calls fail
* For a few primary cases, we check to see if the API call failed (or is
  looking like it will fail, in the case of vulkan) and bail out. This
  will cause the capture to fail to load.
2017-11-24 18:14:22 +00:00
baldurk ef8d834636 Allow NULL in glClear*Buffer and glClear*Tex functions
* The spec says that if data is NULL, it acts like a buffer filled with
  zeroes, so we can just memset.
2017-11-24 18:14:22 +00:00
baldurk 1a879a261b Check for serialisation success in chunk serialise functions
* In each function, we check that serialisation succeeded before going
  on to actually call into the API. If something went wrong, then we
  bail out and fail to load the capture.
2017-11-24 18:14:22 +00:00