Commit Graph

10694 Commits

Author SHA1 Message Date
baldurk 94be1b8ce8 Fill shader debug fetch descriptors with dummy contents
* We need to do this to comply with static use, which is considered *before*
  specialization constants have been applied, meaning when we run our gather all
  variants must be valid :(.
2020-04-30 18:15:28 +01:00
baldurk 48451793bb Enable imageCubeArray feature if possible, fallback if not available 2020-04-30 18:12:34 +01:00
baldurk 4bd11e1111 Ensure we have enough descriptors in the pool for debug descriptors 2020-04-30 18:12:34 +01:00
baldurk 408cb10053 Don't create degenerate access chain to load global variable
* This seems like it's legal, but let's not do it anyway just in case.
2020-04-30 18:12:34 +01:00
baldurk 811d6323b0 Fail early if required extension/feature isn't available 2020-04-30 18:12:34 +01:00
Julian Meder 7a6326818c Add support for ID3D12Heap, ID3D12DeviceChild in dx12 OpenSharedHandle
Added support for ID3D12Heap and general ID3D12DeviceChild to ID3D12Device::OpenSharedHandle hook.
2020-04-30 18:12:22 +01:00
baldurk e8f3c547be Add fallback to remove queue priorities if device creation fails 2020-04-29 22:12:12 +01:00
baldurk 54abdc3d14 Fix racy cross-thread access to target control connection. Closes #1857 2020-04-29 18:48:51 +01:00
baldurk c02675bcd0 Fix incorrect reflection for 1,1,1 group size compute shaders 2020-04-29 18:48:51 +01:00
baldurk 26aa7fbb1e Fix handling of pointers into matrix columns 2020-04-29 18:48:51 +01:00
baldurk 2865fe101d Deduplicate resource accesses by binding not by name
* For D3D this should be equivalent since name == bindpoint, but for SPIR-V this
  prevents the same binding being loaded into multiple SSA variables from being
  added every time.
2020-04-29 18:48:51 +01:00
baldurk fe882fe872 Default to debug variables panel if there's no high-level debug info 2020-04-29 18:48:50 +01:00
baldurk 1da60805e0 Allow source variable mappings to point to the root of a complex type
* For vulkan debugging where high-level variables are not scattered amongst
  vectors, there's no point in having the whole tree expanded for source mapping
  struct-to-struct or array-to-array.
2020-04-29 18:48:50 +01:00
baldurk ff07c88a65 Simplify tracking & allocation of pointers 2020-04-29 18:48:50 +01:00
baldurk 75befa30d8 Support workgroup private variables in debugging
* We don't simulate other threads so this will be similar to groupshared on
  D3D11 which doesn't have accurate contents.
2020-04-29 18:48:50 +01:00
baldurk 2eaeb96799 Add UI to vulkan pipeline state viewer to allow compute debugging 2020-04-29 18:48:50 +01:00
Aliya Pazylbekova 2cb546686b Vk Pixel History: multi sampled colour
Colour only, depth/stencil copy not supported.
This means that we only report pre-mod and post-mod colour values for
events. Since stencil copy is not supported, number of fragments is
not reported, and shader output is not queried.
2020-04-29 18:48:37 +01:00
baldurk ccab431cd1 Re-enable some warnings in glslang that have been fixed 2020-04-28 18:15:34 +01:00
baldurk b0aaae0a8a Update glslang to 8.13.3743. Closes #1851 2020-04-28 18:15:34 +01:00
baldurk 7ef7afc6c6 Fix warning with clang 10 2020-04-28 18:15:34 +01:00
baldurk 63c1ecd89c Handle vertexOffset properly in mesh decode example. Closes #1852 2020-04-28 18:15:34 +01:00
baldurk 7c265efe2e Configure ShaderConstant descriptor for vertex inputs 2020-04-28 18:15:33 +01:00
baldurk d8835126a5 Implement image & buffer atomic operations 2020-04-28 18:15:33 +01:00
baldurk 80e7e27a9e Fix data type access when accessing scalars in vectors in SSBOs 2020-04-28 18:15:33 +01:00
baldurk 50359b03c9 Be more specific about the 'invalid' bindpoint we want to ignore 2020-04-28 18:15:33 +01:00
baldurk c3c77a469d When resetting replay, don't replay draw multiple times 2020-04-28 18:15:33 +01:00
baldurk 638c27d1b7 Check that derivatives come back as valid
* We check that derivatives are valid by doing ddx() on the pixel co-ordinate
  which should return 1.0. If it doesn't we can't trust the results and it will
  cause problems later. This is a known bug on the current public nvidia release
  branch which is fixed on the developer branch. Once it's fixed on public we
  can have a more user-friendly version number check.
2020-04-28 18:15:33 +01:00
baldurk 7d233f074c Don't launch pixel history on failure if the feature is not supported 2020-04-28 18:15:33 +01:00
baldurk 84a804f95d Set byte strides for error case of buffer formatter 2020-04-28 18:15:33 +01:00
Steve Karolewics ade2325623 Cache resources fetched from the pipe state in the texture viewer 2020-04-28 18:15:20 +01:00
Steve Karolewics 8e988f9045 Eliminate removeIf from barriers that slowed down opening captures 2020-04-28 18:15:20 +01:00
Steve Karolewics f29fe5864e Make RichResourceTextMouseEvent only respond to left button clicks
Previously it prevented context menus from working when activated over
a rich resource text field.
2020-04-27 18:16:46 +01:00
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 745b65b3d2 Fix sampling from cube textures 2020-04-27 17:03:12 +01:00
baldurk 19bb332207 Fix bug in disassembly and debugging of vectorshuffle
* Not all vectors are four components, the indices are relative to the number of
  components each vector has, not always 0-3 and 5-7
2020-04-27 16:19:38 +01:00
baldurk 67c3f4fe25 Add support for accessing arrays of resources 2020-04-27 15:41:12 +01:00
baldurk 89df575d21 Remove decorations on removed IDs 2020-04-27 15:09:55 +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 105f0e4e9f Fix GL handling of matrix parameters to specify :col instead of :row
* In GL matrices are also split column-wise
2020-04-24 20:51:32 +01:00
baldurk 70256217fe Handle diverging/converging control flow in pixel shader 2020-04-24 20:14:48 +01:00
baldurk 320b1cddd4 Fix compilation on stable builds with constant settings 2020-04-24 20:14:48 +01:00
baldurk 267798b240 Add boolean vartype 2020-04-24 20:14:48 +01:00
baldurk 76a866a5c2 Fix vulkan postvs output with components 2020-04-24 20:14:47 +01:00
baldurk 4dc0d799db Add default child name for structs when generating buffer formatter 2020-04-24 20:14:47 +01:00
baldurk 129796e71e Add negative check for bindpoint index 2020-04-24 20:14:47 +01:00
baldurk 38efe4e6e0 SPIR-V matrix I/O parameters are column-major by default 2020-04-24 20:14:47 +01:00
baldurk 068660bb1d Give variables names based on their types
* This is common for constant buffers where the struct type may be named if the
  variable isn't
2020-04-24 20:14:47 +01:00
baldurk 83bbcc5b51 Add support for matrix, struct, component and array pixel inputs 2020-04-24 20:14:47 +01:00