Commit Graph

695 Commits

Author SHA1 Message Date
baldurk acd755324e Load main window initial layout before running python scripts 2020-09-04 15:00:16 +01:00
baldurk d55cf930f8 Don't make command line parsing a fatal error 2020-09-04 14:59:17 +01:00
baldurk 865f9002da Keep remote server connection alive if it disconnects mid-replay
* We need to keep it alive until we've shut down the replay controller, and we
  keep that alive until the user explicitly closes the capture.
2020-09-01 11:08:01 +01:00
baldurk b5a6796240 Allow qrenderdoc command line python scripts to call sys.exit()
* Previously we'd catch the sys.exit "exception" and print it then show the
  window.
2020-08-31 13:10:38 +01:00
baldurk d5f45f6476 Allow overriding the python install on windows
* Also document the new requirement for os.add_dll_directory as of python 3.8
2020-08-31 12:38:49 +01:00
baldurk 716c72f399 Remove custom FindPySide2.cmake, rely on normal packaging
* It seems PySide2 packaging is much more stable now, so we can generally rely
  on the distro packages.
2020-08-28 19:06:06 +01:00
baldurk 285c4b95df Add Qt5Qml.dll stub for 32-bit pyside2 distribution
* When the pyside2 we ship was built it accidentally included a small dependency
  on Qt5Qml, which we don't distribute so the pyside2 libraries wouldn't load.
* We can generate a tiny stub with the right exports and load it manually from
  the PySide2 folder on 32-bit qrenderdoc builds to allow pyside2 to load
  subsequently. The stub source is tiny, and added alongside.
* Putting it in the PySide2 folder means that even if someone puts RenderDoc's
  build folder in their PATH, our stub Qt5Qml won't break anything because it
  won't be loaded. If they put PySide2 in the PATH it might, but then it's their
  fault!
2020-08-28 19:06:05 +01:00
baldurk 0c1b304917 Verify JSON documents being saved don't contain byte arrays
* Newer Qt versions will base64 the byte arrays even if we've already base64'd
  them so they're safe. To prevent this we explicitly convert to QString
  afterwards.
2020-08-28 19:06:05 +01:00
baldurk 3eaaf59319 Prefer floor rounding for Qt 5.14+ fractional DPI handling
* Non-integer DPI handling is fundamentally a broken concept, because UIs are
  essentially pixel art with some vector drawing. Rounding down half fractions
  seems to be a better tradeoff than rounding up or trying to render them as-is.
2020-08-27 13:19:21 +01:00
baldurk fa24dc8872 Silence some PVS warnings 2020-08-20 16:11:05 +01:00
baldurk e7657f6212 Use QTextBoundaryFinder to truncate resource names 2020-08-14 14:58:16 +01:00
baldurk d9fc87ec2a Do our best to determine suffix for unknown file filters. Closes #1993
* We work around a GNOME bug here by ignoring a selected filter if it's the
  empty string. For all other unknown filters we try to determine the suffix on
  the fly.
2020-08-07 16:12:29 +01:00
baldurk e6a2b94b6f Disallow closing progress dialogs early
* Normally the close button is hidden but some platforms don't allow this.
2020-07-27 16:17:13 +01:00
baldurk bc4a803605 Add usage entries for discards. Closes #1951 2020-07-12 10:52:10 +01:00
baldurk 0d026a43d6 Remove CompType::Double
* This is a leftover artifact from before we had general extended type support
  and double was the only non-32 bit type we handled. Now we support most type
  formats so doubles are just CompType::Float with 8 byte width
2020-07-12 10:52:10 +01:00
baldurk d1d84d22b0 Don't print error if struct stride is exactly matched 2020-07-12 10:52:10 +01:00
baldurk dd8c63d13c Don't lock around calling RunCommand(). Closes #1970 2020-07-03 13:02:06 +01:00
baldurk e5e9a9c94b Use QDoubleSpinBox for partial 64-bit int support. Closes #1952
* Actually creating a 64-bit spinbox is not feasible without constructing it
  almost from scratch due to how much QAbstractSpinBox depends on private
  internals that can't be overridden. Instead use a QDoubleSpinBox with no
  decimals since we don't need the full 64-bit range, and the mantissa of a
  double is enough.
