Commit Graph

3833 Commits

Author SHA1 Message Date
Baldur Karlsson bbcc9960ee Merge pull request #339 from michaelrgb/master
RenderDocCmd.apk arguments, plus Internet permissions to use sockets.
2016-08-25 16:32:41 +02:00
Michael Rennie 80b2974b7e Pass in apk parameters via am start ... -e renderdoccmd "args"
Examples:
adb shell am start -n org.renderdoc.renderdoccmd/.Loader -e renderdoccmd "remoteserver"
adb shell am start -n org.renderdoc.renderdoccmd/.Loader -e renderdoccmd "replay /sdcard/capture.rdc"
2016-08-25 14:42:14 +01:00
Michael Rennie e95813c5ae RenderDocCmd.apk requires Internet manifest permissions to use sockets.
Also cleaned up the manifest file.
2016-08-25 11:54:49 +01:00
baldurk 5d859dfe5a On linux set the rpath to $ORIGIN so that librenderdoc.so will be found
* Distributions will just be a tarball with binaries and library, so if
  the user doesn't install it somewhere in LD_LIBRARY_PATH, we want it
  to still work.
2016-08-25 11:48:30 +02:00
baldurk 963a2deb71 Fix if() being backwards 2016-08-24 18:39:59 +02:00
Norbert Nopper b180aaaf11 Last, maximum wait time is 32 milliseconds. 2016-08-24 18:34:56 +02:00
Norbert Nopper 3dad918ad1 Increased wait time and changed retries for gathering proc entry.
(Not tested)
2016-08-24 18:34:49 +02:00
Norbert Nopper e46c41b4e7 Added UNKNOWN vendor.
Otherwise member variable can be uninitialized.
2016-08-24 17:10:30 +02:00
baldurk 17d53d8129 Fixes for browsing NT paths 2016-08-24 17:09:26 +02:00
baldurk 136342b056 Add handling in GL for certain uncompressed special formats 2016-08-24 15:54:00 +02:00
baldurk c539510da8 Only flip uncompressed texture data out of GL when saving to disk
* When transferring over the network, we keep texture data consistently
  in GL origin-bottom-left order. This means we can just flip images on
  display and otherwise have things consistently behaving, while still
  preserving the behaviour of flipping on saving to disk to try and
  mostly 'do the right thing' when saving an image.
* The behaviour should be the same as before except for remote proxying
  which is fixed. The behaviour for GL is still that compressed images
  saved as compressed will appear to flip vertically from what is
  natively displayed in the UI, but I think this is the only sensible
  way to behave (and anyway, flipping compressed images is far too
  involved to be worthwhile).
2016-08-24 15:53:59 +02:00
baldurk c3e6f58580 Fix incorrect enum being passed to compressed format check 2016-08-24 15:53:59 +02:00
baldurk e8e3d50c86 Expose the different local and remote renderers to the UI 2016-08-24 15:53:58 +02:00
baldurk a4bf27098a Fix a overlay issue, glyph texture didn't have MAX_LEVEL set 2016-08-24 15:53:57 +02:00
baldurk c500c326f3 Add a sleep into remote server status checks so back-to-back checks work
* Without this sleep, a second CheckStatus() could actually receive a
  busy signal on localhost (or a sufficiently fast connection or slow
  computer) because the last client hang-up hasn't completed by the time
  the next connection comes in.
2016-08-24 15:53:57 +02:00
baldurk 0f078cdedf Special-case localhost to not to remote server checks
* The localhost is the local replay context, which is not remote at all.
2016-08-24 15:53:56 +02:00
baldurk c68d5d94b1 Make the live-status probe less aggressive 2016-08-24 15:53:56 +02:00
baldurk c9474f5bc3 Handle connection errors properly, displaying the error message 2016-08-24 15:53:55 +02:00
baldurk ec67b41dfe Implement texture swizzling for BGRA order texture proxies on GL 2016-08-24 15:53:54 +02:00
baldurk 811552ef2e Improve error messages using GLenum strings 2016-08-24 15:53:54 +02:00
baldurk a1d0b72e79 Fix select() calls - nfds must be the highest fd value plus 1
* This was copy-pasted from windows where unfortunately the nfds
  argument is ignored and we could get away with just passing 0 (which
  I suspect is where the broken code came from originally - a windows
  example code that passed 0)
2016-08-24 15:53:53 +02:00
baldurk 3e5d55d1d6 Add an option to choose the default save folder for captures. Refs #335 2016-08-24 15:53:52 +02:00
baldurk 3d6214622b Switch error code from AmdDxExtCreate11 properly to E_FAIL 2016-08-24 15:53:51 +02:00
Michael Rennie 129f4218c9 Choose FB config with a GLX_VISUAL_ID that matches the X screen.
Fixes glXCreateWindow returning "BadMatch (invalid parameter attributes)".
Also delete the GLX_ALPHA_SIZE=8 criteria, else there might not be any
matching config.
2016-08-23 20:37:10 +01:00
Michael Rennie 86fd623a54 Fix char* format specifier. 2016-08-23 20:26:28 +01:00
baldurk e7cbc905e6 Add AMD D3D11 extensions headers, and force-disable AMD exts on create
* If the AMD extensions are active and captured, the driver will crash
  on replay in a hard to diagnose way (unless you know what's really
  wrong!)
