Commit Graph

7006 Commits

Author SHA1 Message Date
baldurk 64406b47a3 Add an SDBasic type for ResourceId.
* This type is core enum and used globally (not API specific) that it
  merits becoming a specific structured data type
2018-02-15 10:21:52 +00:00
baldurk a1c104f6f8 Serialise VkMemoryHeap::flags as typed enum 2018-02-15 10:09:38 +00:00
baldurk 80128f8e9f Stringise VkFlagWithNoBits as 0 instead of empty string 2018-02-14 22:35:50 +00:00
baldurk 453b4e7d6e Serialise GL FBO 0 properly as a real resource, not as "no resource" 2018-02-14 19:55:13 +00:00
baldurk 90a6683e2b Fetch ResourceId even for handle == 0
* This happens in two cases - the legal one for FBO 0 (the window's
  backbuffer) - and the compatibility one for VAO 0.
2018-02-14 19:30:23 +00:00
baldurk 04fac1d6f8 Use android properties to pass capture options to the device 2018-02-14 19:22:23 +00:00
baldurk 468c6c1e80 Wrap up CaptureOptions encoding via string into member util functions 2018-02-14 19:21:55 +00:00
baldurk 1ee01e1f82 Apply a normalisation pass over the serialised data
* This is a backwards-incompatible change, so it's done here before v1.0
  so that we can freely break compatibility and not need to define a lot
  of ugly compatibility code.
* The primary motivation is to make the serialised data more uniform
  and have fewer special cases where the serialised form is naturally
  defined from the functions/structs in question.
* There are still some special cases or variances but they should be
  more isolated and only where really necessary.
* Remove some cases in the D3D12 struct serialising where we were
  directly serialising child struct members in the parent struct.
* We now try to match argument/struct member order as closely as
  possible.
* Serialising an array with a count no longer reads the count back out
  into that variable, counts must be serialised separately. This means
  all members/arguments are explicitly present in the structured data
  and also eliminates the awkward case where a count needed to be
  serialised separately after an array if we want to have the count be
  a valid number even if the array could be NULL. It also means we don't
  need the FIXED_COUNT() macro since array lengths can be plain values
  and don't have to be a reference type.
2018-02-14 15:57:53 +00:00
baldurk b0f2f6de58 For bitfields with no values set, return Type(0) instead of "" 2018-02-14 00:41:16 +00:00
baldurk ef12af50b4 Fix some issues when exporting vulkan structured data. 2018-02-14 00:41:04 +00:00
baldurk 2d07861227 Remove special case strings from vulkan stringification 2018-02-13 21:10:13 +00:00
baldurk 60324e7e38 Add a small sleep into JDWP connection code to workaround JVM bugs
* It's unknown why this matters but on some android devices adding a
  small sleep prevents problems with JDWP replies not coming through.
2018-02-13 21:10:12 +00:00
baldurk 2f73ed373b Implement GLES overlays by dropping use of separable programs
* GLES separable programs are completely broken, so we need to just go
  back to ye-olde style of linking shaders together. On GLES this is
  particularly painful as it means we have to version match whatever
  shader the user was using.
2018-02-13 21:10:11 +00:00
baldurk 528fa085b4 On ES when declaring a #version 100 shader, don't append the 'es' suffix 2018-02-13 21:10:09 +00:00
baldurk c9a2d4cca8 Fetch declared #version for each shader (will be needed on GLES) 2018-02-13 21:10:08 +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 cad5520238 Tweak the event browser to support richtext in drawcall names
* This lets Resource ID text become links to the resource inspector even
  in drawcall names (like glBlitFramebuffer(src, dst)).
2018-02-13 21:10:06 +00:00
baldurk 8b66e3dcd9 Apply the fake backbuffer in glDrawBuffers 2018-02-13 21:10:04 +00:00
baldurk caaa392e85 Make sure to use original IDs when stringifying any IDs in draw names 2018-02-13 21:10:03 +00:00
baldurk 8368f9b8be Stringify ResourceIds consistently as "ResourceId::12345"
* This means even strings generated in the core code will become
  richtext in the UI.
