Commit Graph

71 Commits

Author SHA1 Message Date
baldurk c539510da8 Only flip uncompressed texture data out of GL when saving to disk
* When transferring over the network, we keep texture data consistently
  in GL origin-bottom-left order. This means we can just flip images on
  display and otherwise have things consistently behaving, while still
  preserving the behaviour of flipping on saving to disk to try and
  mostly 'do the right thing' when saving an image.
* The behaviour should be the same as before except for remote proxying
  which is fixed. The behaviour for GL is still that compressed images
  saved as compressed will appear to flip vertically from what is
  natively displayed in the UI, but I think this is the only sensible
  way to behave (and anyway, flipping compressed images is far too
  involved to be worthwhile).
2016-08-24 15:53:59 +02:00
baldurk 7beb3b494a Remove remote server code from qrenderdoc until it's refactored 2016-08-19 12:23:19 +02:00
baldurk 4e450dbfcc Rename RemoteRenderer to RemoteServer 2016-08-19 12:23:19 +02:00
baldurk a5c7620d24 Add install rules for renderdoc lib & binaries 2016-08-02 16:02:41 +02:00
baldurk 8dafb11456 Change qrenderdoc from ExternalProject to custom_command
* ExternalProject doesn't re-invoke on build to let qmake figure out if
  any files need rebuilding, so it's the totally wrong thing for
  qrenderdoc.
2016-08-02 16:02:01 +02: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 61d8060630 Fix QRenderDoc to new replay API call 2016-07-12 19:54:04 +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
baldurk 1047b5c750 Minor typo fix 2016-04-17 13:58:56 +02:00
Cory Bloor 45a0f62139 Add about dialog to qrenderdoc 2016-04-17 04:48:15 -06:00
Cory Bloor f9763992ee Relax size constraints on mul entry box
The given fixed size is far too small. Removing the maximum size and
allowing it adjust to its preferred size should fix this problem.
2016-04-17 03:31:43 -06:00
Cory Bloor 929433cb4d Fix platform defines for qrenderdoc 2016-04-17 08:54:15 +02: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 3e37e1a112 Linux compile fixes 2016-02-22 01:47:57 +01:00
baldurk c746957fb2 linux compile fixes 2016-02-07 18:50:04 +01:00
baldurk 290b695a6b Linux compile fixes 2016-02-07 18:49:33 +01:00
baldurk f9b69b1002 QRenderDoc: Fetch texid to display correctly for Present() calls 2016-02-07 18:44:26 +01:00
baldurk 48248c460c Update qrenderdoc to handle vulkan pipeline state 2016-02-07 18:42:13 +01:00
baldurk f43051a1ca Make QRenderDoc main window a bit bigger by default 2016-02-07 18:41:24 +01:00
baldurk d9d90097ad Start tracking current state 2016-02-07 18:38:47 +01:00
baldurk 332c5e4289 Implement a rather hacky PickPixel implementation 2016-02-07 18:38:46 +01:00
baldurk 1fd451e907 Remove locked tabs because they're irritating while they're just a test 2016-02-07 18:38:18 +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 7a8e6020b5 QRenderDoc build fix - allow includes relative to project root 2015-09-26 20:19:08 +02:00
baldurk cf8c3fdc8c Linux compile fix 2015-07-19 09:20:28 +02:00
baldurk 1f5c8a450a linux compile fixes 2015-07-10 18:08:24 +02:00
baldurk 0cacba09ee Make EID column a little narrower 2015-07-10 17:54:41 +02:00
baldurk 45c9bfbc37 Add thumbnail strip placeholders 2015-07-10 17:54:07 +02:00
baldurk 87f085d588 A bit more placeholder UI around the texture display rect 2015-07-10 17:13:05 +02:00
baldurk b0a168ef47 Use FlowLayout for texture viewer toolbars, do layout at runtime 2015-07-10 16:38:47 +02:00
baldurk 85e26b2e90 Add FlowLayout from Qt examples (BSD licensed) 2015-07-10 16:38:46 +02:00
baldurk 0837e66939 Placeholder UI of texture viewer toolbar 2015-07-10 16:38:46 +02:00
baldurk a922241b48 Bit more placeholder TextureViewer API 2015-07-10 16:38:45 +02:00
baldurk e548cb5cf7 Allow disabling a specific tab from being dragged
* Also cancels any re-arrangements that involve that tab (mostly useful
  for a fixed tab at the start of the tab list).
2015-07-10 16:38:44 +02:00
baldurk 4627ead8f2 Add custom properties to ToolWindowManager toolwindows, update titles
* Two properties added - DisallowUserDocking which completely prevents
  a toolwindow from being dragged or docked other than programmatically.
* HideCloseButton also hides the close button that normally appears on
  the tabs created
* Also tabs now watch for title change signals and update the titles in
  tabs.
2015-07-10 16:38:44 +02:00
baldurk 227e6feddd Add property to ToolWindowManager to disallow docking to float windows 2015-07-10 16:38:43 +02:00
baldurk c1344c2ff3 Implement jump and find functionality in event browser 2015-07-10 16:38:42 +02:00
baldurk 97920b7b31 re-indent Qt code to match rest of C++ code 2015-07-10 16:38:41 +02:00
baldurk 9276cb875f Hook up the jump/find bars 2015-07-10 16:38:41 +02:00
baldurk fa4e98d1f7 Add UI for find, jump to event and bookmark toolbars (not implemented) 2015-07-10 16:38:40 +02:00
baldurk 7eded723a9 Implement event browser time drawcalls button 2015-07-10 16:38:39 +02:00
baldurk 4f5673941d Implement load-log-by-commandline behaviour 2015-07-10 16:38:37 +02:00
baldurk 162269451a Make sure to properly initialise member variables 2015-07-10 16:38:36 +02:00
baldurk 459272d790 Disable annoying warning on linux too 2015-07-10 16:38:35 +02:00
baldurk a405ee13ca Loads of changes, fix thread & invoke helpers, skeleton of Core working
* GUIInvoke helper changed to use QMetaObject::invokeMethod which works
  on threads better.
* LambdaThread helper class now has a thread member, it doesn't derive
  from thread (this seems to be recommended practice).
2015-07-10 16:38:34 +02:00
baldurk f6400f383e Remove annoying warning 2015-07-10 16:38:33 +02:00