Commit Graph

111 Commits

Author SHA1 Message Date
baldurk fe1e86d35a Fill out pipeline state with API pipelines 2016-10-04 19:54:32 +02:00
baldurk 39bfe99ae5 Implement common pipeline state abstraction 2016-10-04 19:54:32 +02:00
baldurk 0b6b6b3e86 Add MIT License comment to the head of all source files 2016-10-04 19:54:31 +02:00
baldurk e91634004f Rename Core to CaptureContext 2016-10-04 19:54:31 +02:00
baldurk 7e35a6a7ba Implement remaining functions needed on resource preview widget 2016-10-04 19:54:29 +02:00
baldurk 2577218e32 Add thumbnail strip widget to manage sizing and layout of thumb previews 2016-10-04 19:54:28 +02:00
baldurk 7bb9c36de4 Switch from QList to QVector for internal storage. 2016-10-04 19:54:28 +02:00
baldurk ed56e3a603 Default to 0,0 picked location so the pixel context doesn't flicker 2016-10-04 19:54:27 +02:00
baldurk f930154be7 Rename thumb lists to input/output 2016-10-04 19:54:26 +02:00
baldurk 1db8aaca5f ResourcePreview changed to fixed size (sized by thumbstrip) & clickable 2016-10-04 19:54:25 +02:00
baldurk ca8cc98be6 Add RDLabel, an expanded QLabel 2016-10-04 19:54:25 +02:00
baldurk 7ec3049844 Rename LineEditFocusWidget to RDLineEdit
* It seems due to deficiencies in Qt's design, there will be a
  substantial need for these small custom subclasses just to add basic
  functionality that should have been present in the original. So we'll
  adopt a naming scheme of QFooBar -> RDFooBar for this 'almost the
  same widget' type subclassing, compared to more custom/changed ones.
2016-10-04 19:54:24 +02:00
baldurk 39cd42882b Add a ResourcePreview widget 2016-10-04 19:54:24 +02:00
baldurk c8015b9e99 Populate mip/slice dropdowns and allow selecting which is visible 2016-10-04 19:54:23 +02:00
baldurk 9489e4e4d1 Don't try to close & delete a NULL thread 2016-10-04 19:54:23 +02:00
baldurk df77ef6cbe Make sure thread is closed before shutdown 2016-10-04 19:54:22 +02:00
baldurk 97130b25d8 Add selection of background colour (or checkerboard pattern) 2016-10-04 19:54:22 +02:00
baldurk 5135fd6a56 When selecting a marker, select the next 'real' draw instead 2016-10-04 19:54:21 +02:00
baldurk 7f3a61d3fa Add pixel context view 2016-10-04 19:54:20 +02:00
baldurk 54225f1133 Hook up channels and overlay widgets 2016-10-04 14:40:10 +02:00
baldurk 62e18306de Add a helper macro for simple async render thread invokes 2016-10-04 14:40:09 +02:00
baldurk 6d22781610 Set a timeout on the render manager thread 2016-10-04 14:40:09 +02:00
baldurk 1b4e1acea9 Add remaining resources from renderdocui 2016-10-04 14:40:08 +02:00
baldurk 59c5267e24 Set up remaining widgets etc in texture viewer 2016-10-04 14:40:07 +02:00
baldurk eaed889e62 Implement zooming and scaling 2016-09-30 18:18:07 +02:00
baldurk 827815d34e Implement scrolling the texture 2016-09-30 16:20:24 +02:00
baldurk 96fce23e69 Update the texture details part of the status bar 2016-09-30 14:24:12 +02:00
baldurk 158c67439b Set to last event on startup in EventBrowser 2016-09-30 14:22:23 +02:00
baldurk 6b26535659 Set cursors properly on render container, make status bar a flowlayout 2016-09-30 13:57:16 +02:00
baldurk b8910141eb Set up the texture viewer status bar text 2016-09-30 10:50:29 +02:00
baldurk 73be3b224b Do some more to try and stay sane during drags and docks.
* This needs more improvement but it's not worth going any further down
  this route for now, it can be polished up later.
2016-09-30 10:50:29 +02:00
baldurk 2f63389b8b Only look at valid suggestions of docks, not docks in other managers 2016-09-30 10:50:29 +02:00
baldurk a356aef23f Set default dimensions for main window to 1200x800 (if no layout) 2016-09-30 10:50:29 +02:00
baldurk 563c217a0d Update default window/tool layout with proper percentage sizes 2016-09-30 10:50:29 +02:00
baldurk 2bc8effd3d Add ability to specify an area percentage in ToolWindowManager 2016-09-30 10:50:29 +02:00
baldurk e3cf86fba2 Keep modified qrenderdoc arguments around until end of execution 2016-09-20 13:21:09 +02:00
baldurk 66bb732027 Add vcxproj for qrenderdoc to build locally without needing Qt SDK
* Currently non functional - relies on generated files in generated/
  and the relevant Qt headers/libraries under 3rdparty/Qt which won't be
  committed until qrenderdoc is added to the solution - not for a while.
2016-09-14 15:58:42 +02:00
baldurk 7a86b9cbb7 Put temporary files for windows Qt builds in a more conventional place 2016-09-14 15:12:54 +02:00
baldurk 221bb4ad65 Specify current exe directory as a path for Qt platform plugins 2016-09-14 15:12:14 +02:00
baldurk 76f2dd50ca Error out if Qt build is less than Qt 5 2016-09-14 14:05:57 +02:00
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