Commit Graph

4145 Commits

Author SHA1 Message Date
baldurk 2bc8effd3d Add ability to specify an area percentage in ToolWindowManager 2016-09-30 10:50:29 +02:00
Michael Rennie 35a30be896 Forgotten break in remap switch label. 2016-09-29 15:31:51 +02:00
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
Matthäus G. Chajdas 220e214f4d Improve range display on group tree nodes in EventBrowser.
In the event browser, the tree nodes which can be expanded are always
showing a range (17-17) even if the range is a single item. This fix
changes that to 17.
2016-09-28 16:34:41 +02:00
baldurk 8e80192c4a Add an error for remapping unhandled special formats 2016-09-28 16:33:11 +02:00
baldurk 2b9b152f1d return DXGI_FORMAT_UNKNOWN for all unsupported/unmappable formats
* This means that when creating a proxy texture, all non-native formats
  will be remapped by the proxy to a safe linear format.
2016-09-28 16:28:12 +02:00
Michael Rennie 5d23e39994 Remap texture formats across different APIs.
For example ASTC/ETC2 textures in Vulkan need to be forced to RGBA8 to be
displayed by D3D11.

IReplayDriver has virtual method IsTextureFormatSupported(ResourceFormat)
so each API can decide if a format should be converted.

Parameters to GetTextureData() are moved to a struct, to save any
non-default behaviour needed for fetching texture data into the proxy.

MakeDXGIFormat now returns DXGI_FORMAT_UNKNOWN for unsupported formats
instead of asserting. We use this to determine whether to remap.
2016-09-28 16:24:34 +02:00
baldurk bfcfcd37b5 Make sure DSVs show up with their view parameters properly. 2016-09-28 15:51:54 +02:00
baldurk 4ccfe298f3 Force initial states for 'viewed' resources in GL
* If a buffer is used as a texbuffer, or a texture as a view, then any
  time the underlying data is dirty and needs to be saved as initial
  contents but the data object is never referenced directly (only the
  view), we need to force the underlying data object to have initial
  contents.
2016-09-28 15:09:02 +02:00
baldurk a9e4396655 Fix compile error that somehow doesn't trigger on VS 2016-09-28 13:55:24 +02:00
baldurk 89dc093e84 Define _RELEASE macro on Release CMake targets 2016-09-28 13:54:55 +02:00
baldurk c47f4f8e07 Implement proper buffer initial contents, don't save into record data
* This fixes a couple of cases - the case where a buffer is modified
  mid frame would not properly have its contents reset each frame
* Also any buffer that isn't modified during the frame would have its
  initial contents overwritten by some partially recorded updates before
  a buffer was marked as high traffic/dirty.
2016-09-28 13:18:21 +02:00
baldurk 31a271b1f7 Don't create debug GL contexts in release builds 2016-09-28 13:15:15 +02:00
baldurk 6f24ed7cca Use RENDERDOC_TEMP override on posix systems, don't just ignore it! 2016-09-28 13:14:51 +02:00
baldurk 1f4813887b Implement DebugOutputMute properly on GL - hide debug msgs from program 2016-09-28 13:14:00 +02:00
baldurk 5c678df977 Set travis to use cmake explicitly
* I thought it was using cmake already, but it was using make. Whoops!
* This will make it easier to add a release target in travis in future
  though, which is a nice bonus.
2016-09-27 16:26:24 +02:00
baldurk 6e9e2721c2 Missed references to moved scripts - grep didn't search dotfiles 2016-09-27 16:21:42 +02:00
baldurk b5c7944038 Trim down LICENSE.md to just the core RenderDoc license, link to others
* This allows github to identify the content of the license as MIT for
  repo metadata, and also cuts down on the redundant duplicate license
  credits. 3rd party acknowledgements are still linked from LICENSE.md
  and prominently included in both the documentation and installer
  license.
