Commit Graph

2059 Commits

Author SHA1 Message Date
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 482bdbae6f Allow building from a custom Qt more easily on windows
* Setting RENDERDOC_QT_PREFIX64 or RENDERDOC_QT_PREFIX32 environment variables
  pointing to a Qt install root will use that instead of the built-in Qt.
2020-08-28 19:06:06 +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 02b7c1bfe5 Update toolwindowmanager to 7974fc8 2020-08-28 19:06:05 +01:00
baldurk 220ee1b3e6 Ensure RDStyle sets application palette properly 2020-08-27 17:57:09 +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 01e05e6d96 Cancel a rename in progress if a different resource is selected 2020-08-17 10:22:23 +01:00
baldurk 2b990bdf46 Remove RightToLeft property that was accidentally added 2020-08-14 19:19:16 +01:00
baldurk e7657f6212 Use QTextBoundaryFinder to truncate resource names 2020-08-14 14:58:16 +01:00
baldurk bc3f23e867 Add missing bounds check for 32-bit indices 2020-08-13 11:36:07 +01:00
baldurk aac929af8f Go back to reporting normalised vertex inputs on GL as SNorm/UNorm
* This is still accurate, what we're missing is "read data as int, then cast to
  float" which is represented by setting 'floatCast' to true. A normalized cast
  or interpret is accurately represented by saying the input is snorm/unorm
  typed.
2020-08-13 10:22:56 +01:00
baldurk d1c9564267 Show float casting and normalising of GL vertex attributes. Closes #2013 2020-08-10 11:19:57 +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 56f1b8c4e8 Fix size clamp being backwards for D3D12 index buffers 2020-07-21 19:57:09 +01:00
baldurk f6babe77fd Handle depth clipping and depth bounds failure separately
* This prevents truly depth-clipped fragments from being wrongly reported as
  other failures like backface culling.
2020-07-20 16:07:36 +01:00
baldurk 5ef45a3576 Apply output mip/slice when selecting a new texture or new drawcall 2020-07-16 20:45:19 +01:00
baldurk 4d6d949f42 Manually check depth test to get per-fragment pass/fail 2020-07-16 20:45:19 +01:00
baldurk 7b191861e8 Don't remove replacement when capture is closing
* There's no need, and this can cause races.
2020-07-16 20:39:25 +01:00
baldurk 08a3d05e71 Explicitly note which modifications in pixel history are unavailable 2020-07-16 20:39:25 +01:00
baldurk 152db57598 Default A8 textures to show the alpha channel only 2020-07-15 11:50:56 +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 a0b3bffda6 Display slices in texture details in GL pipeline state view 2020-07-12 10:52:10 +01:00
baldurk 88591c35fd Collapse large arrays if no dynamic use information is available 2020-07-12 10:52:10 +01:00
baldurk 37612a426d Use non-debug runtime for all builds of the renderdocui stub 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 9f2fdd6d64 Show view in vulkan pipeline state view when significant 2020-07-06 13:27:10 +01:00
baldurk 3f089b0c92 Don't treat binds with 0 stageMask as completely empty
* We can still highlight them as empty the same as we do for insufficiently
  sized constant buffers, but we should display the proper resource contents.
2020-07-06 13:26:49 +01:00
baldurk c10089c94b Invert y display for vulkan with negative viewport height. Closes #1971 2020-07-06 11:20:23 +01:00
baldurk 35854957db Add support for VK_EXT_extended_dynamic_state 2020-07-03 15:43:00 +01:00
baldurk dd8c63d13c Don't lock around calling RunCommand(). Closes #1970 2020-07-03 13:02:06 +01:00
baldurk d2557d3966 Fix linux compilation 2020-06-30 21:53:32 +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 dfc82b3bd2 Prevent debugging graphics stages if no drawcall is selected 2020-06-29 18:34:07 +01:00
baldurk ed7d774fd4 Fix crash opening non-buffer-backed unused constant buffers 2020-06-29 13:10:50 +01:00
baldurk ad10f9ac01 Store shader profile in ShaderCompileFlags for D3D 2020-06-19 14:45:44 +01:00
baldurk d4ddb565d0 Add a per-shader debuggable flag to allow finer grained status
* E.g. on D3D12 we can debug DXBC shaders but not DXIL shaders. On vulkan this
  will allow us to have the UI work better when encountering shaders with
  unsupported capabilities or extensions.
2020-06-18 17:22:45 +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 9805c9d662 Fix calculation of index buffer offset. Closes #1948 2020-06-15 15:44:09 +01:00
Steve Karolewics 99bfc41caa Add bounds checks for resources in shader viewer UI 2020-06-12 13:39:50 +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