Commit Graph

6500 Commits

Author SHA1 Message Date
baldurk 602511bf33 Reduce parameters that need to be passed for viewing shaders 2017-11-22 19:11:27 +00:00
baldurk 38acc56084 Unregister shortcuts when closing windows that registered shortcuts
* This prevents leaking for cases where new widgets are created (and
  the small chance a widget pointer could be re-used and cause serious
  problems), and multiple-registration errors for global shortcuts.
2017-11-22 19:11:25 +00:00
baldurk cadc0f3855 Fix issue chaining RDTreeWidgetDelegate onto RDTreeViewDelegate
* We need to inherit to chain these two, as otherwise when the tree view
  delegate calls sizeHint() it passes to the tree widget delegate, but
  then has no way to return back to the tree view for the overridden
  initStyleOption.
* If there was a built-in way to chain delegates like styles (which
  solve this problem by calling back to baseStyle when going from one
  function to another), or better yet a way to avoid the base
  QStyledItemDelegate initStyleOption from completely trampling all over
  the option passed in to any function, this wouldn't be necessary.
2017-11-22 19:11:24 +00:00
baldurk 1fcc41effa Allow arrow keys for proper navigation of itemviews in RDStyle 2017-11-22 19:11:24 +00:00
baldurk 6f2a9b6cc3 Render thumbnails after main viewport is drawn.
* This doesn't make any difference really locally, but when using a
  remote host for replay, it means the main viewport will update before
  the thumbnails wait for those textures to transfer.
2017-11-22 19:11:23 +00:00
baldurk 725337df26 Clarify some iterator checks (where asserts were used before)
* Reported by Coverity Scan - mostly this is just adding error checking
  where there was previously just an assert before a use of an invalid
  iterator.
2017-11-22 19:11:23 +00:00
baldurk 74e25673d2 Fix some integer sign extension/potential overflow issues.
* Reported by Coverity Scan. In all cases, should not be a problem, but
  with an upcast happening anyway we might as well ensure calculation
  happens at a higher precision.
2017-11-22 19:11:22 +00:00
baldurk 43d561a4c0 Fix NULL checking and NULL dereferencing issues
* Reported by Coverity Scan - most of these are not an issue and a
  couple of them are coverity getting really confused (like seeing a
  pointer being assigned to NULL and a count to 0, then a few lines
  later declaring that a loop 0..count will dereference the pointer).
* However it's harmless in all cases to add a bit of robustness to keep
  the analysis happy.
2017-11-22 19:11:21 +00:00
baldurk e75a468d3c Remove direct include of Code/CaptureContext.h in almost all files
* This is a leftover from before the interface was hoisted out, and most
  windows were still calling directly to CaptureContext instead of via
  the public ICaptureContext interface
2017-11-22 19:11:20 +00:00
baldurk 203f6b5255 Silence some warnings about casting from one enum type to another
* Reported by Coverity Scan - I don't think any of these were actually
  a problem since the enum definitions all matched.
2017-11-22 19:11:19 +00:00
baldurk 3e95356d9b Fix a mistake check on string::find not comparing against string::npos
* Reported by Coverity Scan
2017-11-22 19:11:18 +00:00
baldurk 2514ad4126 Remove some dead code that's no longer needed
* Reported by Coverity Scan
2017-11-22 19:11:18 +00:00
baldurk e4555e0d53 Fix a mistaken value-copy
* Reported by Coverity Scan
2017-11-22 19:11:17 +00:00
baldurk 7a122ac592 Fix some inherited class destruction issues
* Reported by Coverity Scan as non-virtual parent class destructors, but
  the fix didn't need to add virtual functions.
2017-11-22 19:11:16 +00:00
baldurk 9fe7acb20f Fix some possible out of bounds access
* Reported by Coverity Scan
2017-11-22 19:11:15 +00:00
baldurk 9e5cfa8b96 Add safety to satisfy Coverity on some errors that are likely impossible
* Reported by Coverity Scan
2017-11-22 19:11:14 +00:00
baldurk 25ea14c965 Fix possible division by zero in edge cases
* Reported by Coverity Scan
2017-11-22 12:05:59 +00:00
baldurk 7ec2c79e86 Fix conditional branches on 'constant' values
* Reported by Coverity Scan
2017-11-22 11:59:18 +00:00
baldurk 4c67de2995 Fix copy-paste errors reported by Coverity Scan 2017-11-22 11:50:37 +00:00
baldurk c860d8baa3 Fix uninitialized variable warnings from static analysis
* Reported by Coverity Scan
2017-11-22 11:31:07 +00:00
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