Commit Graph

274 Commits

Author SHA1 Message Date
baldurk 397ea679f5 Handle the present call being within markers 2019-12-02 13:13:59 +00:00
baldurk 6e6c7bac62 Fix old terminology in renderdoccmd documentation 2019-12-02 13:08:19 +00:00
baldurk 8db0811678 Don't include ostream in rdcstr.h
* It's only needed for renderdoccmd and catch tests, so define it locally where
  needed.
2019-12-02 11:15:07 +00:00
baldurk db563bb0bf Refactor public interface around handling of textures
* Subresource handling is more consistent - we pass around a struct now that
  contains the array slice, mip level, and sample. We remove the concept of
  'MSAA textures count samples as extra slices within the real slices' and
  internalise that completely. This also means we have a consistent set
  everywhere that we need to refer to a subresource.
* Functions that used to be in the ReplayOutput and use a couple of implicit
  parameters from the texture viewer configuration are now in the
  ReplayController and take them explicitly. This includes GetMinMax,
  GetHistogram, and PickPixel.
* Since these functions aren't ReplayOutput relative, if you want to decode the
  custom shader texture or the overlay texture you need to pass that ID
  directly.
2019-11-26 17:38:25 +00:00
baldurk 01344c7e83 Rename typeHint to typeCast 2019-11-26 17:38:25 +00:00
baldurk e6627542cf Don't enumerate available GPUs when running in renderdoccmd 2019-11-26 17:38:25 +00:00
baldurk 7e08bf6573 Filter the list of formats listed in 'convert' help. Closes #1590
* Only formats that support opening should be listed under the help for --input-
  format.
2019-11-12 20:44:34 +00:00
baldurk 6be0736d24 Update miniz to 2.10 with ZIP64 support 2019-10-14 14:06:42 +01:00
baldurk 9463cdf785 Add better error checks and race condition protection in crash handling 2019-09-16 11:18:30 +01:00
Aliya Pazylbekova 141f28dfc9 Update GGP integration 2019-09-06 18:42:43 +01:00
baldurk 6d40bbb783 Add experimental wayland support. Refs #853
* This is only lightly tested and may break heavily. It is disabled by default
 and must be explicitly enabled.
* In particular this is only known to work for Wayland use at capture time.
 Wayland on replay is still unsupported. Known issues include: EGL pbuffer
 surfaces are not implemented on Wayland, Wayland cannot get window dimensions,
 and there are hangs/failures with GL and vulkan presentation with Wayland.
2019-09-02 15:02:27 +01:00
baldurk 20be9f3d52 Add ReplayOptions struct to contain replay-time configuration
* Not currently exposed to the UI or used by the drivers, we just pass the
  default object through
2019-08-27 18:51:56 +01:00
baldurk e2704fa2eb Add an abstracted interface around android-specific handling
* This makes it easier to use the same kind of interface to manage other kinds
  of devices.
2019-07-31 17:51:13 +01:00
baldurk 98e93d282d Make keystore generation an explicit dependency of apk build 2019-07-22 19:26:48 +01:00
baldurk 853189a3f3 Java is required for android builds 2019-07-01 14:56:24 +01:00
baldurk 38f0d27901 Use configure_file in CMake to force rebuild if git commit changes
* We also only use GIT_COMMIT_HASH where necessary to avoid rebuilding many
  files for no reason, including splitting version.cpp out into a separate
  project as we do with VS since otherwise changing its preprocessor defines
  rebuilds the whole renderdoc project.
* At the same time, move the git hash to be internal only so we don't have to
  try to link version.cpp into other projects like renderdoccmd or qrenderdoc.
2019-06-20 19:14:14 +01:00
baldurk 3d81638d06 Fix some copyright dates still referring to 2018 2019-06-07 18:54:10 +01:00
baldurk c403f5120d Fix release build compilation 2019-05-17 18:24:25 +01:00
baldurk 7206a0cd25 Removing 'use std::vector' 2019-05-17 16:32:56 +01:00
baldurk e48065c96b Replace use of std::pair with rdcpair wherever possible
* Only remaining uses in our code is when we're interacting with std::map where
  it uses std::pair internally
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 699f8753af Convert ToStr, Serialise, and TypeName to use literal strings 2019-05-15 14:12:17 +01:00
baldurk 115fcec8e5 Close crash handling server if no client connects in 5 seconds 2019-04-29 10:45:45 +01:00
baldurk 6dec2dad73 Remove unused code getParentExe 2019-04-29 10:45:28 +01:00
Aliya Pazylbekova 0f4acb3956 Add support for GGP in "renderdoccmd replay" 2019-03-14 01:23:11 +00:00
Aliya Pazylbekova 7c0365679f Add GGP build support
- Disable GL and GLES drivers on GGP
- Add flags to keep symbols in release builds. Adds
minimal debug info that preserves backtraces.
- Disable python modules and qrenderdoc for GGP
2019-03-14 01:23:11 +00:00
baldurk 26d823905e Allow running on Android 5.0 but with a warning that it's unsupported
* The apk targets api level 21 which is 5.0, so it still won't install on
  anything older.
