Commit Graph

10679 Commits

Author SHA1 Message Date
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
baldurk 94e34534db Fix loading from matrix column pointer 2020-04-24 20:14:47 +01:00
baldurk 4da3238bfa Build our own shaderc since the vulkan SDK's is no longer static 2020-04-24 20:14:47 +01:00
baldurk 7560960a9d Use deterministic filenames for shader compilation 2020-04-24 20:14:47 +01:00
Aliya Pazylbekova 8edcccd1a7 Vk Pixel history: Refactor parameters for callbacks 2020-04-24 20:14:28 +01:00
baldurk c679610b12 Zero-initialise specialization constant data 2020-04-24 10:26:55 +01:00
Aliya Pazylbekova f8c5c2878b Vk pixel history: unbound fragment shader
Add support for unbound fragment shader.
2020-04-23 22:27:50 +01:00
baldurk 727ddfc672 Fix clang compilation 2020-04-23 19:48:38 +01:00
baldurk ffe8f54151 Fix size query for texel buffers 2020-04-23 19:14:09 +01:00
baldurk 92e04417d5 Add support for storage image load/store 2020-04-23 19:14:09 +01:00
baldurk 97665b2c30 Display resources in shader viewer tooltips properly 2020-04-23 19:14:09 +01:00
baldurk 9b9a7abb47 Don't cache PS inputs pipeline that varies often 2020-04-23 19:14:09 +01:00
baldurk 914268333d Ensure pipeline cache data actually reaches the driver 2020-04-23 19:14:09 +01:00
baldurk 18713f644e Implement OpImageQueryLod by faking derivatives on sample quad 2020-04-23 19:14:09 +01:00
baldurk 0a78a65ec2 Add explicit handling for all remaining unimplemented opcodes
* Some will have to be supported because they're not optional, some more are
  planned but are currently behind unsupported capabilities, and some are
  extensions that will probably never be implemented.
2020-04-23 19:14:08 +01:00
baldurk 76b21f7d8c Check that SPIR-V version and extensions are supported before tracing 2020-04-23 19:14:08 +01:00