Commit Graph

109 Commits

Author SHA1 Message Date
baldurk 9f4a60028e Handle injecting environment variable params
* This also fixes the problem of capturing 32-bit programs with 64-bit
  RenderDoc failing to properly insert environment variables and
  error'ing when it tries to do it directly.
2016-09-28 17:55:45 +02:00
Ian Elliott f9024b2eb3 Add 'android:exported="true""' to "AndroidManifest.xml" file.
This seems needed for non-rooted devices.
2016-09-15 16:10:50 -06:00
Ian Elliott e3a51a239f Change "AndroidManifest.xml" for Android SDK Version 9 -> 23.
Vulkan requires at least API level 23.
2016-09-15 16:10:45 -06:00
baldurk 541c2f2d99 Add copies to ./bin for renderdoccmd & librenderdoc.so
* This allows qrenderdoc to link properly when opened directly in
  qtcreator, as otherwise it doesn't know where to link to the generated
  librenderdoc.so somewhere in CMake's build directory
2016-09-14 17:31:45 +02:00
baldurk 6518d8bdf8 Don't rely on data files being exported from .so, add explicit function 2016-09-12 17:40:28 +02:00
baldurk d3e4790ee8 Add command to renderdoccmd that will handle vulkan layer registration
* This is similar to the button on the capture dialog of the windows UI,
  except on linux the situation is a bit more complex as layers can be
  registered in two different system locations (one for distro packages
  and one for non-distro stuff), as well as in $HOME.
* On linux we make sure the json always contains an absolute path so we
  can tell from any given build whether or not a json is our own or not.
* By default we now install the json to /etc since /usr is reserved for
  proper distro packages, and shouldn't be written to by 'make install'.
  There's a CMake variable for overriding this for anyone who wants to
  make install into a custom folder (maybe for packaging).
2016-08-26 13:35:31 +02:00
baldurk 3693a17c73 Tiny tweak to renderdoccmd usage output 2016-08-25 21:07:40 +02:00
baldurk 90604c6d9c Print custom lines of API support on the version string of renderdoccmd
* An easy way to check what support is compiled into this binary.
2016-08-25 21:07:40 +02:00
baldurk 6819f22181 Tweak aliases for help/version to cover a couple of more cases 2016-08-25 21:07:40 +02:00
baldurk 5393d939fd Fix crash if replay renderer doesn't create 2016-08-25 21:07:40 +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 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 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 d63e3b89ad Add support for copying files back from remote server 2016-08-19 17:26:24 +02:00
baldurk f8b3fd3e1e Update renderdoccmd for new remote server code, add daemonise for server 2016-08-19 17:26:08 +02:00
baldurk 481a28dc29 Rename RemoteAccess to TargetControl to better disambiguate RemoteServer 2016-08-19 12:23:19 +02:00
Michael Rennie 396b83699b Fixed vulkan library used for Android replay, plus cmdline args. 2016-08-10 12:21:40 +02:00
baldurk a5c7620d24 Add install rules for renderdoc lib & binaries 2016-08-02 16:02:41 +02:00
Michael Rennie e08ce7239c Android build fixes 2016-08-02 11:52:12 +02:00
baldurk 39f453b166 Rename replay host to remote server, consistently. 2016-08-01 19:38:21 +02:00
baldurk 8b5f3de916 As DS_SETFOREGROUND doesn't work, move error reporter in/out of topmost
* This will guarantee the window is brought to the front, but it won't
  keep it there and be annoying.
2016-08-01 14:56:21 +02:00
baldurk a04379b7a5 Fix incorrect style being removed from crash handler for topmost 2016-08-01 14:03:16 +02:00
baldurk ebb889a7ee Report supported windowing systems from replay, and choose which to use
* This is primarily for vulkan, which supports either xlib or xcb (and
  not necessarily both). GL still only supports xlib, windows and
  android only support one system regardless of API.
