Commit Graph

6480 Commits

Author SHA1 Message Date
baldurk 05d7ae9fec Update QProcessInfo files to 9aecbbe2c45dd259c50b70b52d1386f7592bf0ad 2017-11-22 11:17:49 +00:00
baldurk a738c7726a Compile fixes on linux 2017-11-21 22:32:39 +00:00
baldurk e0fe401ca5 Add extra elements to pipeline viewer to display hidden state objects
* For example state objects on D3D11, or render pass on Vulkan.
* These are all properly resource-linked.
2017-11-21 19:10:35 +00:00
baldurk bfe7742bc8 Add resource details for the default FBO (FBO 0) 2017-11-21 19:10:34 +00:00
baldurk 1f9a2e340c Add an extra minimum size hint, since Qt behaviour is broken by design
* The Qt behaviour is that if you call setMinimumSize on a widget, then
  the minimumSizeHint is IGNORED. So it is impossible to say "use this
  minimum size, unless the widget wants a higher minimum size".
* So instead we do this ourselves in RDLabel. Sigh.
2017-11-21 19:10:33 +00:00
baldurk 8fb7620678 Don't print 'internally encoded' resourceid, manually fetch ID out 2017-11-21 19:10:33 +00:00
baldurk 41b349e3d2 Get original ID for D3D11 blend state 2017-11-21 19:10:32 +00:00
baldurk 46a79135b2 Pass subpass through to UI 2017-11-21 19:10:31 +00:00
baldurk f65d93cd68 Add support for RichResourceText in RDLabel 2017-11-21 19:10:31 +00:00
baldurk a13902fe2f Make sure RichResourceText never wraps, and just clips instead. 2017-11-21 16:56:46 +00:00
baldurk 17c2eb37ef Accept a const QWidget* in RichResource functions 2017-11-21 16:56:32 +00:00
baldurk bb5ae999f5 Vertically align RichResourceText painting in the centre with margins 2017-11-21 16:55:58 +00:00
baldurk 32a74e20e1 Extract out most code for text-with-ResourceId-links from RDTreeWidget
* The RDTreeWidget items still use this code, but it can now be reused
  on other widgets like RDLabel.
2017-11-21 14:45:22 +00:00
baldurk ec8a4e82fb Add includes needed for RDLineEdit on linux 2017-11-21 09:56:14 +00:00
baldurk 134f7c8ffe Enforce python bindings rdcarray instantiations, and add missing ones 2017-11-20 20:01:03 +00:00
baldurk b030ae5bd7 Fix possible crash with pixel history if window is closed early 2017-11-20 20:01:03 +00:00
baldurk 6429d47ee8 Use bindpoint mapping to look up matching shader resources on D3D11 2017-11-20 20:01:02 +00:00
baldurk 217558a3c7 Struct members are allowed to be arrays, don't set elements to 0 2017-11-20 20:01:02 +00:00
baldurk 3d4ee2a946 Add hooking for CreateProcessAsUser and CreateProcessWithLogonW 2017-11-20 20:01:02 +00:00
baldurk b8777b3f82 Update to use latest renderdoc SWIG fork, with new improvements
* Enums are now proper python enums instead of just being a class with
  static int members.
* Fix a refcounting issue with SWIG generated code to access nested
  child structs.
2017-11-20 20:01:02 +00:00
baldurk 657c343ac8 Support multi-line input in the python shell 2017-11-20 20:01:02 +00:00
baldurk 31b7662db1 Fix adding empty tree widget items in performance counter selection 2017-11-20 20:01:01 +00:00
baldurk 0a20a544c7 Fix double-unwrap when fetching counters in vulkan. Closes #806 2017-11-20 20:01:01 +00:00
Cory Bloor 58b628ee8b Fix unused variables
In almost all cases these can be removed. The only exception is in
ShaderViewer.cpp, where regIdx should have been used.
2017-11-18 00:17:06 +01:00
Cory Bloor b227229d9f Fix Qt selection instructions
pyrenderdoc uses pkg-config to find Qt rather than qmake, so we need to
give it the custom location too. I didn't notice this originally,
because it found my system version of Qt5 and compiled fine. Only when
I started doing static analysis and set up my exclusion list for Qt
headers did I notice there were multiple sets of headers being used.
2017-11-18 00:17:06 +01:00
Cory Bloor f7b9f0be0d Optimized BFREV opcode in dxbc_debug
Main goal was to fix undefined behaviour, but it's also 50x faster...

