Commit Graph

6044 Commits

Author SHA1 Message Date
baldurk 3650f36cbf Use time unit configured for event browser (currently) for time values 2017-08-24 15:00:06 +01:00
baldurk 15ecaf167c Select rows at once in perf viewer, and add copy-paste handler 2017-08-24 15:00:05 +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 74950614a2 Use Title Case for performance counter viewer window title 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 bf060cfa24 Use spacer to left-align capture counters button 2017-08-24 15:00:02 +01:00
baldurk 9c948173c2 Recognise and add counter viewer as builtin window
* This means it's included in layouts when saved/restored
2017-08-24 15:00:02 +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 cb84ff695e Add UUIDs to counter descriptors to allow uniquely identifiying them.
For built-in types, use a hard-coded GUID and just modify the last 32-bits; for the AMD counters, we just hash the description/name for now.
2017-08-24 13:21:05 +01:00
Matthäus G. Chajdas 72ef43b969 Add a new Uuid type to store unique identifiers. 2017-08-24 13:21:05 +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 7d15d75638 Don't fetch AMD counters when no AMD counter is required. 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
Matthäus G. Chajdas 29376f34cc Add a performance counter selection dialog. 2017-08-24 13:21:01 +01:00
baldurk 40a0272a3e Remove use of bool32 replay API type&optimise mem layout in some structs 2017-08-24 10:44:45 +01:00
baldurk e85c8d19bf Combine 'special' with 'specialFormat' as single resource format type
* There was no good reason to have a flag indicating if the special
  format was valid or not. Now it's a single enum, with a value
  'Regular' indicating that the compCount/compWidth/compType fully
  describe the format itself.
* This makes code patterns easier as you no longer need to check for
  special then check for specialFormat, you can just test the type
  directly.
2017-08-24 10:37:16 +01:00
baldurk b55ff14242 Use nested ResourceFormat in MeshFormat struct.
* The old C# interop didn't support this for structs going from the UI
  to the core module.
2017-08-21 18:14:44 +01:00
baldurk 1b88a39339 Optimise tree widget clearing and child adding by batching updates
* This takes a nice chunk of time off the pipeline state view in
  particular when changing between events.
2017-08-21 17:14:21 +01:00
baldurk 43ac48a493 Don't use event browser as area reference if it's not visible.
* Fixes a crash opening the API inspector if the event browser was
  closed.
2017-08-21 15:43:20 +01:00
baldurk a1369f05ba Change home vk layer path to use $XDG_DATA_HOME if present. Refs #723 2017-08-21 13:43:00 +01:00
baldurk 9b4ee72af6 Pass pipeline state around by reference instead of copying by value 2017-08-18 19:37:18 +01:00
baldurk 8ae1c650b0 Ensure to always use wrapped resources when constructing resource ranges
* If we don't consistently use wrapped resources then we could get false
  negatives.
* For example, views always constructed with the *unwrapped* object, but
  when unbinding a backbuffer before a swapchain resize, we used the
  *wrapped* backbuffer texture to search for clashes. This meant some
  bindings went un-noticed, and left references dangling.
2017-08-18 19:37:17 +01:00
baldurk 2b8b101fa5 Make sure QVariant is available before including renderdoc_replay.h 2017-08-18 19:37:17 +01:00
baldurk 981436b75f Don't pass around string name of ResourceFormat, request it when needed 2017-08-18 19:37:16 +01:00
baldurk 2053f21462 Move android code into separate file for organisation's sake 2017-08-18 19:37:15 +01:00
baldurk bc98513088 Remove C entry points for C++ API - only used by P/Invoke C# access 2017-08-18 19:37:14 +01:00
baldurk 4c24b0f28f Remove use of ToQStr to convert rdctype::str to QString 2017-08-18 14:13:22 +01:00
baldurk b637fe78de Don't look up offset in serialised data as it's already been applied
* Fixes a crash reading off the end of the serialised buffer
2017-08-17 18:09:36 +01:00
baldurk 3c8ca468d7 Commit a whitespace change that VS keeps making to vcxproj
* This is left over from some hand edit of the vcxproj I guess which
  didn't get caught at the time.
2017-08-17 18:09:35 +01:00
baldurk e77f3ad8d1 Create an equivalent 'loadFB' framebuffer for every 'loadRP' renderpass
* In order to be able to split apart and partially replay every render
  pass, we change them to always STORE instead of DONT_CARE, and then
  create a patched version that only has a single subpass (for each
  subpass in the original) and has LOAD/STORE semantics.