* This should also support xlib again for fetching keystates etc.
2016-07-22 18:23:30 +02:00
baldurk 240bdc3156 [Coverity] Catch any C++ exceptions from cmdline and just bail instantly 2016-07-20 16:15:40 +02:00
baldurk e81895b060 [Coverity] Remove use of rand() now SetFrameEvent takes 'bool force'
* I honestly can't figure out how to tell Coverity that rand() use isn't
  a security flaw, but it's on longer needed so...
2016-07-20 16:01:48 +02:00
baldurk 95e00d58bf Add SIGINT signal handler on linux to cleanly shutdown replay host 2016-07-13 17:55:47 +02:00
baldurk 532cdcb7a1 Compile fix for appveyor 2016-07-12 21:55:52 +02:00
baldurk 99c0177cd9 Remove unused GetUsername() function 2016-07-12 19:39:41 +02:00
baldurk 5c53e623df Add win32-specific commands (crash handle, upgrade, global hook) 2016-07-12 17:39:24 +02:00
baldurk 90f6a9da20 Remove old code 2016-07-12 17:39:24 +02:00
baldurk e66794018c Implement cap32for64 internal command 2016-07-12 17:39:24 +02:00
baldurk ced8a62af6 Add replay command (with optional remote replay) 2016-07-12 17:39:23 +02:00
baldurk 884c201aff Add replay host command 2016-07-12 17:39:23 +02:00
baldurk aaa2bd1d7d Check for help in one place rather than every command 2016-07-12 17:39:22 +02:00
baldurk 67337b390d Implement capture and inject commands 2016-07-12 17:39:22 +02:00
baldurk 120b03e859 On windows, make sure cmd.exe can see the stdout/stderr 2016-07-12 17:39:21 +02:00
baldurk 2970f49754 Process capture options common to all capturing commands 2016-07-12 17:10:43 +02:00
baldurk 1cb11daf85 Switch base renderdoccmd to dispatch to commands, doing arg parsing 2016-07-12 17:10:43 +02:00
baldurk eb9a545104 Move common functions declarations into header 2016-07-12 17:10:42 +02:00
baldurk 06e4263bad Minor tweaks to cmdline.h to better suit my usage
* Descriptions for readers, for better error reporting and usage help.
  This also allows these descriptions to be multiline, and they're
  indented correctly.
* A bit better formatting of options and defaults.
* Print full list of errors when there are more than one.
* #undef max
* Header as well as footer on single-line command help.
* Remove parse and parse_check variants I don't use.
* Allow processing without looking at argv[0].
* Optionally stop the processing at the first non-command, so that
  you can have a program and its arguments without trying to parse
  the arguments themselves.
2016-07-12 17:10:42 +02:00
baldurk cfe0e0e78f Modify cmdline.h to compile without warnings, don't use RTTI 2016-07-12 17:10:41 +02:00
baldurk f24e3b20d9 Add cmdline.h from https://github.com/tanakh/cmdline
* BSD licensed - Copyright (c) 2009, Hideyuki Tanaka
2016-07-12 11:47:53 +02:00
baldurk b74b833121 Switch renderdoccmd to use vector<string> for passing args 2016-07-12 11:22:51 +02:00
baldurk 758933bb73 Set most texture display properties before searching texture list 2016-07-10 18:09:58 +02:00
baldurk 3e171f7f79 Remove top-most windows, we shouldn't have any (just above-rest-of) 2016-07-04 10:59:11 +02:00
baldurk 10629ab92b Use https URLs to access renderdoc.org
* Previous versions accessing the http URLs will be redirected soon (as
  of time of writing this). The POST /bugsubmit won't be redirected as
  it's not feasible to redirect POST requests, but that will continue
  working.
2016-06-17 14:12:19 +02:00
Michael Rennie ad2b266f95 Makefiles to build apk for RenderDocCmd on Android & More replay fixes. 2016-06-17 13:50:00 +02:00
baldurk c1f66de413 Add early OS X compiling support from @Zorro666 - still non-functional!
* Build with cmake -DENABLE_VULKAN=OFF -DENABLE_QRENDERDOC=OFF
2016-05-31 12:05:45 +02:00