37 Commits

Author SHA1 Message Date
baldurk fbae19f622 Add custom shader handling to texture viewer 2017-02-14 19:14:52 +00:00
baldurk 8630f82db3 Update shader viewer to support editing and debugging of shaders 2017-02-10 21:48:50 +00:00
baldurk 354a2707ae Avoid copying large structs, prefer to pass by reference 2017-02-10 21:48:46 +00:00
baldurk 4d8e799a0e Add pixel history window 2017-02-09 23:21:45 +00:00
baldurk 2285b209c3 Access CaptureContext & RenderManager by reference, not pointer
* Neither of these can or should be NULL so enforce it explicitly.
2017-02-09 19:28:24 +00:00
Alex Smith 6e2fc42cbd qrenderdoc: Show currently selected event in the API inspector
Currently, selecting an event with children (e.g. vkCmdExecuteCommands)
in the event browser will cause the API inspector window to show the
final child event, rather than the event itself. This behaviour makes
sense everywhere else: selecting an event with children shows the state
after all children have completed.

However, for the API inspector, we want to be able see API calls for
the parent event when it is selected rather than those of its last
child, particularly in the case of vkCmdExecuteCommands which may have
other API calls leading up to it.

To allow this, distinguish between the "current event" and "selected
event". For an event with children, the former refers to the last
child, while the latter refers to the event itself. ILogViewerForm now
has two separate event callbacks for when either one changes.

The API inspector now makes use of the selected event, while everything
else continues to use the current event.
2017-01-14 20:23:51 +00:00
baldurk 030cbfde9a Batch update copyright years everywhere 2017-01-06 12:13:31 +00:00
baldurk bb2f3a205c Move common Qt utility functions & JSON I/O together in a single place 2016-11-09 13:23:53 +01:00
baldurk c5973d1ed6 Add centralised reset function for restoring to clean state 2016-10-12 16:54:14 +02:00
baldurk 791599b48c Cache texture lookup and only update whenever it changes 2016-10-12 13:24:14 +02:00
baldurk f0c359b329 Remove include guards and change to #pragma once 2016-10-11 21:38:16 +02:00
baldurk db5bdbb05e Add range histogram 2016-10-11 18:33:37 +02:00
baldurk 2507634df9 Add filterable texture list to texture viewer 2016-10-10 18:48:38 +02:00
baldurk a1e9554e66 Implement the ctrl-g texture goto popup 2016-10-10 16:41:48 +02:00
baldurk 3a772f26ce Implement locked texture tabs and partially complete event usage popup 2016-10-10 13:52:00 +02:00
baldurk 3ec1be62ff Paint custom render widgets properly without output, recreate as needed 2016-10-07 19:51:05 +02:00
baldurk 63b92f76c8 Pass IReplayRenderer to INVOKE_MEMFN calls 2016-10-07 19:51:03 +02:00
baldurk e32e26eb83 Save texture viewer dock layout & background colour in persist data 2016-10-07 15:58:50 +02:00
baldurk b96d49190c Avoid naming manually connected slots on_x_y() 2016-10-07 15:58:45 +02:00
baldurk 2be29d9229 Move Following struct declaration to header, add per-texture settings 2016-10-05 20:20:19 +02:00
baldurk da992e9c3e Add following and populating thumbnails
* This is buggy - the UI seems to hang at random until you switch away
  and back, some event I guess is stalling the queue somehow but it's
  still pumping events.
2016-10-04 19:54:35 +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 c8015b9e99 Populate mip/slice dropdowns and allow selecting which is visible 2016-10-04 19:54:23 +02:00
baldurk 97130b25d8 Add selection of background colour (or checkerboard pattern) 2016-10-04 19:54:22 +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 b8910141eb Set up the texture viewer status bar text 2016-09-30 10:50:29 +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 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
baldurk f9b69b1002 QRenderDoc: Fetch texid to display correctly for Present() calls 2016-02-07 18:44:26 +01:00
baldurk 332c5e4289 Implement a rather hacky PickPixel implementation 2016-02-07 18:38:46 +01:00
baldurk 97920b7b31 re-indent Qt code to match rest of C++ code 2015-07-10 16:38:41 +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 56c4b23c7a Organise source files a bit more, add Core class 2015-07-10 16:38:26 +02:00