* However because of the requirements for framebuffer <-> renderpass
  we have to now multiply up the framebuffer to make a patched fb to
  correspond to each patched renderpass.
2017-08-17 18:09:35 +01:00
baldurk f442543ab5 Make sure not to offset secondary cmd buf submissions multiple times
* When a primary command buffer is submitted that contained some
  secondary executes, we offset their executes to be 'absolute'
  root-relative events so they know when they're being partially
  replayed.
* If the same secondary is executed in multiple primaries that are
  submitted separately, we don't want to apply the same offset over and
  over, instead we mark an execute as updated and only offset 'new'
  executions.
2017-08-17 18:09:04 +01:00
baldurk f4951e28a4 Apply barriers to ALL_COMMANDS_BIT (not optimal, but that's fine) 2017-08-17 13:01:00 +01:00
baldurk 2291a92302 Fix format string 2017-08-17 13:00:41 +01:00
Cody Northrop e819035f9e cmake: Update javac classpath to work on Windows 2017-08-17 09:53:40 +01:00
Cody Northrop a5cd7bc260 docs: Update CONTRIBUTING.md for Windows and macOS 2017-08-17 09:53:39 +01:00
Cody Northrop fc316d5ba0 cmake: Add control over Android build-tools version
Specify -DANDROID_BUILD_TOOLS_VERSION=<foo> to change from the
default of 26.0.1.

Also respect the selected Android platform version.
2017-08-17 09:53:39 +01:00
Cody Northrop 9e8559619d docs: Add setup and build steps for Android on Ubuntu 2017-08-17 09:53:38 +01:00
Cody Northrop a88801c0e7 travis: Update config for Android with latest SDK/NDK 2017-08-17 09:53:37 +01:00
Cody Northrop a95d2bb625 android: Update packaging to work with latest SDK
This removes dependencies on deprecated tools "ant" and "android project"

The new method relies on JAVA_HOME and ANDROID_SDK being set.

It also requires specific versions of the Android build-tools (26.0.1) and
platforms (android-23).  See updates to CONTRIBUTING.md and our Travis-CI
config for details.

Travis-CI and documentation also roll forward to latest public NDK r14b.
2017-08-17 09:53:37 +01:00
baldurk ef84f494a2 Add a macro that enables qt-compatibility in the renderdoc replay API
* This will be used to remove the ToQStr everywhere (where it's not
  used for actual stringification of enums/structs)
2017-08-16 18:28:11 +01:00
baldurk cfd816d7f3 Enable RDStyle by default, add style selection in the settings dialog 2017-08-16 17:39:37 +01:00
baldurk b70e897838 Change workaround for visual assist bug with large raw strings in macros
* The bug seems to happen if two raw strings concatenated together are
  large enough, so instead we pass them as separate parameters to a
  different macro then concatenate them inside the macro.
2017-08-16 16:29:56 +01:00
baldurk 38028b1b64 Add default initialisation for tag object, fixes a warning on gcc 2017-08-16 16:25:29 +01:00
baldurk fbc0ccce3f Fall back to creating a non-SRGB capable fbconfig. Refs #721
* In some cases it seems that no sRGB fbconfigs are available, so we
  fall back and create a non-SRGB one. This may render incorrectly but
  at least it should run without crashing.
2017-08-16 16:24:43 +01:00
baldurk cdf57c8634 Re-sort GL bindings every time to match current uniform vals. Refs #711
* The comment in the commit goes into more details, but basically this
  sacrifices some confusion on the part of people who change uniform
  values for bindings on the fly, in favour of the majority who treat
  it as constant and don't make use of this mutable mapping that GL
  allows for.
2017-08-16 13:27:47 +01:00
baldurk 34d0fb3fa8 Only unwrap elements in VkDescriptorImageInfo that should be valid
* In particular for e.g. elements that don't require a sampler, the
  VkSampler may point to a random address if it's uninitialised, and we
  shouldn't try to access it at all.
2017-08-15 17:36:29 +01:00
baldurk 65303d8590 Don't use RTLD_NEXT, use libGLdlsymHandle which is more accurate
* The value is initialised to RTLD_NEXT, but if we get a real lib
  handle then we should prefer to use that.
2017-08-15 17:36:28 +01:00