2018-02-13 21:10:01 +00:00
baldurk cdf72a8963 Expose an XML-only export for when the buffers aren't needed. 2018-02-13 17:16:25 +00:00
baldurk 2f41469228 clang compile fix - missing override specifier 2018-02-13 10:08:58 +00:00
baldurk bb2c98795c Hook up autofit right-click shortcut, to always autofit 2018-02-12 20:48:10 +00:00
baldurk db7050c4d4 Set a minimum width for popup menus in RDStyle 2018-02-12 20:48:08 +00:00
baldurk 3c72341f63 Set category name for all API's built-in counters, not just D3D11 2018-02-12 20:48:07 +00:00
baldurk 48fd9bf1ed Fix sizing of stretch columns when one column is hidden 2018-02-12 20:48:06 +00:00
baldurk f2ece44e49 Implement sorting for RDTreeWidget 2018-02-12 20:48:05 +00:00
baldurk ea5e88b99d Use current item instead of last selected item in onclick handler 2018-02-12 20:48:04 +00:00
baldurk d7ecf8a1b3 Add a context menu item in texture viewer to open in resource inspector 2018-02-12 20:48:02 +00:00
baldurk c437772271 Fix painting of frame borders in RDStyle 2018-02-12 20:48:01 +00:00
baldurk eaa57f3e11 Add UI menu for importing from/exporting to other formats. 2018-02-12 20:48:00 +00:00
baldurk 57712ea691 Fix mesh output 'sync views' - need to walk parent stack to tableview 2018-02-12 20:47:59 +00:00
baldurk 8de37336ad Adjust capture connection scrolling to be reasonable on the mouse wheel 2018-02-12 20:47:58 +00:00
baldurk 58d10bee0f Tweak codec names 2018-02-12 20:47:56 +00:00
baldurk 03fc5929cc Fix a typo leading to mis-reporting of import/export format capabilities 2018-02-12 20:47:55 +00:00
baldurk bb72a39894 Fix D3D11 structured import/export 2018-02-12 20:47:54 +00:00
baldurk e44b7c3c34 Initialise debug values to NULL 2018-02-12 20:47:53 +00:00
baldurk 80bb034315 Treat -1 as the invalid microsecond duration value, not 0
* Some functions can be so quick that they register as a duration of 0.
  This is expected and we should not end up omitting it when importing
  or exporting because we think it was missing. As a 64-bit value,
  losing a bit for signedness is not a problem.
2018-02-12 20:47:51 +00:00
baldurk 770903c9dd Raise limit on number of frames to queue to 10 for now. Refs #871 2018-02-12 20:47:50 +00:00
baldurk 10649d9af3 Set number of frames to capture with instantaneous trigger. Refs #871 2018-02-12 16:58:05 +00:00
baldurk 6e96ef86c3 Remove our own PID from list of injectable processes 2018-02-12 12:53:35 +00:00
baldurk a11adc72d0 Don't highlight capture commends as python 2018-02-12 11:32:14 +00:00
baldurk 1854eb3c85 Tweak analytics prompt wording and fix a typo 2018-02-12 11:31:57 +00:00
baldurk 80af9cfebf Rename "Hook into Children" option
* Because holy moly that's a really strange way to shorten the option.
2018-02-09 21:14:32 +00:00
baldurk 2300a94252 Linux compile fix 2018-02-09 19:36:04 +00:00
baldurk d3bf628394 Handle opening vulkan shaders that are not in a pipeline.
* Previously we were relying on the pipeline info create to initialise
  the reflection for an entry point, now we do it on demand wherever it
  is needed.
2018-02-09 19:03:55 +00:00
baldurk 387de2527e Handle multi-dimensional arrays in shader input/outputs. Refs #714 2018-02-09 19:02:25 +00:00
baldurk 5a5d8380ad Persist texture save config between saves. Refs #862 2018-02-09 17:51:32 +00:00
baldurk cbeb905ae6 Default to selected texture file format in save file browser. Refs #862
* We also do the reverse, if they selected a different extension we
  update the selected format.
2018-02-09 17:51:31 +00:00
baldurk b12475f808 Style scintilla to work on dark as well as light themes. Refs #862 2018-02-09 17:51:19 +00:00