Commit Graph

31 Commits

Author SHA1 Message Date
baldurk 86ff87863e Update copyright years to 2019 2019-02-01 18:32:13 +00:00
baldurk 317e89f7cb Add QIODevice::Text for text writing, to convert newlines. Refs #1246 2019-01-28 19:55:39 +00:00
baldurk 201dd1c9b4 Don't sort while inserting data into performance counter viewer table 2018-07-13 20:06:57 +01:00
baldurk 082ab4d75d GUIInvoke takes a QObject* to avoid callbacks after object lifetime
* The GUIInvoke object takes a QObject, and uses QPointer to check that
  it hasn't been deleted when the callback fires. This prevents delayed
  callbacks from executing after the object has been deleted and
  crashing.
* In most cases the pointer is just 'this'.
2018-05-08 11:54:34 +01:00
baldurk a7e4426038 Clear performance counter viewer when capture is closed 2018-02-28 12:23:54 +00:00
baldurk 5c859b20a6 Don't use undefined map[index] = map.size()
* The LHS map[index] can get executed first before map.size() and we end
  up with indices that are 1 higher than we expect
2018-02-13 21:10:07 +00:00
baldurk e305029ddd Update copyright years to 2018 2018-01-01 17:55:29 +00:00
baldurk ebaefc82a9 Normalise and make python/public interface more consistent
* We enforce a naming scheme more strongly - types, member functions,
  and enum values must be UpperCaseCamel, and member variables must be
  lowerCaseCamel. No underscores allowed.
* eventId not eventID or EID, and Id preferred to ID in general. Also
  for resourceId.
* Removed some lingering hungarian m_Foo naming.
* Some pipeline state structs that are almost identical between the
  different APIs are pulled out into common structs. Where something
  doesn't make sense (e.g. viewport enable for vulkan) it will just be
  set to a sensible default (in that case always true).
* Changed scissors to be x/y & width/height instead of sometimes
  left/top/right/bottom
* Abbreviations are discouraged, e.g. operation not op, function not
  func.
2017-12-22 13:02:36 +00:00
baldurk 9099e7a8c5 Add missing break statement in switch 2017-12-11 19:37:39 +00:00
baldurk a6ebf09785 Add analytics system - disabled for now
* This is a *very* light-touch analytics system that will track the
  simplest and most anonymous statistics that can be useful in
  determining which features are most used or perhaps underused, and
  where it's best to direct development attention.
* It is entirely implemented in the UI layer, no analytics-gathering
  code exists in the library that's injected into programs, and of
  course no capture data (screenshots, resource contents, shaders, etc
  etc) is transmitted.
* Once it's turned on, it will apply to both development and release
  builds. It tracks stats over a month, and then at the beginning of a
  new month it sends the previous data.
* When the user first starts up a build with analytics if there's no
  previous analytics database then they are informed of the new code and
  asked to approve it. They have the option of selecting to manually
  verify any sent reports, or just opt-ing out entirely.
2017-11-29 19:01:22 +00:00
baldurk 286e117d56 Add headers needed for compilation without PCH
* Removing includes of Code/CaptureContext.h removed some dependencies.
2017-11-23 00:20:01 +00:00
baldurk c860d8baa3 Fix uninitialized variable warnings from static analysis
* Reported by Coverity Scan
2017-11-22 11:31:07 +00:00
baldurk 33ff48811b Normalise terminology in UI code - don't call captures 'logs'
* Log is an overloaded term since it can also mean the debug log. We now
  consistently refer to capture files as capture files or just captures
  for short. The log is just for log messages and diagnostics.
* The user-facing UI was mostly already consistent, but many of the
  public interfaces exposed to python needed to be renamed, and it made
  more sense just to make everything consistent.
2017-11-17 16:30:57 +00:00
baldurk e6c5c03896 Remove rdctype namespace. Rename rdctype::str -> rdcstr, rdcarray, etc
* Since these types are more prevalent than originally designed, it
  makes more sense to remove the namespace for ease of typing/naming.
* Also add a specialised type 'bytebuf' for an array of bytes.
* This makes mapping easier to SWIG since there's no special casing for
  namespaced arrays. Especially so for nested cases like
  rdctype::array<rdctype::str> -> rdcarray<rdcstr>
2017-11-03 16:04:59 +00:00
baldurk 5e59616a8c Update rdctype::array to have a more stl-like mutable interface
* For the most part the interface is stl-compatible, but we have a few
  little changes of our own for convenience.
* This class is still needed after deleting the C# UI, because we don't
  want to pass C++ stl structs over module boundaries and possibly run
  into hard to diagnose incompatibilities.
2017-11-03 16:01:58 +00:00
baldurk 0d7a064443 Right align both durations in event browser and perf counter data 2017-10-27 12:26:02 +01:00
baldurk 2a0fac1ad6 Compile fixes on linux 2017-08-24 19:15:28 +01:00
baldurk c7265b1825 Allow sorting and moving columns in counter results.
* We do a custom sort so that it's always in the right order even if
  the data isn't formatted exactly as a number.
2017-08-24 16:33:42 +01:00
baldurk 760c04844a Add CSV export button to counter viewer 2017-08-24 15:00:12 +01:00
baldurk 9c4aa3a50a Bind to clicked not pressed (clicked fires too early, before mouseup) 2017-08-24 15:00:11 +01:00
baldurk ace9bed79b Pass selected counters back into selection dialog
* This means that each time you open the dialog you don't start with an
  empty set, instead you start with the set of counters you had
  previously selected.
2017-08-24 15:00:09 +01:00
baldurk 533a7be348 Use Formatter for float-formatting preferences 2017-08-24 15:00:07 +01:00
baldurk 3650f36cbf Use time unit configured for event browser (currently) for time values 2017-08-24 15:00:06 +01:00
baldurk 43a4cb5818 Disabling edit triggers on results view, add double click to jump to EID 2017-08-24 15:00:04 +01:00
baldurk ca04122d64 Resize columns to fit contents after setting the values 2017-08-24 15:00:03 +01:00
baldurk 42435df93a Don't allow timing while no capture is loaded 2017-08-24 15:00:01 +01:00
Matthäus G. Chajdas 8478bfbb52 Address review feedback. 2017-08-24 13:39:11 +01:00
Matthäus G. Chajdas 4d25394c0b Implement loading/saving in the performance counter selection. 2017-08-24 13:21:06 +01:00
Matthäus G. Chajdas b39844bb59 Hook up the counter capture and result display. 2017-08-24 13:21:04 +01:00
Matthäus G. Chajdas 03343239c7 Implement a Performance Counter Viewer pane, hook up selection dialog 2017-08-24 13:21:03 +01:00
Matthäus G. Chajdas ba4c9d6837 Prepare everything for the performance counter viewer window. 2017-08-24 13:21:02 +01:00