Commit Graph

1018 Commits

Author SHA1 Message Date
baldurk e4333291a1 Allow using shader processing tools for custom shaders
* This is primarily useful for HLSL on Vulkan, but could be used with any other
  combination. If multiple tools can perform the conversion, the highest
  priority one is used.
2019-05-22 17:54:10 +01:00
baldurk 694524c7bd Allow querying the shader encoding supported by custom shaders
* This is distinct from target shaders in the remote proxy case - custom shaders
  are built locally.
2019-05-22 16:09:18 +01:00
baldurk 55107a6144 Only display textual shader encodings for shader compile options 2019-05-22 16:08:31 +01:00
baldurk 69e4be52cf Display bounding box data in mesh view camera panel
* This isn't the best place for it but it makes the most sense for now.
2019-05-22 13:57:23 +01:00
baldurk 074070b1cf Only unproject position attributes that output a position. Closes #1363
* If we select a UV attribute to draw as position we don't want to unproject it
  for display, just treat it as we do any normal attribute.
2019-05-22 13:38:20 +01:00
baldurk 467dd5e808 Fix calculation of bounding boxes for non-4 component attributes
* If we only have 3 or 2 components, set the remaining bounding box values to 0
  so they aren't set at +/- FLT_MAX.
2019-05-22 12:40:56 +01:00
baldurk dd77b8a2b6 Fix order-of-operations, update position/secondary columns first
* We need to have the correct position and secondary columns before updating the
  mesh configuration that references them.
2019-05-22 12:40:19 +01:00
baldurk c83a087400 Don't pass negative firstMip/firstSlice
* These can be -1 to indicate that all mips/slices are available - so pass 0 in
  that case.
2019-05-21 13:29:43 +01:00
baldurk 59ad2ebfa2 Clear stream-out state when clearing pipeline state 2019-05-20 14:16:43 +01:00
baldurk 06feec392d Use pipeline base mip/slice binding for texture thumbnails. Closes #1327 2019-05-20 13:13:47 +01:00
baldurk e48065c96b Replace use of std::pair with rdcpair wherever possible
* Only remaining uses in our code is when we're interacting with std::map where
  it uses std::pair internally
2019-05-17 16:32:56 +01:00
baldurk 8edc01c928 Show the object (whether a sampler or the texture) in GL's sampler state 2019-05-17 16:32:55 +01:00
baldurk 51c50e0da3 Localise addressing mode state display for GL
* On GL addressing modes are called wrap modes, and the wrap value is then known
  as repeat. If we don't 'localise' this then it can be confusing to show that
  it is "Wrap".
2019-05-17 16:32:55 +01:00
baldurk 96cc08b960 Rename 'show disabled' button to 'show unused' as it is clearer
* Bindings that are unused aren't disabled - they may in fact be explicitly
  enabled - but they are unused by the pipeline which is why they're hidden.
2019-05-17 16:32:55 +01:00
baldurk c8a518f05c Refactor rdcstr with small-string and literal-string optimisations
* rdcstr no longer inherits from rdcarray, it implements all functionality
  itself.
* There are now three representations:
  - Heap-allocated, same as how rdcarray behaves.
  - Local-allocated, for small strings we store them in a union array.
  - Compile-time literal, only created from user-defined literals.
* The main observation is that a lot of RenderDoc's strings are compile-time
  literals either from struct names, member names, or stringified enum values.
  Storing these directly and allowing them to be moved and copied quickly saves
  on allocations and time. When the string is modified, it's copied to one of the other formats.
2019-05-15 14:12:17 +01:00
baldurk 4520dcbaa2 Adjust offset used in VB string if there was padding bytes 2019-05-10 23:50:32 +01:00
baldurk 53f54ae882 Clear cached updates if the version changes some other way. Closes #1368 2019-05-01 21:11:48 +01:00
baldurk 8ffe33767c Handle UNormSRGB in some places that were missing handling 2019-04-23 16:31:18 +01:00
baldurk b5b3e91ad5 Add a missing gap in the vulkan pipeline export 2019-04-23 15:09:40 +01:00
baldurk e13671a72c Add sanity check for if dock area isn't available while restoring layout 2019-04-22 18:39:53 +01:00
baldurk 11e8bdb209 Display default 'viewed as' for typeless textures. Closes #1351
* Typeless textures must be interpreted as some kind of format, so without a
  better hint we use UNORM as a default. Ensure that this is listed explicitly
2019-04-22 18:39:52 +01:00
baldurk 2eac0ab03c Fix inaccurate tooltip for Android SDK path 2019-04-22 18:39:52 +01:00
baldurk 870d553a38 setPixmap can clear text, when removing pixmap do so before setting text 2019-04-22 18:39:52 +01:00
Wade Brainerd 88cb468350 Fix minor omission in tooltip messages 2019-04-19 01:49:25 -07:00
baldurk 2320bb5391 Pass the right MeshDataStage to HasAlignedPostVSData() 2019-04-12 16:51:35 +01:00
baldurk de37c7d005 Check if the capture is closed while a timing request is pending 2019-04-12 15:11:26 +01:00
baldurk cc43af3aba When dragging the mouse on the timeline bar jump to the nearest draw 2019-04-11 13:29:11 +01:00
baldurk 2ddf3b7adf Auto-fit the WASD camera to the bounding box after switching
* We do the same for the arcball, there's no reason the flycam should default to
  the origin for vertex inputs
