Commit Graph

1390 Commits

Author SHA1 Message Date
baldurk cfe3374267 Reset invalid state when letting user retry adding a shader tool 2021-03-10 10:43:00 +00:00
baldurk dce2c62bde Fix typo in shader viewer menu item. Closes #2201 2021-03-08 16:45:05 +00:00
baldurk 527c662fb2 Only flip Y co-ordinates in texture viewer when clip origin is default 2021-03-01 11:38:29 +00:00
baldurk d6e88ae4fa Remove redundant callstack member in APIEvent
* We already link to the chunk index and the chunk metadata contains the
  callstack, there's no need for a duplicate copy when there may be many
  APIEvents in a capture
2021-02-24 13:52:07 +00:00
baldurk 728fa34acc Move branch colouring to RDTreeView 2021-02-24 13:52:07 +00:00
baldurk 30dd13feb8 Pull index byte width and topology out of drawcall state
* These are treated as state on most APIs, only GL treats it as a drawcall
  parameter.
2021-02-24 13:52:07 +00:00
baldurk fd14fdbfa8 Add missing column of data to constant buffer array parent 2021-02-22 16:47:21 +00:00
baldurk 0f07545151 Add context menu item for toggling bookmarks on events 2021-02-18 15:41:55 +00:00
baldurk d66133d610 Fix handling of buffer length & offset in buffer viewer
* Previously the length was always being treated as buffer-relative instead of
  offset-relative.
2021-02-15 12:56:21 +00:00
baldurk 907ce48f7a Display message when no vertices or instances are present in drawcall 2021-02-15 12:56:21 +00:00
baldurk 0e86f0e320 Fix overflow setting rowOffset when numRows is 0 2021-02-15 12:56:21 +00:00
baldurk b31d7d94e8 An instanced draw with no instances has no vertices even if numIndices>0
* If we show this with vertex input data in the mesh viewer that's quite
  confusing when the draw is degenerate.
2021-02-15 12:56:21 +00:00
baldurk 218078f75f Identify stencil-only GL framebuffer attachments correctly 2021-02-15 10:30:37 +00:00
baldurk 9290ed926b Display VRS state in D3D12 pipeline state viewer 2021-02-10 14:20:46 +00:00
Mikko Rasa 69661b0cbb Clamp the current event to the actually visible region
The local eidAxisRect has its left edge moved due to panning, so use the
member variable with original values instead.
2021-02-08 11:43:37 +00:00
Mikko Rasa 19eb9bec34 Refactor drawing of lines in TimelineBar
They're now drawn as CE_StyledFrame controls, with either HLine or VLine
shape as appropriate for the orientation of the line.  This will go into
RDStyle when the light or dark UI theme is selected, allowing appropriate
colors to be used.
2021-02-08 11:43:37 +00:00
baldurk 40b86b63fb Update code for new SSL libraries in new Qt version 2021-01-27 17:06:09 +00:00
baldurk 4d16c3e44c Add function to close top level windows to MiniQtHelper 2021-01-27 16:05:03 +00:00
baldurk 3f637e0d9b Link to renderdoc-contrib repository 2021-01-27 12:58:51 +00:00
baldurk 29c5965599 Update some missing entries and comments from custom shader snippets 2021-01-27 12:49:36 +00:00
baldurk e6601672ec Delete net worker when net manager thread completes 2021-01-22 14:57:48 +00:00
baldurk ba06717842 Don't fetch resource lists for unbound shader stages
* This is a minor optimisation when there are large numbers of bound resources
  that are available (duplicated) to all shader stages. There's no point
  fetching them when there's no shader bound there.
2021-01-21 11:30:50 +00:00
baldurk c002c71fe8 Don't display buffers as thumbnails in texture viewer
* This is a holdover from simpler binding times, these days it makes more sense
  to omit buffers than try to hold onto those bindings even when they don't
  contain textures.
2021-01-21 10:43:37 +00:00
baldurk 40f83cfbfd Fix lag in updating texture viewer display when selecting new draws 2021-01-20 17:15:34 +00:00
Marcin Ślusarz 309a08373b Put units in table header instead of each row. 2021-01-20 17:15:16 +00:00
baldurk 3d9bba65c8 Fix resizing issue with vulkan scissors display 2021-01-19 17:39:12 +00:00
baldurk 1fe92989b7 Fix aspect ratio calculation for negative viewport height 2021-01-19 17:10:09 +00:00
baldurk 03db0c480e Fix override warning 2021-01-15 21:40:24 +00:00
baldurk 3d52d5acaf Change window title to reflect development/release builds 2021-01-15 16:50:48 +00:00
baldurk 924c513d70 Fix cases where empty-range ellision in D3D12 pipeline state breaks
* We can't assume ranges in root signature elements map to shader binding
  arrays, there is a many:many relationship (one range can have multiple
  elements, or only part of an array, one array can have multiple ranges).
