Commit Graph

6870 Commits

Author SHA1 Message Date
baldurk ec71b05173 Split out android patching code into separate file 2018-01-26 16:30:47 +00:00
baldurk 5527c57e68 Split out some miscellaneous utility functions
* We also wrap up and cache the fetching of friendly names by serial
  number to avoid some adb traffic.
2018-01-26 16:30:16 +00:00
baldurk 1be3e8bfac Split out handling of android tools: locating&precedence, executing, etc 2018-01-26 16:24:54 +00:00
baldurk ae7300e524 Move android files to separate subfolder 2018-01-26 15:49:09 +00:00
baldurk b22f93f458 Avoid remote server timing out if starting android packages.
* Android::StartAndroidPackageForCapture can take a long time, and we
  want to preserve the connection, so we spin up a temporary thread to
  continually Ping().
2018-01-26 15:42:15 +00:00
baldurk 643db8042b Tweak live capture again - feels more natural with buttons on the right 2018-01-26 15:33:18 +00:00
baldurk 24db8dbffc Add an 'internal' flag when launching processes, to reduce log spam 2018-01-26 15:33:17 +00:00
baldurk ddb8e76add Add EndianSwap function using platform intrinsics 2018-01-26 15:33:17 +00:00
baldurk 6614c37440 fix compilation on linux/android 2018-01-26 00:55:36 +00:00
baldurk 9c247a87ae Fix check that was precisely backwards. Caught by unit tests! 2018-01-26 00:06:53 +00:00
baldurk 64dd86c332 Don't set Vulkan as active API when we're calling D3D12... 2018-01-25 19:47:42 +00:00
baldurk 503fd1a858 Adjust padding in LiveCapture dialog 2018-01-25 18:55:54 +00:00
baldurk b17790e5c2 Batch vulkan initial state related allocations together
* We allocate chunks of 32MB - 256MB then suballocate as needed.
2018-01-25 18:18:47 +00:00
baldurk d452230782 Refactor resource manager initial content data to be driver-specific
* This allows more flexible construction of what params/resources need
  to be saved with initial contents data, as well as allowing better
  type safety where possible by using driver-specific types for the
  stored data.
* Especially it tidies up the ugly 'all data that tags along must be
  a written into a single allocated byte pointer'.
* The initial content struct is responsible for destroying itself and
  freeing any data.
2018-01-25 15:30:20 +00:00
baldurk 6fdc2a011c Don't query status of non-existant shader with glCreateShaderProgramv
* In glCreateShaderProgramv there is no shader object, so we pass 0, so
  we just treat this as implicitly successfully compiled.
2018-01-25 15:24:40 +00:00
baldurk 736d991d6a Pass configuration parameters to ResourceManager in struct
* Otherwise adding new parameters becomes impractical
2018-01-25 11:30:25 +00:00
baldurk 0268ba8b66 Don't read from char[] string in writing mode 2018-01-25 10:48:56 +00:00
baldurk ad841a0341 Add a limit for warning on unknown GUID QueryInterface calls 2018-01-25 10:36:16 +00:00
baldurk fb0772b828 Android internal compiler error fix 2018-01-25 10:09:05 +00:00
baldurk 8d265284ee Add some python valgrind suppressions 2018-01-24 22:52:31 +00:00
baldurk a159af9cfe Fix overrunning vector bounds if vertex attributes use high locations 2018-01-24 22:52:25 +00:00
baldurk 77f767394b Remove invariant decorations in vulkan PostVS vertex->compute transform 2018-01-24 18:44:26 +00:00
baldurk 904511afb0 Support composite types on vertex shader inputs, in vulkan PostVS fetch 2018-01-24 18:44:15 +00:00
baldurk 7636d370f4 Don't give patched entry point a debug name, as it breaks amdvlk 2018-01-24 17:12:23 +00:00
baldurk 158dff0287 Remove test code, committed by accident. 2018-01-24 16:15:49 +00:00
baldurk 8f405a2197 Render mesh data with instanced properties correctly. 2018-01-24 16:14:22 +00:00
baldurk f05cfe9454 Fix mesh picking in cases with index/vertex offsets 2018-01-24 15:45:46 +00:00
baldurk d286453bff Add marker region around pick vertex 2018-01-24 12:39:40 +00:00
baldurk f0c6323685 Don't update buffer viewer display if we just mousemove without clicking 2018-01-24 12:38:28 +00:00
baldurk 94f8cf94e3 Check iterator validity before dereferencing it 2018-01-24 11:42:30 +00:00
baldurk 5150a9531b Allow queuing a sequence of frames both before capture, or while running
* We also make the frame counting consistent: Frame 0 is the frame from
  device initialisation to first present, Frame 1 is from first present
  to second, and so on after that.
