Commit Graph

1304 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 56f82f6bf1 Optimise UI for large descriptor arrays with few dynamically used binds
* We tune the pipeline state view and texture viewer to only iterate over a
  small list of dynamically used binds in the (vastly more common) case where
  unused binds are not being shown.
2020-09-03 18:09:47 +01:00
baldurk ec023ac660 Avoid unnecessary re-layouts when populating thumbnails 2020-09-03 18:07:47 +01:00
baldurk c39a0bae5f Re-jig Following to hold a reference to TextureViewer
* This simplifies the code flow because we can be sure that we always have
  cached read-only/read-write resources (this was true before, but now it's
  clear).
2020-09-03 18:07:47 +01:00
baldurk 3ac8746b01 Auto-size log view columns by hand
* Using the auto-resizing mode of RDHeaderView resizes based on the whole column
  every time, which is wasteful when only a few lines are added to a large log.
2020-09-03 17:45:41 +01:00
baldurk d71d275dc4 Don't re-read entire logfile every time, only read from last position 2020-09-03 17:45:41 +01:00
baldurk da0c836aef Cache bufferviewer column width calculation 2020-09-03 17:26:48 +01:00
baldurk 83f7a26ee9 Query which shader disassembly formats require a pipeline
* This allows us to be a bit more friendly in the UI when we don't have a
  particular pipeline associated with a shader.
2020-09-01 14:03:59 +01:00
baldurk e61794dd88 Don't forcibly change tab in texture viewer when one is closed 2020-09-01 10:27:45 +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 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 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 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 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 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 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
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
Philip Rebohle 59282698d6 Add QPainterPath include 2020-06-06 10:44:33 +01:00
baldurk 60b710f24a Fix display of matrices inside source variable-mapped structures 2020-06-05 12:44:38 +01:00
baldurk 88231cbe41 Disable stages in vulkan pipeline state view if raster discard is on 2020-06-04 16:17:31 +01:00
baldurk c451bdc22c Add extra error checking into VirtualFileDialog 2020-06-03 18:41:11 +01:00
windog18 d59147ba9d Fixed hlsl cbuffer variable gen bug 2020-06-03 18:40:49 +01:00
baldurk 7a821c20bd Add custom context menu for all tree views with expand/collapse and copy 2020-05-29 20:09:13 +01:00
baldurk a0a373a8e1 Fix handling of buffer truncation and zero-sized buffers 2020-05-29 17:26:29 +01:00
Daniel Craig 4ad21c4198 Fix HWND resize timing issue
* There was a race condition where the newly created HWND surface could
  be resized during swap chain creation. This causes a
  `VK_ERROR_DEVICE_LOST`, but is very timing dependent.
* The fix was to finish the resize, via `ResourcePreview::setActive()` /
  `QWidget::show()` before scheduling any async functions that could
  create a swapchain, namely `IReplayOutput::AddThumbnail()`.
2020-05-28 23:27:56 +01:00