Commit Graph

6681 Commits

Author SHA1 Message Date
baldurk 203dca8434 Split out invocation of SPIRVDisassembler into member function 2017-12-22 17:03:08 +00:00
baldurk 99c2194348 Don't re-type textures if they are bound to the wrong target in GL 2017-12-22 17:03:08 +00:00
baldurk 978521b81b Add just-in-case handling for texture without a format on GL 2017-12-22 17:03:07 +00:00
baldurk fe4fa7138d Move the GCN disassembly to the replay controller
* This way it's uniformly supported, so e.g. we can still get it when
  the replay itself is running on android.
* To do this we just pass the 'raw' bytes, which contains the whole blob
  needed for disassembly. This means a little extra work to disassemble
  D3D blobs by doing a tiny parse of the DXBC.
2017-12-22 17:03:06 +00:00
baldurk 184c7be0b8 Add an enum listing how a shader's bytes are encoded. 2017-12-22 16:52:42 +00:00
baldurk 98c267cee6 Delete old sync objects before re-syncing in glFenceSync 2017-12-22 16:00:34 +00:00
baldurk f224375790 Set message source for API-captured debug messages on GL. 2017-12-22 16:00:21 +00:00
baldurk 336144afd7 Sanitise loaded values on PersistantConfig 2017-12-22 15:09:29 +00:00
baldurk 9c7e46c6fc Tweak update menus and alerts
* We split the "update available" off to a top-level menu item, instead
  of a sub-item under Help. This gives explicit text saying an update is
  available.
* Change the icon from an hourglass to a slightly more 'updatey' image.
* We now re-cehck every week even if an update is marked available. That
  way people who delay for longer than it takes to release a new version
  will get the latest when they do update. It also gives them a reminder
  every week so that hopefully those delayers will be less common!
2017-12-22 14:41:45 +00:00
baldurk 30589eaf19 Update dialog should not have maximum size on the release notes 2017-12-22 14:41:45 +00:00
baldurk 4c7ea8e158 Remove paragraph symbol literal from sphinx paramlinks
* It doesn't display properly in chm
2017-12-22 14:41:44 +00:00
baldurk 691f91c9aa Re-organise and tidy python API documentation 2017-12-22 14:41:43 +00:00
baldurk 417a811fad Expand docstring checks to also check names of symbols in the interface 2017-12-22 14:41:43 +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 fd66995ac2 Let docs build pick release or development built modules 2017-12-21 21:19:49 +00:00
baldurk c414a980b0 Add __pycache__ to .gitignore 2017-12-21 15:01:41 +00:00
baldurk 95bebdbbe1 [Coverity] Remove unused call without side-effects 2017-12-21 12:19:02 +00:00
baldurk 24fce05773 [Coverity] Initialise some uninitialised values 2017-12-21 12:18:36 +00:00
baldurk d902981f72 [Coverity] Fix comparison operators with copy-paste errors 2017-12-21 12:15:32 +00:00
baldurk fe0f4ec879 [Coverity] Fix leak when converting thumbnail for fetch 2017-12-21 12:09:02 +00:00
baldurk c454bf21fb [Coverity] Fix leaking stream reader in error case 2017-12-21 12:07:36 +00:00
baldurk 4a45b9880c [Coverity] Fix memory leak in StartGlobalHook 2017-12-21 12:02:20 +00:00
baldurk 3d76448899 [Coverity] Remove redundant check as we handle NULL elsewhere 2017-12-21 11:58:14 +00:00
baldurk 84331ebf0b [Coverity] Fix missing check for negative return 2017-12-21 11:56:54 +00:00
baldurk 5b19eab93d Don't call GetLiveID() on an already live ID 2017-12-21 11:52:39 +00:00
baldurk 8f598e0b0f Update toolwindowmanager to 2b84ee038d3883836e13a952ae14ab2e6ff842a6 2017-12-21 11:44:55 +00:00
baldurk 7f20040105 Add timeline bar to default layout 2017-12-21 11:10:50 +00:00
baldurk 51ebb61bf0 Add a marker region for PickPixel 2017-12-21 10:51:06 +00:00
baldurk b877f022fe RGBA8 UNORM images in the viewer should be treated as sRGB
* This makes the pixel pick values come back sRGB decoded.
2017-12-21 10:50:48 +00:00
baldurk b070a371e2 Improve D3D11 predication handling, and track other asyncs independently
* Instead of replaying predication, we now always skip it during replay,
  so all objects will render. This is much more consistent and
  understandable behaviour instead of things mysteriously disappearing
  with no obvious reason why.
