Commit Graph

157 Commits

Author SHA1 Message Date
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
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 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
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 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
Aliya Pazylbekova f8c5c2878b Vk pixel history: unbound fragment shader
Add support for unbound fragment shader.
2020-04-23 22:27:50 +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 b35de95602 Fix python3 warning about use of 'is not' for literal comparison 2020-04-22 14:02:19 +01:00
baldurk e3d2852080 Add test of large query pools on vulkan 2020-04-21 17:09:33 +01:00
Aliya Pazylbekova 772905c4d3 Basic Vulkan pixel history test
+ a small pixel history fix for figuring out if depth test failed
- the test demo is based on overlay demo, with a few modifications so
  far: added a draw that will fail on culling, added shader discard for
  any pixel with x = 150
- tests some basic failed tests: stencil, depth, culling, shader discard
2020-04-14 23:06:28 +01:00
baldurk 3a6e13e902 Don't run vulkan shader debugging tests if debugging isn't available 2020-04-08 18:39:03 +01:00
baldurk 1d64fffd42 Add tests of new operations in SPIR-V ASM 2020-04-07 23:21:17 +01:00
baldurk 38abf04909 Set up python script to run VK shader debug tests
* Since we expect many more tests it also runs the test texture in a 2D grid
  with N drawcalls
2020-04-07 17:43:30 +01:00
baldurk feafbde8bc Add GL hack to check for implicit thread switching
* This is a very big blunt hammer for fixing the problem of multithreaded
  submission from GL. Every GL call checks to see if the context changed (which
  would only happen from a thread switch to a different context) and if detected
  it inserts a manual MakeCurrent call equivalent.
* It's slow to capture (when this happens - checking is not particularly slow)
  and slow to replay, but it's functional which is an improvement.
2020-04-02 18:15:44 +01:00
baldurk 59f06a12f0 Fix crashes with indirect count draws in secondary command buffers
* We need to patch the event count in both primary and secondary command buffers
  in this case
2020-03-19 17:16:19 +00:00
baldurk ac77b7899d Remove VK_Indirect use of image comparisons 2020-03-19 17:16:19 +00:00
baldurk cd674539fd Change shader debugging tests to check at runtime if it's available
* The config values can be loaded in the tests now.
2020-03-18 17:34:59 +00:00
baldurk d408f77241 Add configuration system for core renderdoc module
* This allows persistent config storage and registering tweak variables that
  works independent of the UI's configuration.
* Config vars can be debug only, which means they will be compiled out in stable
  version releases. This allows for debug-logging tweaks that are available in
  all builds (including nightly builds) for diagnostic purposes, but have zero
  overhead in stable releases.
* Variables have a loose hierarchy defined with _ or . to separate nodes.
2020-03-18 17:34:59 +00:00
Steve Karolewics 67447b7b7e Improve handling of resource arrays for D3D12
When getting read only resources from the pipe state, stitch back up
according to the bindpoint mappings. When displaying resources in UI,
don't traverse unbounded arrays. Fix resource swizzle on load/sample/
gather instructions, which happens on fetch result, not on the source
operand. Added more tests for unbounded arrays and different ways to
index into arrays.
2020-03-16 20:01:30 +00:00
baldurk 40611a3dde Test subresource rendering in overlay tests, remove png comparisons 2020-03-12 16:51:19 +00:00
baldurk b392c07d83 Add tests that use large vertex buffers 2020-03-11 18:00:53 +00:00
Steve Karolewics c74edcebbd Fix array resource indexing with NonUniformResourceIndex 2020-03-11 18:00:31 +00:00
baldurk c6a1a23adb Remove mismatched end_section when skipping unsupported capture 2020-03-06 17:56:28 +00:00