2018-01-24 11:38:37 +00:00
baldurk 8c25630369 Update ToolWindowManager to 611fd60c82e7501750226b4de39d108047c98445 2018-01-24 11:37:05 +00:00
baldurk 64c901776e Fix for GCC7 case fall-through warning 2018-01-24 10:46:37 +00:00
baldurk ec1e5dd687 Fix some copy-pasted error messages 2018-01-24 10:46:12 +00:00
baldurk a85ed4c548 Fix implementation of firstbit_(s)hi - thanks to Scott Kircher
* firstbit_hi counts MSB as index 0, BitScanReverse counts LSB as 0.
2018-01-22 20:37:24 +00:00
baldurk 91dbfc4cc6 Ensure we tidy up progress ticker and callback even if replay fails 2018-01-22 20:04:17 +00:00
baldurk 92808efc93 If the preview window becomes available later, then init it later
* E.g. on android this can happen if we started the replay while the
  replay apk wasn't in the foreground, but then it gets raised later.
2018-01-22 20:04:17 +00:00
baldurk 4ee17543de Create parent folder for any captures created. 2018-01-22 20:04:17 +00:00
baldurk 6fe179bea3 Only join a previous command thread and restart if it has exited
* APP_CMD_INIT_WINDOW can be called when the application hasn't fully
  shutdown, and the thread is still running. Hold a lock while we're
  inside renderdoccmd() so that we know if the thread has exited or not.
* This would be easier if android had pthread_tryjoin_np()...
2018-01-22 20:04:17 +00:00
baldurk e0aedf1f5b While we don't have proper DPI checking, double overlay size on android 2018-01-22 20:04:17 +00:00
baldurk f0015f4b77 Add gl_library_egl.* to VS project 2018-01-22 20:04:17 +00:00
Jimmy Lee 579386dddb gearvr crash fix and mip level fix for gearvr swapchain 2018-01-22 20:03:55 +00:00
baldurk f46aa2944d Add #includes to fix linux compilation 2018-01-20 10:17:22 +00:00
baldurk 33b3176cd4 Rewrite the analytics intro text to be less of a wall of text
* Also add a preview of what data will be included in any report, both
  in the intro and in the confirmation before sending any report.
2018-01-19 16:33:45 +00:00
baldurk 65ef82466c Re-organise Analytics structures a bit to be more processing friendly 2018-01-19 13:57:02 +00:00
baldurk 98ed7ae9ca Make sure the discard button for analytics actually works! 2018-01-19 11:45:16 +00:00
baldurk 8905f6b83a Fix analytics compilation - still compiled out 2018-01-19 11:39:31 +00:00
baldurk c90ef7529c Add dependencies and building notes for CentOS 7 (thanks to adiemus) 2018-01-18 19:40:12 +00:00
baldurk cdca0ee6de Append C++14 standard flag instead of prepending.
* This stops it from being overridden by the global --std=c++11 in the
  root CMakeLists.txt which ends up after it in the command line.
2018-01-18 16:24:55 +00:00
baldurk c364b102bc force flush of command lists & GPU sync when doing non-partial replay
* In some cases there was an unpredictable crash when starting a replay
  loop, doing a full frame replay immediately after a previous replay.
  There were no debug messages, and the debug layer fixed it - as did
  enabling single flush validate. It seems to me some timing/overloading
  issue, and doing this sync should be relatively harmless so we use
  this to avoid the crash.
2018-01-18 14:50:57 +00:00