Commit Graph

296 Commits

Author SHA1 Message Date
baldurk bddbc53226 Fix compile error in official builds 2021-01-27 16:56:47 +00:00
baldurk 026da176bb Update copyright years to 2021 2021-01-13 13:56:10 +00:00
baldurk e5f4ca7bb8 Remove use of const char * in public API and OS specific where possible
* This prevents unnecessary conversions back and forth between rdcstr and const
  char * when going through interfaces. In the OS specific layer this is rarely
  an issue because most of the implementations don't convert to rdcstr, but it
  is convenient to be able to pass in an rdcstr directly. The few cases where
  there's an unecessary construction of an rdcstr is acceptable.
* A couple of places in the public API need to return a string from a global
  function, so can't return an rdcstr due to C ABI, so they still return a const
  char *.
* Similarly const char * is kept for logging, to avoid a dependency on rdcstr
  and because that's one place where unnecessary conversions/constructions may
  be impactful.
2020-12-07 17:44:50 +00:00
baldurk 6803f32ab8 Print a message when stripping android libraries, and keep unstripped 2020-12-05 09:57:40 +00:00
Omar El Sheikh c15078b900 Added Scoped Storage Support for Android
Updated permissions for the renderdoccmd app based on which version of
android the app is running on
**WRITE_EXTERNAL_STORAGE for <R
**MANAGE_EXTERNAL_STORAGE for >=R

Updated the Java portion of renderdoccmd to check/request the correct
permission based on android version

Changed the file path for renderdoc files on Android based on the
version of Android the connected device is running
**/sdcard/Android/data/$PACKAGE_NAME for <R
**/sdcard/Android/media/$PACKAGE_NAME for >=R
2020-07-09 14:29:41 +01:00
baldurk d1f4a47cd5 Add a load of MSBuild nonsense to *avoid* targeting a specific Win SDK
* Even though we don't care about the windows SDK version at all, we actively
  need to avoid the default which actively sabotages us.
2020-06-11 20:05:03 +01:00
Alberto Fernández d5c83c76a0 Fix incomplete command help text 2020-05-28 15:54:14 +01:00
baldurk 36f16b9998 Add --build-id link parameters on GGP 2020-04-13 13:55:37 +01:00
Daniel Craig a7af387a36 Disable crash reporting for unofficial renderdoccmd builds
This follows the lead of crash_handler.h in renderdoc proper.
2020-03-20 16:16:37 +00:00
baldurk 936e6372cb Remove use of 3rdparty/ prefix from includes
* We instead always have 3rdparty/ in the relevant include search paths and rely
  on that. Each library still has its own unique base dir within 3rdparty to
  clarify where the include is coming from.
2020-03-11 18:00:53 +00:00
baldurk a8071679bd Fix renderdoccmd commands 2020-01-30 14:21:32 +00:00
baldurk b38cbc1b0c Add explicit functions to initialise and shutdown replay. Closes #1685
* It's required for replay applications to call InitialiseReplay() before doing
  any work, and to call ShutdownReplay() once they're finished.
* This lets us do more heavyweight shutdown work before global destructors are
  being invoked and the RenderDoc instance is being destroyed.
* Anything that needs to be shut down during capture still has to happen in
  RenderDoc::~RenderDoc since we obviously can't get the application to call a
  shutdown function in that situation.
2020-01-30 13:39:15 +00:00
baldurk 560a9669f2 Log java versions in both PATH and under JAVA_HOME 2020-01-27 20:45:08 +00:00
baldurk baac06ca93 Remove redundant/dead code identified by PVS Studio 2020-01-21 18:28:56 +00:00
baldurk 42841e23be Expose vulkan layer registration in renderdoccmd on win32. Closes #1690
* This is needed so that the functional tests can elevate and run renderdoccmd
  to register the vulkan layer, if needed.
* At the same time remove the old spammy message and ignore flag - this dates
  back to before the UI existed, and that should be the way users run RenderDoc
  generally and it has a good UI for walking through layer registration if
  needed.
* The command is always available, but will only show up in help if attention is
  needed.
* Also fix registering installs on shared drives.
2020-01-20 11:46:48 +00:00
baldurk d4e723bfd8 Fix bugs identified by using PVS Studio
* A few copy-paste errors, some tautological checks indicating errors, missing
  return value checks.
2020-01-17 19:53:38 +00:00
Alex Vakulenko 6cd2d18d9e Fix build break on VS2019 due to implicit wchar_t->char conversion
Converting std::wstring to std::string by constructing the latter with
wchar_t iterators result in implicit conversion of wchar_t to char which
trips Visual Studio 2019 compiler into throwing a warning of potential
data loss during conversion. Use conv() helper function to do the
conversion and please the compiler at the same time.
2020-01-17 19:53:09 +00:00
baldurk 37f762a08f Use renderdoc-specific name for keystore alias on android 2020-01-07 17:28:17 +00:00
baldurk 2916c0f9f7 Update copyright years to 2020 2020-01-06 16:20:45 +00:00
baldurk 2c80a7206b Enable 'enum value not handled' warning on MSVC, fix issues
* Mostly we add an explicit default: break but in some cases we add explicit
  cases and/or error messages.
2019-12-17 18:02:10 +00:00
baldurk 14d01ff995 Remove support for serialising STL types, remove STL interop 2019-12-16 18:10:32 +00:00
baldurk ff08748238 Ensure all files have trailing new-lines and enforce with clang warning 2019-12-02 20:28:05 +00:00
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