Commit Graph

1223 Commits

Author SHA1 Message Date
Steve Karolewics 08d1189d99 Give ShaderViewer its own copy of bindpoint mappings
Previously this data was a reference to the current pipeline state, so
when the selected event changed, the ShaderViewer's bindpoint mappings
would be inaccurate.
2020-04-27 18:16:46 +01:00
Steve Karolewics 2c4f2a57a8 Add resource tracking to DXBC shader debugging
When a resource is accessed, it is now tracked by the debug step. The
shader viewer has a new panel to display resources accessed up to the
current step, with context menus to go to previous/next access of a
specific resource.
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 a7b4fe9167 Don't clamp length against buffer size after applying offset
* If we have a given view length that fits in the buffer, we shouldn't apply the
  offset before clamping. Instead we apply the offset on the buffer length if
  that's what we're using as our size.
2020-04-27 13:03:47 +01:00
baldurk 267798b240 Add boolean vartype 2020-04-24 20:14:48 +01:00
baldurk 97665b2c30 Display resources in shader viewer tooltips properly 2020-04-23 19:14:09 +01:00
baldurk aae3a75f6e Add newly added variables to start of variables list
* But all variables added in a single step still remain in the order they're
  reported in as changes.
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
baldurk 068f4998c7 Fix buffer viewer export to handle pagination. Closes #1837 2020-04-21 17:09:32 +01:00
baldurk a3dc3dde2b Use mesh property format when displaying secondary data in buffer view 2020-04-21 17:09:32 +01:00
baldurk f2d69e9f9e Fix handling of ResourceMinLODClamp for cubemap textures on D3D12 2020-04-20 11:05:40 +01:00
baldurk 2980742a3a Add wrapper struct TextureSwizzle4 to be more swig-friendly
* Swig doesn't like having fixed C arrays of enums, so wrap it in a struct to
  make it more clear.
2020-04-17 16:53:54 +01:00
baldurk 1ec3320e99 Don't bounds check instruction numbers against disassembly line count 2020-04-17 16:52:35 +01:00
cperthuisoc 0df63aa8d0 Added system packages as hidden folders in the Executable Path dialog
android-only change
2020-04-16 18:18:52 +01:00
baldurk 44f46b6ae9 Clamp buffer offset for mesh view input
* If the calculated offset is larger than the buffer size we should be sure to
  clamp it.
2020-04-15 20:33:57 +01:00
baldurk 8e082ae109 Preserve order when combining structures in shader viewer 2020-04-14 18:25:18 +01:00
baldurk 410df92bd7 Add function to connect to a remote host from python 2020-04-13 13:19:09 +01:00
baldurk 97c7dd681f Add global samplers array to shader debug trace 2020-04-09 18:36:12 +01:00
baldurk 47dedaf8c5 Support shader variables that refer to resource bindings 2020-04-09 18:36:12 +01:00
baldurk 59c3a2fbd9 Implement matrix multiplication with matrix/vector/scalar 2020-04-08 18:39:02 +01:00
Steve Karolewics 1137c4694c Make D3D12Pipe root element centric instead of shader centric
D3D12Pipe now stores an array of root elements, each one corresponding
to a root element or range in the root signature. Migrated usage in the
D3D12 pipeline state viewer and PipeState retrieval of resources.
Restricted number of resource array textures displayed in the texture
viewer to prevent app hangs.
2020-04-08 18:38:38 +01:00
Daniel Craig fc63964335 Show correct clear/CopyDst/CopySrc subresource in texture viewer
This is implemented and tested on vulkan/d3d12/d3d11.
2020-04-06 20:12:05 +01:00
baldurk 2bb278b9fd Highlight stale/unrecognised settings in the config editor 2020-04-03 15:19:28 +01:00
baldurk 9ba81634b4 Improve the title of shader edit windows 2020-04-03 15:19:28 +01:00
baldurk 590785c470 Mark edited resources with an (Edited) suffix on their names 2020-04-03 15:19:28 +01:00
baldurk 27f2a4b7f9 Don't modify states/variables list on replay thread
* Otherwise this can race with the UI thread if it's executing a shortcut.
2020-03-30 21:47:39 +01:00
baldurk 3ec60fcde1 Don't crash on config settings with no key
* This can happen if the config setting is unrecognised but loaded from the
  config file anyway.
