57 Commits

Author SHA1 Message Date
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
baldurk e17e02d162 Create 'safe' git hash script that works outside git repo. Refs #186 2016-02-23 01:07:49 +01:00
baldurk 3e37e1a112 Linux compile fixes 2016-02-22 01:47:57 +01:00
baldurk 1a05f4fc4a Forcibly refresh UI state after editing a shader or removing an edit 2016-02-21 16:10:46 +01:00
baldurk 2e0ffa7813 Batch update copyright years everywhere 2016-02-07 18:50:45 +01:00
baldurk 290b695a6b Linux compile fixes 2016-02-07 18:49:33 +01:00
baldurk c1be165f49 Fix not calling c_str() in varargs parameter 2016-02-07 18:46:44 +01:00
baldurk ba8114936e Render mesh displays as 4x MSAA to make the line rendering a bit nicer 2016-02-07 18:46:23 +01:00
baldurk fb5f74ec74 Add function to dump thumbnail from a capture 2016-02-07 18:45:36 +01:00
baldurk 29b78d3620 Use swapchain from present call, if it's available 2016-02-07 18:44:27 +01:00
baldurk 6eef0e0649 Pass screen index (so you can guess 0), fix Qt to display 2016-02-07 18:38:17 +01:00
baldurk 6a6273e591 Temporarily make renderdoccmd use xcb, as xlib isn't supported by ICD 2016-02-07 18:38:12 +01:00
baldurk ba58a53684 Temporary hack - don't create GLXWindow outside and pass in
* I'll need to see if it's possible to do GL-side replay if I'm just
  passed an xlib Window.
2016-02-07 18:38:07 +01:00
baldurk a35d18467d Make sure to set default capture options 2015-09-10 21:36:55 +02:00
baldurk c1e8df576c Compile fix 2015-08-31 17:23:39 +02:00
baldurk 2d12d5abee Add an update dialog that shows update notes & does upgrade smoothly 2015-08-30 00:11:48 +02:00
baldurk 357735d1d2 Linux compile fixes 2015-08-23 20:38:13 +02:00
baldurk 1b0d545fbe Compile GLSL shaders to SPIR-V to generate 'disassembly' (hex dump) 2015-07-08 23:45:18 +02:00
baldurk bde6fabf7d Rearrange project structure, so that drivers can be easily disabled
* This is kind of arbitrary at the moment, but in future when D3D12 and
  Vulkan drivers appear, not everyone who builds RenderDoc will want to
  build all drivers, so making them separate projects makes it more easy
  to disable/remove them.
2015-06-29 20:04:47 +02:00
baldurk 1d96ac2b05 Simplify renderdoc_app.h to remove typedefs and dependency on stl 2015-06-19 22:34:57 +02:00
baldurk 6fa7d47097 Use CPP variable in makefiles so it can be overridden, rather than g++ 2015-04-08 21:43:03 +01:00
baldurk 7d0579c594 Make sure preview window is destroyed on exit (just to be proper) 2015-01-05 01:18:57 +00:00
baldurk 3172dd733a Delete argv array 2015-01-05 01:03:19 +00:00
baldurk 1d401c9faa Allow passing arguments to target program in renderdoccmd args 2015-01-04 00:59:02 +00:00
baldurk 42db228452 Add runtime linker path on linux so lib can be found in cwd 2015-01-01 19:28:20 +00:00
baldurk fafa036c37 Fix wchar_t to char conversion in renderdoccmd on win32 2014-12-21 12:48:03 +00:00
baldurk 46c70e6f69 UTF-8 bugfix (leave room for null terminator) 2014-12-02 22:39:45 +00:00
baldurk 2484bc8bc7 Use UTF-8 everywhere possible and only use wchar_t where required.
* This means that all APIs pass byte string types. ALL strings everywhere
  in the entire codebase must be assumed to be and treated as UTF-8 content
  not ASCII.
* Gets rid of all the horrible %hs specifiers that caused warnings on
  linux! Hooray.
* We convert to wide strings, or use wide characters, only when necessary
  to use the Win32 API. Some windows specific code will stay in wide chars
  just for convenience.
* Files are already serialised as UTF-8 strings for linux/windows binary
  compatibility, so this change doesn't break backwards compatibility.
2014-11-23 14:45:16 +00:00
baldurk ea9a81e44f Implement DisplayRendererPreview in renderdoccmd for linux 2014-11-16 23:17:44 +00:00
baldurk b791cb59de [Refs #87: Static Analysis] Add in wWinMain annotations 2014-10-05 19:01:16 +01:00
baldurk 9460fbd970 Add feature to globally hook processes to inject indirectly.
* This allows you to hook into processes that are difficult to launch
  directly with the existing functionality in RenderDoc.
* This is rather risky, as it modifies the AppInit_DLLs registry key to
  inject a small shim dll that checks for the desired process and injects
  the full renderdoc.dll. If that registry key got left, or if there was
  some incompatibility with the shim dll, you could have problems. It
  should only ever be used as a last resort if there's no other way to
  capture.
2014-10-05 13:57:11 +01:00
baldurk e0c57be087 Ensure large enough params buffer, respect & passthru NULL log path 2014-10-04 16:18:36 +01:00
baldurk 8d685de609 Reorganise 3rdparty, include breakpad with sln, drop mhook. Closes #84 2014-09-24 20:24:35 +01:00
baldurk 6fbb247efd Re-organise external-facing headers to be more easily used
* renderdoc/api/replay/ contains all the headers for using the replay and
  analysis side of renderdoc (like in a UI or auto-testing tool)
* renderdoc/api/app/ contains the headers if you wanted to write a
  renderdoc-aware application.
2014-09-13 12:52:25 +01:00
baldurk 9e90eda3b5 Locate breakpad libraries via $(PlatformToolset)
* This means people building on VS2013 don't need to rebuild breakpad
  locally to link successfully.
* Committed binaries built on VS2012 Update 4 and VS Express 2013 for
  Desktop, which will hopefully work for everyone.
2014-09-11 18:59:32 +01:00
baldurk 2735de8b9a Clean up linux Makefile
* Compiler now used to generate dependencies via -MM
* Object files are put into .obj folder rather than loose next to the
  source files
2014-09-10 18:20:22 +01:00
baldurk 3e45d2775b Factor version number out in C++ code
* Fewer places to update with the version number.
* Linux can now use this natively rather than passing via Makefile var
2014-09-09 23:39:59 +01:00
baldurk 89e90f8c36 Replace mip selection with sample idx when viewing Tex2DMS. Refs #79
* Also for float/unorm texture add an additional "resolved" option that
  just does an unweighted average of all samples, which is the behaviour
  from before (assuming that's what ResolveSubresource does).
2014-08-29 01:54:14 +01:00
baldurk 61b82bbbb8 Update version number in makefiles 2014-08-25 16:54:07 +01:00
baldurk 4ccc7d3901 Update email in code & add menu item for nightly builds 2014-08-22 08:13:21 +01:00