* We track the predication that would have happened and replay Begin/End
  pairs so that we can know if the predication *would* have failed.
* This is displayed in the UI (currently in the raster state, for lack
  of a better location) with the pass/fail that would have happened.
* This information can feed into other places for analysis like the
  pixel history.
2017-12-20 23:41:08 +00:00
baldurk 649e82b8ed Add two commands to renderdoccmd for embedding and extracting sections 2017-12-20 18:01:20 +00:00
baldurk 669fa9dc40 Expose the total number of sections via ICaptureAccess
* This lets external code iterate over all sections.
2017-12-20 18:01:20 +00:00
baldurk cb4fb770e9 Finish section writer before deleting it, needed for compressed sections 2017-12-20 18:01:20 +00:00
baldurk 6f0756c6dd When trying to find a section by name, try known sections names
* In theory all sections of a known type should be written with their
  proper normalised name, but just in case a capture is a bit misformed
  let's try to look it up by type.
2017-12-20 18:01:20 +00:00
baldurk 0c1d602c37 Use ToStr not an internal array for fixed section names 2017-12-20 18:01:20 +00:00
Janos Pantos 78cce78cb1 Remap BGRA textures during remote replay if necessary
With GL driver or if the required GLES extension is missing, than we
display BGRA textures as RGBA.
2017-12-20 19:01:05 +01:00
Janos Pantos 3a0c55d0f7 Don't swizzle R/B channels for BGRA proxy textures 2017-12-20 19:01:05 +01:00
David McFarland 8119f98c65 LiveCapture: specify bpl when creating RGB888 thumbnail
Qt rounds up the bpl to a multiple of 4 bytes, so this was crashing for me with
odd sized thumbnails.
2017-12-20 19:00:50 +01:00
David McFarland 7ae6cc3c37 qrenderdoc: fix --targetcontrol 2017-12-20 19:00:29 +01:00
David McFarland ad38130624 Set TextureDescription.resType in image_viewer
This fixes image_viewer on gl_replay.  Previously, images would show up
as <Uninitialised Texture>.
2017-12-20 19:00:10 +01:00
baldurk 1c49f335a2 In travis docs builds, do a minimal build of the python modules
* We need to apt-get some build dependencies, and switch to python3 for
  the sphinx build so it can load the module.
2017-12-19 19:01:10 +00:00
baldurk 1825be575f Set warnings-as-errors for travis sphinx builds 2017-12-19 18:14:17 +00:00
baldurk b15422f4c1 Re-arrange CMakeLists.txt a bit to separate qrenderdoc & pyrenderdoc
* Now you can build the python modules without building the full UI,
  which is mostly useful for docs builds so we can do a minimal compile
  and still generate the docs.
2017-12-19 18:05:25 +00:00
baldurk 04d38bdfe5 Add renderdoc_python.cxx to qrenderdoc module build
* This is needed for rdcarray template instantiations, otherwise there
  are unresolved linker errors.
2017-12-19 18:02:07 +00:00
baldurk 0b3d56f9f9 Ensure python global shutdown after context has closed 2017-12-19 17:32:12 +00:00
baldurk 764b39a23c Add update checking system to Qt UI
* This only runs on windows - on other platforms we rely on system
  distribution or user local builds.
2017-12-19 17:31:32 +00:00
baldurk 08c67f2149 Revert accidental commit setting RENDERDOC_OFFICIAL_BUILD to 1
* This was during testing and accidentally got rolled in. My bad!
2017-12-19 16:08:04 +00:00
baldurk b7952cfdf0 Minor tidying making function private 2017-12-19 13:05:06 +00:00
baldurk 85071f38e7 Remove no-longer needed variables 2017-12-19 12:27:36 +00:00
baldurk f2e7f8f1a0 Refactor crash/bug reporter system
* The UI dialog is now in Qt. We run qrenderdoc.exe with a very minimal
  startup to display the dialog and send the report.
* The flow has been simplified to have less text and an easier time to
  just click through and send.
* On the first report, the user is gently nudged to enter their email
  address for contact and by default the email is saved for next time.
  They're not nagged more than once about this.
* Optionally the user can select to upload the capture. This is always
  default off, and there is a confirmation dialog making sure the user
  intended to select it.
* After the bug is reported, a unique URL is generated and returned
  which the user can then click back on to see if there's any update. By
  default the UI will also remember the URL and check it every couple
  of days and alert the user in the help menu that there's an update.
2017-12-19 12:26:34 +00:00