Commit Graph

185 Commits

Author SHA1 Message Date
baldurk eba6f5251c Add success logs when each renderpass segment is verified
* It makes the log easier to read and so we know which part we're at if a pixel
  fails.
2020-09-04 12:51:56 +01:00
baldurk 6de8c53f85 Fix VK_Extended_Dynamic_State 2020-09-04 11:39:10 +01:00
baldurk 0e7bdc4cc7 Fix python call to GetDisassemblyTargets 2020-09-04 10:43:36 +01:00
baldurk 30ecf66cca Fix handling of variable descriptor counts to not allocate maximum size
* We previously ignored the variable descriptor size allowed by descriptor
  indexing,
2020-08-28 19:06:06 +01:00
baldurk 64f98f286e Add test of heavy descriptor reallocation and reuse 2020-08-20 13:48:17 +01:00
baldurk 152170dc58 Fix reference data not being updated at right place after map write 2020-08-10 14:09:36 +01:00
baldurk 7b1995a7ba Properly handle offsets on memory maps in vulkan 2020-08-04 13:59:45 +01:00
baldurk 39431bb83f Don't flush mapped memory in driver for detected coherent memory writes 2020-07-31 17:20:25 +01:00
baldurk 9ce60a0b6e Test that OpenExistingHeapFromAddress can be captured and replayed 2020-07-29 15:39:04 +01:00
baldurk d03acd3b6c Test reading instanced data via client memory pointers in GL 2020-07-29 15:17:45 +01:00
baldurk 624da2fb25 Add test that we don't crash on draws with new viewports 2020-07-27 16:17:13 +01:00
baldurk b540f631ab Don't overwrite idx variable with loop iterator 2020-07-21 19:57:09 +01:00
baldurk f6babe77fd Handle depth clipping and depth bounds failure separately
* This prevents truly depth-clipped fragments from being wrongly reported as
  other failures like backface culling.
2020-07-20 16:07:36 +01:00
baldurk 7a885ae9bd Tweak ISA checks 2020-07-17 16:53:35 +01:00
baldurk 2bc59d1610 Fix mesh checks for extended dynamic state test 2020-07-17 16:53:35 +01:00
baldurk e8b61fbf30 Serialise name in GL program block binding calls, to remap index
* The block index may change between capture and replay, so serialising the
  index alone is unstable similar to locations. Program initial states already
  serialise by name, but if a capture contains a block binding change mid-frame
  this could serialise wrongly.
2020-07-17 16:53:35 +01:00
baldurk 1316dbc65b When iterating captures, don't compare outputs that are uninitialised 2020-07-16 20:45:20 +01:00
baldurk 7ab794ffb3 Update vulkan pixel history test to exercise recent changes 2020-07-16 20:45:20 +01:00
baldurk f49c10bcca Fix tests that got broken by sharing shaders 2020-07-16 20:45:19 +01:00
baldurk 08a3d05e71 Explicitly note which modifications in pixel history are unavailable 2020-07-16 20:39:25 +01:00
baldurk 7927ff2e40 Add tests of shaders that don't use GLSL.450 & have 0 stageFlags binds 2020-07-15 15:34:37 +01:00
baldurk e1f90b4b01 Add test that validation layers and extensions can be captured 2020-07-15 14:11:42 +01:00
baldurk 79e460f3e6 Test that we can change entry point names when editing shaders in vulkan 2020-07-14 17:58:10 +01:00
baldurk 7ebe4e5ac1 Add test that GL state isn't trashed by initial contents or overlay 2020-07-14 17:52:40 +01:00
baldurk a395ec8560 Increase GL_Large_Buffer test to check >2GB buffer 2020-07-14 17:22:01 +01:00
baldurk 02a54be6ad When replaying resource discards fill with explicit pattern. Closes #284
* This helps catches cases where a discarded image is accidentally used and in
  many cases may still have valid data. Particularly on Vulkan this is relevant
  for DONT_CARE renderpass load and store ops.
2020-07-13 17:29:11 +01:00
baldurk 35854957db Add support for VK_EXT_extended_dynamic_state 2020-07-03 15:43:00 +01:00
baldurk ceb20f11cb Make pixel history test more forgiving with comparison epsilon 2020-07-02 15:10:02 +01:00
baldurk aa3fda9baa Fix DXIL check to work on any dxc version 2020-07-02 10:07:42 +01:00
baldurk 46552fa03f Fix VK_Shader_ISA test to work on radv 2020-07-01 18:09:24 +01:00
baldurk ef6439dd47 Add missing vulkan tests on linux demos project 2020-07-01 18:09:24 +01:00
baldurk a0c66317e3 Add test of DXBC and DXIL D3D12 shader reflection 2020-06-19 14:46:00 +01:00
baldurk ab5c527489 Update D3D12 cbuffer test to check DXIL 2020-06-19 14:46:00 +01:00
baldurk d4ddb565d0 Add a per-shader debuggable flag to allow finer grained status
* E.g. on D3D12 we can debug DXBC shaders but not DXIL shaders. On vulkan this
  will allow us to have the UI work better when encountering shaders with
  unsupported capabilities or extensions.
2020-06-18 17:22:45 +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 a0a373a8e1 Fix handling of buffer truncation and zero-sized buffers 2020-05-29 17:26:29 +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
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 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
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
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 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