Commit Graph

564 Commits

Author SHA1 Message Date
baldurk d49d31fa86 Switch from travis/appveyor to github actions for CI 2020-06-11 22:42:44 +01:00
baldurk d1f4a47cd5 Add a load of MSBuild nonsense to *avoid* targeting a specific Win SDK
* Even though we don't care about the windows SDK version at all, we actively
  need to avoid the default which actively sabotages us.
2020-06-11 20:05:03 +01:00
baldurk 46a6515356 Handle normalisation of sampled stencil values 2020-06-08 17:09:24 +01:00
baldurk 4add5bfbf5 Don't make failure to debug a fatal error
* On vulkan for example not all shaders can currently be debugged
2020-06-05 17:35:36 +01:00
baldurk ae38a10299 Fix Iter_Test 2020-06-01 21:54:43 +01:00
baldurk 4a5bd147e1 Fix Draw_Zoo tests 2020-06-01 21:54:43 +01:00
baldurk a0a373a8e1 Fix handling of buffer truncation and zero-sized buffers 2020-05-29 17:26:29 +01:00
baldurk 1cd32d3f61 Implement support for VK_EXT_robustness2 2020-05-28 15:54:36 +01:00
baldurk abb959e1fd Handle array textures and multiview properly in overlays. Closes #1895 2020-05-27 22:38:23 +01:00
baldurk 82e9228ace Add support for VK_EXT_custom_border_color 2020-05-27 22:38:04 +01:00
baldurk 3b28df0543 Add helper for uploading data into an image 2020-05-27 22:38:04 +01:00
baldurk ff62ab501c Add helpers for creating samplers 2020-05-27 22:38:04 +01:00
Aliya Pazylbekova 0fd3d65a6f Vk Pixel History: support other depth formats MSAA
- Separate the pixel history copy pixel shader into two separate
  shaders, one for colour copy and one for depth
- Allocate and update descriptor sets on demand
- Add another compute shader for pixel history depth copy
2020-05-26 21:19:55 +01:00
baldurk 7c9c27e9ce Keep buffer device address buffers and memories alive during capture
* If we don't do this, the application could create a buffer/memory and use it
  then destroy it and create another one in the same capture. The driver could
  assign the same opaque capture address to both buffers even though they
  "overlap" in the capture because they don't overlap in actual execution.
* Slightly artificially extending the life of the resource to the end of the
  capture ensures the driver gives them non-overlapping device addresses.
2020-05-26 14:18:27 +01:00
baldurk d71dadda9d Update vulkan headers to 1.2.141 2020-05-21 17:53:37 +01:00
baldurk b468be50d3 Update build process for SPIR-V plugins 2020-05-21 17:53:37 +01:00
Aliya Pazylbekova 50438987df Vk Pixel History: depth images history
Add support for requesting pixel history for depth/stencil images.
Also, adjust which index is used to patch primitive ID and fixed
fragment color shaders. Before it was using the index of the target
image in the framebuffer attachments. But it should be the index of the
corresponding color attachment.
Add support for other depth/stencil formats (other than D32_SFLOAT).
Remember the depth/stencil attachment format to correctly update the
values.
2020-05-21 17:53:21 +01:00
baldurk cb0754969f Compare UInt/SInt values appropriately when checking debugged outputs 2020-05-20 11:20:30 +01:00
baldurk 47f2fa8b93 Don't apply restart index if primitive restart is disabled 2020-05-20 11:20:13 +01:00
baldurk c93d92467d Be more forgiving with D/S sampling output 2020-05-20 11:03:55 +01:00
baldurk 43b6f850d9 Fix sincos output on D3D12 shader debugging 2020-05-20 10:51:23 +01:00
baldurk 2b1b8bedf0 Print test runner output when running out-of-process 2020-05-18 16:58:23 +01:00
baldurk f622ac36d6 Standardise layout of packed texture formats on disk/network
* We preserve each API's interpretation of bit order for packed formats like
  RGBA4 or R5G6B5 when displaying the raw data in the UI, but when we need to
  proxy it or save to disk, we always transform to D3D's order as standard.
* This allows us to proxy them reliably because we always have a standard bit
  order and APIs that need a different order transform when fetching data to the
  standard format, or setting proxy data from the standard format.
2020-05-18 13:21:55 +01:00
baldurk e37c420263 Avoid EXT_direct_state_access VAO funcs for better compatibility 2020-05-15 19:03:27 +01:00
baldurk 78335f7d00 Fix calculation of array stride on structs in D3D
# Conflicts:
#	util/test/tests/GL/GL_CBuffer_Zoo.py
2020-05-13 18:07:26 +01:00
baldurk 15fa728ab9 Fix handling of empty structs in D3D 2020-05-13 18:07:26 +01:00
baldurk 01ca197655 Fix tests broken with updated non-remapped postvs index data 2020-05-13 18:07:26 +01:00
baldurk 31b1c0641a Fix debug var lookups in tests for D3D variables 2020-05-13 18:07:26 +01:00
Aliya Pazylbekova 08cf503eea Vk Pixel History: Small fixes + more tests
- For counting the number of fragments, also need to disable the depth
  bounds test, since we are not initializing the depth value currently
- Reset depth to 0.0f for shader out, and set it to always pass. So that
  we can get depth values from just one fragment.
- Initialize premod value for individual fragment events. This is not
  surfaced in the UI, but available from the python API and checked in
  tests.
2020-05-13 18:07:11 +01:00
baldurk bfcc484a7c Add tests of drawcall variants 2020-05-12 19:04:57 +01:00
baldurk 8643b01200 Display type name of other exceptions in failures 2020-05-12 19:04:57 +01:00
baldurk da2af69671 Add support for specifying strip restart value in D3D12 PSOs 2020-05-11 18:04:23 +01:00
baldurk 79c47ff91e Ignore bound index buffer for non-indexed draws, apply vertexOffset 2020-05-11 18:04:22 +01:00
baldurk b8f83fca4c Add helper for blitting to swapchain in demos
* This isn't needed for testing but it's convenient to get simple window output
  even when we need to be writing to an F32 target
2020-05-11 18:04:22 +01:00
Steve Karolewics f9b86f3a82 Fix broken D3D shader linkage test cases
The rules for merging semantics into an array were not strict enough.
If either the type, interpolation mode, or size is different, or if it
is not using a register's x component, then we can't combine it. Also,
the rules for marking a semantic as array length 1 were too strict,
resulting in some semantics packing into other registers incorrectly.
2020-05-11 18:04:10 +01:00
Steve Karolewics 4c7f30e690 Created a D3D11 version of the shader linkage zoo test 2020-05-11 18:04:10 +01:00
baldurk 7ddc24e13d Force on dynamic states we want in pixel history, to simplify handling
* This also fixes a case where pipelines with dynamic stencil masks wouldn't
  have the masks properly set for stencil counting and we wouldn't get shader
  output properly.
2020-05-08 20:43:25 +01:00
baldurk 3effd6b7fe Add copy operator for VkGraphicsPipelineCreateInfo helper 2020-05-08 20:43:25 +01:00
baldurk 36bae2b792 Mark secondaries as submitted so we don't leak secondary command buffers 2020-05-08 20:43:25 +01:00
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