* We pop up a big warning to the user the first time they try and select such a
  remote host.
2019-03-13 22:24:45 +00:00
baldurk 17e1ea96d2 Remove inaccurate comment 2019-03-13 12:19:38 +00:00
baldurk af656db915 Only require GLES 3.0 on Android, not 3.2 2019-03-13 12:15:02 +00:00
baldurk d706d531df Don't request runtime permissions on Android when not supported 2019-03-13 12:13:13 +00:00
baldurk 1713dcad1b Fix typo in python version macro use in renderdoccmd 2019-02-15 18:17:34 +00:00
baldurk 34a97482dd Add helper shortcut to 'renderdoccmd test' to run functional tests
* This invokes run_tests.py with any arguments but specifies the renderdoc
  module and python module paths automatically. Only works if built within the
  project repo itself as otherwise it won't locate the test script
2019-02-14 15:45:22 +00:00
baldurk 0753793f24 Allow passing --help or -t to test commands in renderdoccmd
* Previously it would be swallowed and processed as the argument to the test
  command itself. We need to do a little manual parsing and stop cmdline from
  doing too much work.
2019-02-14 13:17:19 +00:00
baldurk 6b571e9a06 Don't return from parse() if argc is 0, need to check required arguments 2019-02-14 13:09:43 +00:00
baldurk b5a6e815b9 Locate android SDK/NDK up front from various env vars before building
* We need to locate it before setting the toolchain file, so checking when
  building renderdoccmd is too late. This also lets us print where the SDK/NDK
  is found, and add error messages if we don't locate it properly.
2019-02-04 18:06:10 +00:00
baldurk 86ff87863e Update copyright years to 2019 2019-02-01 18:32:13 +00:00
baldurk d265a14a45 Change renderdoccmd to be a console program on windows.
* This means it outputs natively/properly to stdout/stderr and its output can be
  redirected with pipes.
* It does mean we need to be very careful whenever it's run internally to not
  pop up a command window, which happens by default.
2019-01-09 16:27:15 +00:00
baldurk 9ac07f806b On android only call eglTerminate after eglInitialize. Closes #1211 2018-12-19 09:58:15 +00:00
baldurk 5cfe6c7623 Give each breakpad server a unique pipe
* Speculative fix for a hang observed only on official builds when launching a
  32-bit program from a 64-bit version of RenderDoc.
2018-12-17 19:50:37 +00:00
baldurk 26511c546c Make RENDERDOC_NeedVulkanLayerRegistration feasible to call from python 2018-11-26 16:39:00 +00:00
baldurk f75b5e235e Change verify map writes capture option to verify buffer access.
* This option will now toggle on the behaviour to fill undefined buffer contents
  with a marker value, both if they're created without data (it will be zero
  filled instead) or mapped with discard (it will keep the old contents
  instead).
* There were too many hard to find problems or misconceptions about the buffer
  filling for it to be useful. Now it will be opt-in instead.
2018-11-23 11:25:39 +00:00
baldurk 2994f2f037 Fix incorrect change returning false unconditionally for argc==0 2018-11-16 14:06:44 +00:00
baldurk 2d4409c124 Keep screen on while renderdoc app is in foreground. Closes #1178 2018-11-15 16:34:38 +00:00
Nicholas Miell 6e3eef5fca Fix some std::vector assertion failures
gcc's debug std::vector will assert if you use vector[0] when
vector.size() == 0.
2018-11-12 19:26:21 +00:00
baldurk 609b447855 Check that when building for android that Java >= 1.8 is in the PATH
* This is independent of what JAVA_HOME points to, because some of the android
  tools just run 'java' without checking it.
2018-10-24 10:29:52 +01:00
baldurk 1c05c5e5d1 Add option to renderdoccmd replay to specify a loop count 2018-10-02 16:23:40 +01:00
baldurk fb23f6ad1d Add check for ANDROID_NDK, and error if not set when building android 2018-09-25 15:50:11 +01:00
baldurk 5b07a48479 Switch android build to use NDK-provided cmake file
* The existing android cmake file doesn't work with newer NDK releases, so we
  have to use the provided cmake file. It should work in NDKs as far back as
  version 14.
2018-09-25 15:09:54 +01:00
baldurk 0092e5ced2 Append link flags in cmake on android instead of replacing
* Thanks to @Themaister for this fix
2018-09-25 15:09:54 +01:00
baldurk 390096e796 Add missing includes on android
* Thanks to @Themaister for this fix
2018-09-25 15:09:54 +01:00