cppcheck:
[renderdoc/driver/shaders/dxbc/dxbc_debug.cpp:1163]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
2017-11-18 00:17:06 +01:00
Cory Bloor 5e60d90dd4 Fix memory leak in posix_process
From cppcheck:
[renderdoc/os/posix/posix_process.cpp:319]: (error) Memory leak: argv
2017-11-18 00:17:06 +01:00
baldurk c4207fbd5b Add a missing enum docstring 2017-11-17 17:52:21 +00:00
baldurk 2e508adb43 Fix compile issue about mismatched override/non-override in class 2017-11-17 17:52:15 +00:00
baldurk 734ad2fbd9 Batch and sort updates to related resources 2017-11-17 17:45:27 +00:00
baldurk e790555914 Fix another case with not enough column data and protect against crashes 2017-11-17 17:06:51 +00:00
baldurk b118664bc2 Fix register space filling - resize before grabbing dest pointer 2017-11-17 16:33:06 +00:00
baldurk 0e3cd3d575 Clear timeline bar current state when closing capture 2017-11-17 16:33:06 +00:00
baldurk 016bc29609 Add a tool menu item that will recompress a capture file 2017-11-17 16:33:05 +00:00
baldurk 13de20612b Use typed enum for serialising VkMemoryType::propertyFlags 2017-11-17 16:33:05 +00:00
baldurk 6efb21b8e9 Fix replay of vulkan map commands passing the wrong range size 2017-11-17 16:33:04 +00:00
baldurk d206a012f3 Fix incorrect data-to-column count when adding data to treewidget
* We also add an error in case it happens again.
2017-11-17 16:33:00 +00:00
baldurk 7d501f6ef5 Check for live resources existing before translating to live ID. 2017-11-17 16:31:04 +00:00
baldurk 4a4089f316 Add generic user-provided notes to save along with the capture.
* In future one of the notes items would be for gathered hardware info.
  Not automatically, but with one button press the full configuration
  can be embedded.
2017-11-17 16:31:03 +00:00
baldurk 19974e1771 Move bookmark storage centrally and save it with capture. Refs #501 2017-11-17 16:31:03 +00:00
baldurk c34d4f6122 Add Ctrl+F4 as an alternative shortcut for closing the capture
* Hopefully this is less muscle-memoried than Ctrl+W as 'close tab'.
2017-11-17 16:31:02 +00:00
baldurk c00a6ca8ef Add notion of UI modifications to a capture, saved in .rdc sections 2017-11-17 16:31:01 +00:00
baldurk bb6452c334 Expand IStackResolver into ICaptureAccess to allow section read/write 2017-11-17 16:31:01 +00:00
baldurk a238d3022a Move section data types into the public replay interface 2017-11-17 16:31:00 +00:00
baldurk 0f38c4770b Fix error in bitfield macro 2017-11-17 16:30:59 +00:00
baldurk 0b899d90b6 Add ability to replace sections in RDCFile 2017-11-17 16:30:59 +00:00
baldurk b1c0de3016 Add and tweak some FileIO OS-specific functions
* fflush is a no-op wrapper but nice to have for consistency.
* ftruncateat will take a file read-write handle and truncate it at a
  given length. Useful if re-writing a file and the new data ends up
  being shorter than the oldd ata.
* Move in addition to Copy, and success/fail bool return on both.
2017-11-17 16:30:58 +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 e399365ba2 Add simple utility functions for serialising QVariantMap to/from JSON 2017-11-17 16:30:57 +00:00
baldurk 824ec81864 Make sure Resource is properly null'd out in pipeline state if unbound 2017-11-17 16:30:56 +00:00