Commit Graph
27 Commits
Author SHA1 Message Date
baldurk 7206a0cd25 Removing 'use std::vector' 2019-05-17 16:32:56 +01:00
baldurk a965a3a703 Remove 'using std::string'
* This will make it easier to replace std::string with rdcstr in future
2019-05-17 16:32:56 +01:00
baldurk 7db90232f9 Allow creating completely headless outputs and reading back their output
* This is useful when writing automated tests that want to test the output of
  rendering which only happens to outputs, such as mesh rendering, or could
  potentially be bypassed with direct readback like GetTextureData vs rendering
  a texture.
2019-05-06 15:52:43 +01:00
Aliya Pazylbekovaandbaldurk 64437157d0 Add GGP capture support 2019-03-14 01:23:11 +00:00
baldurk c1408df4cd Remove wstring variants of string utils functions
* When needed on windows we convert to/from UTF-8. For most places this is easy
  enough, the callstack processing is now moved to store most data as UTF-8 in
  the first place.
2019-03-13 14:21:28 +00:00
baldurk 86ff87863e Update copyright years to 2019 2019-02-01 18:32:13 +00:00
akharlamovandBaldur Karlsson f2e68f1d31 Fix crashes when $HOME is not set
In case HOME environment variable hasn't been set, getenv returns
NULL, which leads to a crash.
2018-11-13 10:49:42 +00:00
baldurk afb67f9035 Use library location not binary location to locate relative paths
* This means that things will work successfully even if the 'executable' is
  actually e.g. python3 in a system directory and nowhere related to where the
  renderdoc library is.
2018-10-24 15:57:50 +01:00
baldurk 3b8a7ebf59 Completely remove layer registration code from android 2018-09-05 19:01:04 +01:00
baldurk a4cf3e437d Fix duplicate function definitions on android 2018-09-05 18:28:22 +01:00
baldurk 40938542ef Fix incorrect windowing system enum value for Android 2018-09-05 17:38:00 +01:00
baldurk 2b8062bc43 Add support for MoltenVK in vulkan back-end 2018-09-05 12:50:59 +01:00
baldurk e305029ddd Update copyright years to 2018 2018-01-01 17:55:29 +00:00
baldurk c7ede6725a Update OS-specific WSI wrapping code 2017-11-08 18:24:11 +00:00
baldurk 67bea64070 Make it non-fatal to be missing WSI extensions at runtime
* Instead of erroring and failing to replay a capture if WSI is not
  present when replaying even though enabled at compile time, we just
  print a warning and allow the supported windowing systems list to
  become empty.
* The UI or whichever app is controlling things must then respect this
  and not try to create any outputs. If the replay is happening
  completely headless there are then no more errors.
2017-09-19 17:28:12 +01:00
baldurk 86c3ee4086 Fixes for compiling with disabled xcb, or disabled xlib & xcb 2017-09-19 17:28:12 +01:00
baldurk d40fc8471d Change API enums to enum class, remove now redundant prefixing
* This gives a little nicer syntax, a bit better type safety, and also
  reflects better for SWIG bindings. Overall it's a minor change but
  better.
* We don't update the C# UI at all, since it's soon to be removed and
  not worth the effort/code churn.
* For now so we're ABI compatible with C#, all enums are uint32_t, but
  that is an obvious optimisation in future to reduce struct packing.
* We avoid 'None' as an enum value, because it's a reserved word in
  python so will cause problems generating bindings.
2017-04-18 14:57:33 +01:00
baldurk 4a9b5ae60c Add support for direct mode display extensions
* Minor change made to vulkan.h to avoid including Xrandr.h directly and
  adding a new dependency, when all we need is the RROutput typedef
2017-02-13 19:20:19 +00:00
baldurk 030cbfde9a Batch update copyright years everywhere 2017-01-06 12:13:31 +00: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
Michael Rennieandbaldurk 396b83699b Fixed vulkan library used for Android replay, plus cmdline args. 2016-08-10 12:21:40 +02:00
Ian Elliott 60f6a3097c Fix problems when building on Linux for Android
There were some typos, some Android-specific WSI code missing, an
uninitialized variable, and a missing library, etc.
2016-07-27 16:34:14 -06: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 8b79a213b7 Posix vulkan should refer to libvulkan.so.1, not libvulkan.so 2016-06-28 18:14:46 +02:00
baldurk 296a4d170b Check for presence of extensions/layers, and platform surface extensions
* If one of the extensions or layers listed in the log isn't present on
  replay, we will just fail to load the capture. It's impossible to know
  whether or not it's safe to drop unsupported layers.
* Note that RenderDoc already suppresses reporting device extensions to
  the application if they're not supported by capture, which affects
  this.
* Also when adding platform surface extensions we check for availability
  and only add those present. We do require some minimum amount, but in
  future we'll need to report which windowing systems are supported to
  the UI layer so it can work appropriately using e.g. xcb or xlib.
2016-06-28 18:14:31 +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 863dc1d259 Split 'linux' os-specific code into 'posix' and then 'linux'/'android'
* And eventually probably 'apple' as well.
2016-05-14 01:53:51 +02:00