2020-03-30 21:47:39 +01:00
baldurk e6a9632d81 Do not allow non-absolute paths when saving textures. Closes #1795 2020-03-30 21:47:24 +01:00
baldurk a9e1c46e46 Fix crash if some settings aren't available e.g. due to the platform 2020-03-23 11:00:01 +00:00
baldurk c52e1a46d1 Add missing vulkanlayer register parameter on linux 2020-03-23 10:51:24 +00:00
baldurk 04f90e055d Protect against empty traces in shader viewer 2020-03-20 16:16:51 +00:00
baldurk 7542482ffb Fix missing Qt header 2020-03-19 09:25:47 +00:00
baldurk 3bb57bfed7 Support input source vars referencing complex struct type debug vars 2020-03-18 17:34:59 +00:00
baldurk d408f77241 Add configuration system for core renderdoc module
* This allows persistent config storage and registering tweak variables that
  works independent of the UI's configuration.
* Config vars can be debug only, which means they will be compiled out in stable
  version releases. This allows for debug-logging tweaks that are available in
  all builds (including nightly builds) for diagnostic purposes, but have zero
  overhead in stable releases.
* Variables have a loose hierarchy defined with _ or . to separate nodes.
2020-03-18 17:34:59 +00:00
baldurk cc64061172 Fix issues with paging in raw buffer viewer 2020-03-16 20:01:47 +00:00
Steve Karolewics 67447b7b7e Improve handling of resource arrays for D3D12
When getting read only resources from the pipe state, stitch back up
according to the bindpoint mappings. When displaying resources in UI,
don't traverse unbounded arrays. Fix resource swizzle on load/sample/
gather instructions, which happens on fetch result, not on the source
operand. Added more tests for unbounded arrays and different ways to
index into arrays.
2020-03-16 20:01:30 +00:00
baldurk 4f39279578 When opening a texture in raw buffer viewer, scroll to selected point 2020-03-13 18:00:34 +00:00
baldurk 954e29df9e Fix handling of overlays when rendering to mips
* Also removes some unnecessary variations in behaviour between APIs
2020-03-12 15:42:54 +00:00
baldurk 208a023f12 Fix buffer viewer pagination, allow row offset updates to change page 2020-03-11 18:00:53 +00:00
baldurk 936e6372cb Remove use of 3rdparty/ prefix from includes
* We instead always have 3rdparty/ in the relevant include search paths and rely
  on that. Each library still has its own unique base dir within 3rdparty to
  clarify where the include is coming from.
2020-03-11 18:00:53 +00:00
baldurk f23d86fb6b Use shader encoding when saving shaders to disk 2020-03-06 17:56:27 +00:00
baldurk a18716e63d Fix crash if no drawcall is selected when exporting pipeline state 2020-03-05 11:15:48 +00:00
baldurk 6579dfc666 Add protection against target control connection dropping immediately 2020-03-05 10:39:36 +00:00
baldurk e22ed4b877 Fix handling of component swizzle display in cbuffer. Closes #1754 2020-03-04 19:12:24 +00:00
baldurk 175f71beb1 Always combine structures even with only one child
* This means that foo.bar.baz will still have a hierarchy created even if each
  level only has one child.
2020-03-02 17:37:23 +00:00
baldurk ce58f991f0 Apple compile fix 2020-02-25 19:06:58 +00:00
baldurk 4703012a87 Add pagination for very large range buffer viewers 2020-02-25 18:19:52 +00:00
baldurk a2b437b903 Change Find/Replace dialog to have Find Next/Find Previous buttons
* Enter and shift-enter in the find text go forwarwd and backwards respectively.
* This replaces the previous system of selecting a direction explicitly and only
  ever going in that direction when finding.
2020-02-25 18:19:52 +00:00
baldurk 66931b146a Remove extra margin on replay settings tab 2020-02-24 18:10:56 +00:00
baldurk fd14205d40 Don't refresh current event every ContinueDebug 2020-02-24 18:10:56 +00:00