2019-04-09 11:09:22 +01:00
baldurk ee76ed7a4c Sanitise []s out of vertex attribute names when opening buffer viewer 2019-04-05 17:16:16 +01:00
baldurk 13c9718858 Preserve expansion when changing events in vulkan pipeline state view 2019-04-05 13:25:28 +01:00
baldurk 4311b35038 Tidy up RDTreeView expansion handling 2019-04-05 13:22:33 +01:00
baldurk f256218e17 Pass bindless feedback data to UI through vulkan pipeline state
* Each binding element within an arrayed descriptor has a bool indicating if
  it's dynamically used or not (which will be set to true if the feedback isn't
  available). Each descriptor has a uint32_t indicating how many elements are
  dynamically used - which is useful for the UI to hide the root of an array
  that has no used elements, or to heuristically decide whether to expand or
  elide the contents.
2019-04-05 09:19:22 +01:00
baldurk 60c92b2d84 Implement support for VK_EXT_depth_clip_enable 2019-04-04 16:23:35 +01:00
baldurk 4319c5c2ab Calculate the slice properly for viewing MSAA textures as buffers 2019-04-03 16:42:41 +01:00
baldurk d519f086e1 Don't fetch resource format name for empty bindings 2019-03-27 17:59:16 +00:00
Wade Brainerd aed614a6aa Improve Vulkan byte range descriptions
Renames the "cont.d" column in the Pipeline State window to
"Additional". This is a less confusing title then the contraction.

Adds a "(VK_WHOLE_SIZE)" annotation after the range if VK_WHOLE_SIZE
was used, and an "(empty view)" annotation if the range is empty.
These annotations are intended to help diagnose incorrectly filled
buffer descriptors.
2019-03-27 04:32:29 -07:00
Wade Brainerd cc0069e72f Fix Vulkan mesh output for tessellated quads
When selecting a draw with a tessellation evaluation shader using
layout(quads), RenderDoc would emit an "Unexpected output topology"
error.

Additional changes:

* Fixes a typo in the VK_EXT_transform_feedback name in various debug
  prints.

* Renames the "GS Out" 3D View tab in the Mesh Viewer to "GS/DS Out",
  to match the corresponding table. This affects all APIs.
2019-03-27 04:31:34 -07:00
Vincent de Marignac f970d42c2c Set bound on right arrow keypress to width 2019-03-25 09:05:13 -07:00
baldurk e2bb45fd8f Restore removed LastCaptureExe saving last exe selected. Closes #1318 2019-03-25 15:12:55 +00:00
baldurk 26d823905e Allow running on Android 5.0 but with a warning that it's unsupported
* The apk targets api level 21 which is 5.0, so it still won't install on
  anything older.
* We pop up a big warning to the user the first time they try and select such a
  remote host.
2019-03-13 22:24:45 +00:00
baldurk 8e8fd8545b Remove orphaned function implementing close button that was removed 2019-03-11 15:07:37 +00:00
baldurk db89f50a30 Rename Mesh Output panel to Mesh Viewer, since it displays inputs too 2019-03-08 15:40:11 +00:00
baldurk 4f66f4f32c Remove close button on 'launch application' panel 2019-03-06 11:25:40 +00:00
baldurk ac91a7e8b4 Delete FindResults scintilla 2019-03-01 13:26:23 +00:00
baldurk 95f07ab6df Add missing deref of buffer data in mesh view 2019-03-01 12:47:29 +00:00
baldurk 301ef89aac Only calculate bounding box data on mesh views 2019-03-01 11:34:15 +00:00
baldurk e23974e2bf Initialise variables that might not be set otherwise before first use 2019-03-01 11:33:05 +00:00
baldurk ac37a592cc Refactor BufferViewer to avoid race conditions
* We now push everything mutable about the draw data configuration into a single
  struct which we copy around (the actual buffer data remains refcounted and not
  copied). This means that we don't have one thread still trying to do things on
  a model which is being updated on another thread.
2019-02-28 17:48:30 +00:00
tuxerr c6edcf9a38 add support for VK_EXT_fragment_density_map 2019-02-28 00:10:03 +00:00
baldurk ec58308207 With GL we can have binding aliasing. Keep searching for a used binding
* If we have multiple bindings aliasing the same slot, we want to keep going if
  the first one we find is unused to see if the slot is aliased with one that
  *is* used. We'll still use the last unused one if we don't find any used at
  all (and with aliasing any one we pick is as valid as another).
2019-02-22 14:10:25 +00:00