Commit Graph

525 Commits

Author SHA1 Message Date
baldurk c8c5eca0a9 Fix typo in shader debug zoo test 2020-05-08 20:43:25 +01:00
baldurk 33eb7cf694 Enable indexTypeUint8 feature properly 2020-05-08 20:43:25 +01:00
baldurk d0385567bf Fix tests referring to SigParameter.compType 2020-05-08 20:43:25 +01:00
baldurk 90c10ea1fc Handle boolean inputs in vulkan shader parameters
* We change to use VarType instead of CompType for signature parameters which
  allows us to represent different types of variables beyond just
  unsigned/signed integer and float.
2020-05-07 22:46:41 +01:00
baldurk ec0cb41c17 Fix vulkan tests looking for old variable name 2020-05-07 12:36:25 +01:00
Aliya Pazylbekova 41b911d1d0 Vk Pixel History: MSAA depth/stencil copy, shader out
Use a separate compute shader module for MSAA copy, and output
directly into the destination buffer instead of creating
staging resources.

Support case where there is no depth stencil attachment to get post mod
values in per fragment reporting. Previously used the original
framebuffer that might not have had depth/stencil view, so couldn't
count the fragments. Now use the sub image.

To get the post mod color, we need to blend with the premod color, so
we use vkCmdCopyImage to copy from the original image.
2020-05-06 19:35:25 +01:00
baldurk a04e2d3517 Try to improve scoping of variable source mappings with no scope info 2020-05-05 19:36:45 +01:00
baldurk bc3b6b9d6c Improve disassembly of continue/break in loops and switches 2020-05-05 17:36:16 +01:00
baldurk 646bb736fa Fix problem if the uninitialised variable value is NaN 2020-05-05 16:24:27 +01:00
baldurk 84fc7f7950 Fix handling of dynamic buffer offsets in non-debugged stages 2020-05-05 16:24:12 +01:00
Steve Karolewics f312dbba08 Add a D3D12 test for various VS/PS shader linkage scenarios
Fixed a bug that this new test uncovered. There are still several
draw calls that fail in this test, which can be fixed in future changes
2020-05-04 18:44:56 +01:00
baldurk d7a4475c9c OpConvertFToU for negative input is undefined, don't test it 2020-04-30 19:41:52 +01:00
baldurk 38058fadac Add some OpPhi tests 2020-04-30 18:15:29 +01:00
baldurk 4b45c6be96 Handle naming structs properly 2020-04-30 18:15:29 +01:00
baldurk 98f0a926b8 Make sections of SPIR-V asm global so tests can append to them 2020-04-30 18:15:29 +01:00
baldurk e1a7349b9c Support variable initialisers
* We also set uninitialized variables to 0xcccccccc to make it clearer that they
  are invalid.
2020-04-30 18:15:29 +01:00
baldurk d9a189425c Don't override RGP setting in RGP tests 2020-04-30 18:15:29 +01:00
baldurk 47bf8adccd Fix case of VK_Pixel_History file 2020-04-30 18:15:29 +01:00
baldurk f6ec10659d Tighten up comparisons in Resource_Lifetimes tests 2020-04-30 18:15:28 +01:00
baldurk fc3980b610 Fix GL_Vertex_Attr_Zoo test 2020-04-30 18:15:28 +01:00
baldurk 0b3b026fdb Fix VK_CBuffer_Zoo test 2020-04-30 18:15:28 +01:00
baldurk 9c0423506d Don't test timeline semaphore if it's not supported 2020-04-30 18:15:28 +01:00
baldurk fb72ecc97d Add fallback to disable descriptor-heavy parts of shader debug test 2020-04-30 18:15:28 +01:00
baldurk 20e17a3f20 Add a configurable timeout when running demos program 2020-04-30 18:15:28 +01:00
baldurk 811d6323b0 Fail early if required extension/feature isn't available 2020-04-30 18:12:34 +01:00
baldurk 26aa7fbb1e Fix handling of pointers into matrix columns 2020-04-29 18:48:51 +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 d8835126a5 Implement image & buffer atomic operations 2020-04-28 18:15:33 +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 70256217fe Handle diverging/converging control flow in pixel shader 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 38efe4e6e0 SPIR-V matrix I/O parameters are column-major by default 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 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 f8c5c2878b Vk pixel history: unbound fragment shader
Add support for unbound fragment shader.
2020-04-23 22:27:50 +01:00
baldurk 92e04417d5 Add support for storage image load/store 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 925b177bad Support Proj sampling variants with manual q divide 2020-04-23 19:14:08 +01:00
baldurk f506dcf395 Add support for storage buffer access 2020-04-23 19:14:08 +01:00
Aliya Pazylbekova f63dd71221 Vulkan Pixel History: secondary command buffers
Also:
- support for choosing mip level and slice
- tests for secondary command buffers
- adds a callback around vkCmdExecuteCommands
- refactors pixel history occlusion callback into its own
callback. Allows processing fewer events later on, and getting colour
information separately.
- keep track of subpassContents for vkCmdBeginRenderPass (inline or
  secondary)
2020-04-23 19:13:42 +01:00
baldurk 222f28d953 Add support for glsl pack/unpack functions 2020-04-22 20:40:14 +01:00
baldurk b35de95602 Fix python3 warning about use of 'is not' for literal comparison 2020-04-22 14:02:19 +01:00
baldurk 6a6c86139b Don't test mod/rem operations with negative operands
* This is undefined in vulkan
2020-04-21 19:14:41 +01:00
baldurk e3d2852080 Add test of large query pools on vulkan 2020-04-21 17:09:33 +01:00
baldurk 3ef67d6647 Test passing NULL in object names/labels 2020-04-21 17:09:33 +01:00
baldurk 9accb4033b Test push constant range that applies to vertex and fragment stages 2020-04-21 17:09:33 +01:00