2016-09-27 16:12:39 +02:00
baldurk 19bffb7d9d Fix some bugs in chm styling on lists 2016-09-27 15:57:23 +02:00
baldurk b4503f95cf Remove manual html target="_blank" links from documentation 2016-09-27 15:55:53 +02:00
baldurk f9b78a9312 Configure sphinx to require 1.5 for building htmlhelp
* This version contains the fix for sphinx-doc/sphinx#2550 so we want to
  assume it is present and tidy up all the external links. However if
  needed (and you don't care about the external links being broken) you
  can locally remove this version requirement.
2016-09-27 15:13:46 +02:00
baldurk 2cc8648670 Add new NDK versions to android.toolchain.cmake
* Added r12b, r12, r11c, r11b, r11, r10e.
* This just means if the NDK is in one of the auto-search locations you
  won't have to set the ANDROID_NDK environment variable.
2016-09-27 14:31:01 +02:00
baldurk 711860b338 Add sensible defaults for Android to reduce clutter of command line
* The windows command will now be:
  cmake -G "MinGW Makefiles" -DBUILD_ANDROID=On <...>
* The linux command will just be:
  cmake -DBUILD_ANDROID=On <...>
* With the rest of the parameters specified as normal. An optional
  -DANDROID_ABI can be passed to specify the ABI
2016-09-27 14:29:40 +02:00
baldurk 966ffe9be4 Git ignore all build-*/ folders 2016-09-27 13:46:29 +02:00
baldurk c968ab673c Allow cross-compiles on windows via CMake
* We only want to block windows-for-windows builds with CMake, not cross
  compiles for e.g. android from windows.
* We move the fatal error later in the file after the cross-compilation
  has been initialised so we can check if we're really still WIN32.
* This means the early-out on windows is a little late (after some
  autodetection has happened) but that's not the end of the world.
2016-09-27 13:45:32 +02:00
baldurk abed75a9aa Move appveyor configuration script out of the root
* Unfortunately, travis doesn't support this so the .travis.yml still
  has to be in the root.
2016-09-27 13:33:26 +02:00
baldurk 1a465102b6 Minor tweaks to README phrasing/organisation/links. 2016-09-27 13:26:23 +02:00
baldurk 24c28ec73b Move valgrind suppression file into scripts folder 2016-09-27 13:17:07 +02:00
baldurk 82265469f7 Add android.toolchain.cmake from github taka-no-me/android-cmake
* This comes from commit 556cc14296c226f753a3778d99d8b60778b7df4f
2016-09-27 13:16:32 +02:00
baldurk 7d6cc098f0 Move distribution scripts into scripts/ subfolder 2016-09-27 13:15:04 +02:00
baldurk 134f75bd27 Remove root Makefile that wraps cmake
* linux compilation must now happen with cmake, which can be done in a
  couple of one-liners.
2016-09-27 13:10:24 +02:00
baldurk cd06d4e840 Move compilation instructions into CONTRIBUTING.md 2016-09-27 13:09:51 +02:00
baldurk d39d2ed9dd Roll calc_hash.sh into hash_version.sh (the only place that it's used) 2016-09-27 12:55:08 +02:00
baldurk 0729f5dc06 Compile fix for android and apple 2016-09-27 12:52:14 +02:00
baldurk 563fb2dd72 Improve the 'inject into process' UI a bit
* I'd still recommend against using this whenever possible, but there
  are cases where it's useful.
* Added sorting by columns, and a new column with the window title.
* Fixed the refresh button being off the edge of the layout.
* Auto-fill as much space as possible with the list of processes.
* Added a find-as-you-type filter, which works by PID, exe name or
  window title.
2016-09-26 19:09:46 +02:00
baldurk a571aef6d4 Add a reference to the newly added D3D9 project 2016-09-26 17:46:21 +02:00
baldurk aeb0f3a005 For libraries opened with RTLD_DEEPBIND, use plthook to hook dlopen
* Split out the hook functions into linux and apple/android (which are
  currently unimplemented).
2016-09-26 17:33:51 +02:00
baldurk e991c12931 Add plthook for hooking libraries on linux even through DEEPBIND
* Based on a fork with slight added extra functionality at
  https://github.com/baldurk/plthook
2016-09-26 17:33:50 +02:00
baldurk 76cf599d31 Don't include official header first - it breaks on something with VS2015 2016-09-25 14:40:09 +02:00
baldurk 02e29bbbf6 Move D3D9 hooks to a separate new project, commit official DX9 headers
* Headers come from the 10.0.14393.0 windows SDK
2016-09-25 14:05:53 +02:00
baldurk c6b31ef477 Follow-up fixes to avoid warnings on x64 2016-09-23 21:36:21 +02:00
baldurk e22e813049 32-bit compile fixes with 64-bit buffer lengths and offsets 2016-09-23 16:33:44 +02:00
baldurk a88e0067b4 Add hacks to skip non-2D textures, or depth textures, and display MSAA 2016-09-23 16:00:12 +02:00
baldurk f0c6786ade No need for Serialise_CreateCommandList anymore
* This removes use of D3DLock which is a super-temporary ugly hack to
  avoid a deadlock in some cases
2016-09-23 15:59:48 +02:00
baldurk 6bb6d7da57 Use the right number to resize array, handling SingleRT mode 2016-09-23 15:58:34 +02:00
baldurk d104a887f1 Fix calls that were unwrapping an unwrapped list 2016-09-23 15:18:33 +02:00
baldurk e06c08d6bf Temporarily add a hack to skip serialising multisampled init states 2016-09-23 15:08:00 +02:00
baldurk 43a2568f24 Double check whether invoke is required for SetVariables() 2016-09-23 14:08:43 +02:00
baldurk dbe82f31e6 Bring across FillCBufferVariables from D3D11
* These implementations are identical and really only depend on DXBC -
  they should be shared.
2016-09-23 14:08:26 +02:00
baldurk aa7b5558af Allow GetBufferData from readback and upload heap buffers 2016-09-23 14:05:27 +02:00