2021-01-15 14:57:34 +00:00
baldurk 6d1e37de3a Display bind array index in register name on D3D12 pipeline state 2021-01-15 14:14:50 +00:00
baldurk 1ce0958398 Add helper for setting images in labels 2021-01-15 12:36:14 +00:00
baldurk 99725b1dc4 Use devicePixelRatioF to calculate texture viewer coords. Closes #2148 2021-01-14 12:03:07 +00:00
baldurk 026da176bb Update copyright years to 2021 2021-01-13 13:56:10 +00:00
baldurk e970ee0e33 Fix issue with clamped length with byte offset in buffer viewer 2021-01-06 16:58:43 +00:00
baldurk fd1b051d2c Add helper for selecting sample mask, which varies in location by API 2020-12-18 14:05:54 +00:00
baldurk eabc6990b0 Don't try to always read 4 components of data from output. Closes #2119 2020-12-17 22:23:34 +00:00
baldurk 7c35bdb174 Omit large ranges of empty resources in arrays in D3D12 pipeline state 2020-12-17 15:20:50 +00:00
baldurk f3b66b0112 Only refresh texture list if resource renames changed
* Otherwise the texture list doesn't change when selecting events.
2020-12-17 15:20:32 +00:00
baldurk 47571c6b92 CPU writes should be treated as writes in the timeline bar 2020-12-17 12:22:00 +00:00
baldurk 3aaccc4fda Use rdcfixedarray in parameters for functions instead of C arrays
* This maps better to tuples in python
2020-12-15 22:52:38 +00:00
baldurk f32008e95f Add access for changing the 3D preview stage in mesh viewer 2020-12-15 22:52:37 +00:00
baldurk 8107a7a795 Account for array stride when unrolling AoS in buffer viewer 2020-12-09 18:16:08 +00:00
baldurk 7ff7e0a71d Replace fixed C arrays with wrapper class in public interface
* These map more naturally to python tuples and are easier to wrap in and out.
* We also tidy up the FloatVecVal etc and standardise the members of
  ShaderValue.
2020-12-09 18:16:08 +00:00
baldurk 659fdaa235 Check that all complex struct members that have :type: in docstrings
* Ideally we'd document every member unconditionally for best autocompletion,
  but that's a lot of modification so for now we stick to just making sure that
  any members that are struct types (or lists/tuples) have the :type:
  declaration so that we can autocomplete inside them.
2020-12-09 15:18:27 +00:00
baldurk 6b8ce92d88 Clean up docstrings in python interfaces to be strictly typed/formatted
* Also added a script that can run as part of CI to verify that the docstring
  matches, by generating a regex from the docstring documented parameter types
  and return type and making sure we find a match within the C headers. This
  ensures all parameters are documented with the right types, no extra
  parameters are documented, and the return type is correct.
* The script also checks proper scoping so that if qrenderdoc docstrings
  mention a renderdoc type, they need to scope it properly.
2020-12-07 17:44:51 +00:00
baldurk e5f4ca7bb8 Remove use of const char * in public API and OS specific where possible
* This prevents unnecessary conversions back and forth between rdcstr and const
  char * when going through interfaces. In the OS specific layer this is rarely
  an issue because most of the implementations don't convert to rdcstr, but it
  is convenient to be able to pass in an rdcstr directly. The few cases where
  there's an unecessary construction of an rdcstr is acceptable.
* A couple of places in the public API need to return a string from a global
  function, so can't return an rdcstr due to C ABI, so they still return a const
  char *.
* Similarly const char * is kept for logging, to avoid a dependency on rdcstr
  and because that's one place where unnecessary conversions/constructions may
  be impactful.
2020-12-07 17:44:50 +00:00
baldurk df6fec13f9 Remove use of automodule in docs
* One automodule in a file for our modules is way too much, so we split it into
  files. Unfortunately this means that only one file can have those classes and
  functions be linkable from elsewhere.
* Instead we bite the bullet and manually curate the items into pages, and at
  the same time subdivide the 'enums and data' page more which is a general
  readability and usability win as well.
* We also add some previously not-included functions, and add a doc-build time
  check to ensure that functions and classes aren't omitted from the
  documentation in future
2020-12-07 17:44:50 +00:00
baldurk 0d1f6e3940 Add helper to invoke back onto the UI thread from the replay thread 2020-12-03 14:17:42 +00:00
baldurk a8a40ca3d6 Add the ability to create spacers, for better layouts 2020-12-03 13:24:56 +00:00