Commit Graph

96 Commits

Author SHA1 Message Date
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
baldurk 5f28b745a2 Format code according to newly added clang-format
_  /)
                 mo / )
                 |/)\)
                  /\_
                  \__|=
                 (    )
                 __)(__
           _____/      \\_____
          |  _     ___   _   ||
          | | \     |   | \  ||
          | |  |    |   |  | ||
          | |_/     |   |_/  ||
          | | \     |   |    ||
          | |  \    |   |    ||
          | |   \. _|_. | .  ||
          |                  ||
          |repository history||
          |                  ||
  *       | *   **    * **   |**      **
   \))ejm97/.,(//,,..,,\||(,,.,\\,.((//
2016-05-22 19:41:53 +02:00
baldurk 84528ce316 Check all files are writeable before applying update. Closes #264 2016-05-19 22:01:56 +02:00
baldurk d98c29b1d5 [Coverity] Fix some duplicate defects that I didn't notice 2016-05-01 15:24:39 +02:00
baldurk faa385647d [Coverity] Fix some possible NULL-pointer dereferences 2016-05-01 14:40:02 +02:00
baldurk 40fef75750 [Coverity] Rejig converted argv/argc into vector<string> to free memory 2016-05-01 14:37:50 +02:00
baldurk bdee617d80 [Coverity] Fix some resource leaks 2016-05-01 14:37:28 +02:00
baldurk e2d2ff80e3 [Coverity] Fix mismatched size (bytes vs. wchars) 2016-05-01 14:27:51 +02:00
Michael Vance 8b1794456d Switch RENDERDOC_PLATFORM to RENDERDOC_PLATFORM_<PLAT>.
Notes
======
- With no clean way to do string comparisons in the C preprocessor, have a define per-platform. This avoids the clever string concatenation for determining the OS-specic bits, and allows SN-DBS to distribute builds without custom rewrite rules.
- Fix up instances of WIN32, etc., in non-3rdparty sources to refer to this.
- Move the per-platform specific bits into their own subdirs.
2016-04-15 13:59:59 -04:00
Cory Bloor 8a4e562b39 Update ReplayRenderer_SetFrameEvent on Linux
These signature changes were missed during the removal of multi-frame
support on Linux in 70b99a4412.
2016-04-13 01:48:06 -06:00
baldurk 70b99a4412 Remove antiquated 'multiple frames in one capture' support.
* Cleans up the code a bunch, this support is unlikely to ever return
  and if it does it will need a rethink anyway.
2016-04-13 00:28:09 +02:00
Chia-I Wu cb9449230a Update CMake rules
* Suggest users to use VS on Windows
* Add a top-level wrapper Makefile and disallow in-source builds
* Support clang
* Centralize compiler flags
* Remove all occurrences of "if(WIN32)..."
* Make qrenderdoc an external project
2016-03-11 10:23:56 +08:00
Chia-I Wu 73a2e96c93 Use CMake on Linux
The suggested way to build RenderDoc on Linux is now

  $ mkdir build
  $ cd build
  $ cmake ..
  $ make

It will print an error when used on other platforms.
2016-03-10 10:29:52 +08:00
baldurk 0a42d3e4d7 Rename 'Profile' target in visual studio to 'Development'
* When I went to explain to someone why the target was named Profile and
  not Debug as you might expect, I realised the reasons were entirely
  opaque and historical. So instead, rename it to Development since that
  is really what it's for - any profiling would be done in Release mode.
2016-02-28 11:33:23 +01:00