2020-06-30 12:34:52 +01:00
baldurk 592cf968e3 Add a new analytics tracking flag for "has any capture used DXIL" 2020-06-18 17:22:44 +01:00
alex 9414beaed2 Support multiple custom shaders directories for Texture Viewer 2020-06-16 11:47:52 +01:00
alex c1612f5d46 Add Texture Viewer custom shaders directory setting 2020-06-16 11:47:52 +01:00
baldurk 36d74b32b9 Add optional output file for qrenderdoc unit tests 2020-06-11 20:06:43 +01:00
baldurk d1f4a47cd5 Add a load of MSBuild nonsense to *avoid* targeting a specific Win SDK
* Even though we don't care about the windows SDK version at all, we actively
  need to avoid the default which actively sabotages us.
2020-06-11 20:05:03 +01:00
baldurk ebe0ab1b64 When running process as root, show error dialogs. Closes #1932
* Error logs are less likely to be noticed by users when things go wrong.
2020-06-08 16:01:45 +01:00
baldurk f40490c049 Avoid underflow when calculating padding bytes 2020-06-05 19:36:02 +01:00
baldurk 8ff6251d98 Handle hlsl/glsl matrix dimension order properly in buffer formatter 2020-06-05 14:19:39 +01:00
baldurk fe8a35b2f0 Fix calculation of matrix variable sizes. Closes #1927 2020-06-05 14:11:14 +01:00
baldurk 40183bff46 Fix typo in buffer formatter for padded column major matrices 2020-06-05 13:54:26 +01:00
baldurk a0a373a8e1 Fix handling of buffer truncation and zero-sized buffers 2020-05-29 17:26:29 +01:00
baldurk 72d789e486 Add necessary padding in buffer formatted between members 2020-05-26 13:52:47 +01:00
baldurk 5eb80370fd Change formatted for RGBA4 to xshort instead of xbyte2 2020-05-18 10:57:33 +01:00
baldurk a81994071f Wait for shader viewer background debugging, add cancel button
* Until we properly support background debugging we need to wait for it to
  complete, otherwise the user could close the window and we'd crash.
2020-05-15 20:31:42 +01:00
baldurk ed0c143be7 Close replay thread last to process any invoked resource frees 2020-05-15 19:03:26 +01:00
baldurk 08cf66abce Fix racing busy signals when connecting to remote servers 2020-05-15 19:03:26 +01:00
baldurk 49d6f205e9 Add padding for buffers where matrixByteStride needs it. Closes #1874 2020-05-11 18:04:22 +01:00
baldurk 7045e241e2 Specify row_major on struct members. Closes #1873 2020-05-11 18:04:22 +01:00
baldurk 1ad2cf0905 Handle opengl dvecX / dmatX types in buffer formatter 2020-05-08 20:43:25 +01:00
baldurk 90c10ea1fc Handle boolean inputs in vulkan shader parameters
* We change to use VarType instead of CompType for signature parameters which
  allows us to represent different types of variables beyond just
  unsigned/signed integer and float.
2020-05-07 22:46:41 +01:00
baldurk 863636d243 Reset the list of replaced resources when closing a capture 2020-05-06 19:35:50 +01:00
baldurk 417dc91925 Set the correct number of columns for packed formats in buffer view 2020-05-06 19:35:50 +01:00
baldurk a9a821081a Don't mark resources as replaced more than once 2020-05-05 18:17:52 +01:00
baldurk 84a804f95d Set byte strides for error case of buffer formatter 2020-04-28 18:15:33 +01:00
Steve Karolewics f29fe5864e Make RichResourceTextMouseEvent only respond to left button clicks
Previously it prevented context menus from working when activated over
a rich resource text field.
2020-04-27 18:16:46 +01:00
baldurk 133b8a41b9 Fix handling of column-major matrices in buffer viewer. Closes #1848 2020-04-27 13:46:58 +01:00
baldurk 267798b240 Add boolean vartype 2020-04-24 20:14:48 +01:00
baldurk 4dc0d799db Add default child name for structs when generating buffer formatter 2020-04-24 20:14:47 +01:00
baldurk 97665b2c30 Display resources in shader viewer tooltips properly 2020-04-23 19:14:09 +01:00
baldurk f506dcf395 Add support for storage buffer access 2020-04-23 19:14:08 +01:00
baldurk e90461c065 Fix incorrect check in DumpObject helper 2020-04-23 19:14:08 +01:00
baldurk f57709366a Truncate resource names that are unreasonably long. Closes #1832 2020-04-21 17:09:33 +01:00