* With this change, the target application should see the extensions
  failing to create and gracefully fallback to not using them.
2016-08-23 17:23:42 +02:00
baldurk 5826777dfe Blind (untested) implementation of wrapping/handling for VK_KHR_display 2016-08-23 17:18:42 +02:00
baldurk 872fbe017b Make xlib and xcb support optional (but default on) on linux
* Also allow disabling GL a little better by removing the dependency in
  renderdoccmd.
* Disabling them now completely removes all xcb and xlib build
  dependencies. The resulting library/executable is only useful in
  limited situations - e.g. replaying vulkan remotely which doesn't need
  any window system interaction. Or capturing vulkan as well with the
  KHR_display WSI extension which doesn't need any built-time includes
  or libs.
2016-08-23 16:25:21 +02:00
baldurk f8bbedeb8b Ping the connected host regularly and check other hosts at lower freq.
* This lets us detect when a remote server has been disconnected and
  needs to be restarted, as well as alerting the user if this happens in
  the middle of a replay session.
* Pinging other hosts means the context switcher is reasonably up to
  date if one of them comes up.
2016-08-23 15:21:52 +02:00
baldurk 0ddfd3d65b Shut down active client properly when killing remote server 2016-08-23 13:47:06 +02:00
baldurk a8cfc753df Bullet proof the replay renderer against the proxy going away suddenly 2016-08-23 13:37:24 +02:00
baldurk 81b6b0653b Display the local filename even when copying to remote for replaying 2016-08-23 13:25:47 +02:00
baldurk 27b7077c36 Add versioning into remote server protocol 2016-08-23 13:02:07 +02:00
baldurk 1b06e2b553 Handle EAGAIN and EINPROGRESS where appropriate as well as EWOULDBLOCK 2016-08-23 11:31:01 +02:00
baldurk 4bc3dbcc9e Rejig update dialog to provide a bit more info and display RTF notes 2016-08-22 11:03:22 +02:00
baldurk d632bc7ba8 Fix crash fetching data with an offset larger than the buffer size 2016-08-22 10:07:04 +02:00
baldurk 21a5bfd55a Fix compile warnings about shadowed variables. 2016-08-19 19:23:59 +02:00
baldurk 8183c0d2ac Better handling of BGRA8 dds saving and loading 2016-08-19 17:36:36 +02:00
baldurk 79b860c1d5 Fix saturate on the wrong sub-expression clamping sRGB white slightly 2016-08-19 17:26:39 +02:00
baldurk a786ac2eab When switching textures/events, leave pixel pick result valid
* This avoids a flicker when using remote replay while the pick result
  comes in
2016-08-19 17:26:39 +02:00
baldurk 6008458216 Fix LZ4 compression for replay proxy texture data transfer
* The compression bound was just a hacked 'uncompressed size + 512'
  which might not be enough for true worst case.
* Worse, the serialisation was transferring size_ts so it would break if
  proxying between 32-bit and 64-bit executables.
2016-08-19 17:26:38 +02:00
baldurk 39b995fcfa Add a dialog to ask if the user wants to replay remotely 2016-08-19 17:26:37 +02:00
baldurk 91bf3ff3fc Handle empty strings in marshalling (NULL elems and count == 0) 2016-08-19 17:26:36 +02:00
baldurk d2faf76356 Save machine ident in captures and compare to machine ident on open
* If the machine idents differ in significant ways that we'd consider
  it to be a different platform (currently just OS), and if so mark it
  as supported but suggested to be replayed remotely.
2016-08-19 17:26:36 +02:00
baldurk 52a754d4c1 Add function to get a coarse machine identifier
* This can be used to determine what kind of machine a capture came from
  and potentially decide to alert the user and suggest replaying on that
  kind of machine if it's very different.
2016-08-19 17:26:35 +02:00
baldurk 027bcdb7e8 Don't validate existance of working directories on remote captures 2016-08-19 17:26:34 +02:00
baldurk b5e6f8bef2 Allow specifying environment variable modifications
* This works for local and remote invocations of programs, but is mostly
  useful on unix systems (Windows programs use env vars less often)
2016-08-19 17:26:33 +02:00
baldurk 71cca06683 Make windows environment variable modification case-insensitive 2016-08-19 17:26:33 +02:00
baldurk 2fe43fab79 Don't try to copy a non-local log to the remote thost 2016-08-19 17:26:32 +02:00
baldurk 12d5f5bd70 Make sure copy from remote happens even when not running 2016-08-19 17:26:31 +02:00