1032 Commits

Author SHA1 Message Date
Jake Turner 7b1527e3ac Fix release compile error in tests project 2024-01-23 15:28:39 +00:00
baldurk 49c96806b6 Add test of solo numbered semantics to linkage zoo tests 2024-01-23 11:11:14 +00:00
Jake Turner e18ea02a2b D3D12 Pixel History Test add some drawcall stress tests
1000 drawcalls of 1 instance of 1 triangle
1 drawcall of 1000 instances of 1 triangle

Python tests verify the count of modifications is correct, the modifications are self-consistent and the picked texture value matches the final modifications tex after value
2024-01-22 09:39:22 +00:00
Jake Turner b23e9f6b37 SPIRV KHR BDA Tests added to vk_shader_debug_zoo
Load buffer address from push constants as a uvec2 and bitcast to a pointer
Load vec4 from the buffer address pointer
Bitcast uint2 address to a pointer and load from the pointer
OpPtrAccessChain : float[] : ArrayStride 4
OpPtrAccessChain : float[] : ArrayStride 8
OpPtrAccessChain : float[] : ArrayStride 12
Convert u64 address to a pointer and load from the pointer
Convert u64 address to a pointer and back to a u64 address, load from the address
Arithmetic on a u64 address then convert u64 address to a pointer and load from the pointer
Generate a u64 address using arithmetic on two u32 values and load from the address
2024-01-17 08:24:51 +00:00
Jake Turner 932d1b1754 Basic Test for VK_KHR_Buffer_Address
Compare the pixel shader debugger result against the GPU rendered output
Compare the vertex shader debugger results against the postVS output
2024-01-17 08:24:51 +00:00
Jake Turner 8c5cbbecdf Depth overlay tests include a shader with discard 2024-01-11 14:42:25 +00:00
Jake Turner b820a46605 D3D11 Parameter Zoo tests for tiled resource handling
CreateTexture2D(), CreateTexture2D1(), CreateBuffer() should fail
CheckFeatureSupport() with D3D11_FEATURE_DATA_D3D11_OPTIONS1 or D3D11_FEATURE_DATA_D3D11_OPTIONS2 should return D3D11_TILED_RESOURCES_NOT_SUPPORTED
2024-01-09 12:44:14 +00:00
Jake Turner edbcbe53e2 D3D12 Pixel History Simple D16 test 2024-01-09 12:44:14 +00:00
Jake Turner 8b3cfc59eb Tests: SPIR-V Debugger Bitcast tests vector to/from scalar 2024-01-09 12:44:14 +00:00
Jake Turner 8f2c311670 Added parameter test for ID3D11Device2 GetResourceTiling 2024-01-04 14:38:59 +00:00
Jake Turner 93eb160e08 Revert "Update VMA Allocator to v3.0.1"
It is causing more problems than benefits

This reverts commit 6895194805.
2024-01-03 13:34:13 +00:00
Jake Turner a871457172 Disable "nullability-completeness" warning in Tests project 2024-01-03 09:57:26 +00:00
Jake Turner 9dad897802 Enable D3D12 Pixel History Depth Bounds test
Replay code was fixed in 3d5ce05e11
2024-01-02 14:05:00 +00:00
Jake Turner 04856b53c1 Enable D3D12 Pixel History MSAA test
Replay code was fixed in 7e8c22ce68
2024-01-02 14:05:00 +00:00
Jake Turner 902a095c60 Marked GL Pixel History as a slow test 2023-12-31 08:41:23 +00:00
Jake Turner 51ae45420d Extend D3D11 Pixel History tests
Validate that in a fragment event the postMod stencil value should be unknown (-1 or -2)
2023-12-31 08:41:23 +00:00
Jake Turner 0171ee464a Tidyup python logging in GL Pixel History 2023-12-31 08:41:23 +00:00
Jake Turner a70bed751b Extend D3D12 Pixel History tests
Check the post mod stencil at pixel location 110,100
Check the post mod stencil is unknown at pixel location 275, 260 for fragment zero of a multi-fragment event

Validate that in a fragment event the postMod stencil value should be unknown (-1 or -2)
This test validates the code change in 4815adaa83
2023-12-31 08:41:23 +00:00
Jake Turner baa5999582 Extend Vk Pixel History tests
Check the post mod stencil at pixel location 110,100
Check the post mod stencil is unknown at pixel location 275, 260 for fragment zero of a multi-fragment event

Validate that in a fragment event the postMod stencil value should be unknown (-1 or -2)
2023-12-31 08:41:23 +00:00
Jake Turner 6895194805 Update VMA Allocator to v3.0.1
Disabled warnings 4189, 4324 for vk_test.cpp

4189: 'identifier' : local variable is initialized but not referenced

4324: 'struct_name' : structure was padded due to __declspec(align())

because of warnings in vk_mem_alloc.h
2023-12-22 12:53:40 +00:00
Jake Turner 5eb3778b9d Basic test for shader debugger out of bounds matrix lookup 2023-12-19 16:09:31 +00:00
Steve Karolewics 28ce7ac51c Add test for D3D12 pixel history 2023-12-18 07:51:51 +00:00
Jake Turner d33ad62a26 D3D11 Test for discard on Staging and Dyanmic Buffers 2023-12-14 12:28:07 +00:00
Jake Turner 18a28eb8dc SPIR-V shader debug OpSwitch tests
Test with selector and literal of different types "int", "uint", "long", "ulong"
2023-12-13 10:24:47 +00:00
Jake Turner 466cc148cf VK Overlay Test clear a stencil rectangle to one 2023-12-13 10:24:31 +00:00
Jake Turner 33da4ed278 GL Overlay Test clear a stencil rectangle to one 2023-12-12 14:16:06 +00:00
Jake Turner 60cb36e4c5 D3D11 Overlay Test clear a stencil rectangle to one 2023-12-12 14:16:06 +00:00
Jake Turner c09d5a81b6 D3D12 Overlay Test clear a stencil rectangle to one 2023-12-12 14:16:06 +00:00
Jake Turner 3e08b6f451 Depth overlay test check pixels outside the drawcall are black 2023-12-12 14:16:06 +00:00
baldurk f8bbe1ed4f 32-bit compile fixes for demos project 2023-12-11 11:00:12 +00:00
Dan Hawson 442b48bb77 Mesh exploder
New 'Exploded' visualisation mode in BufferViewer with new exploder controls
hidden when not in 'Exploded' mode.

Change 'solidShading' and 'solidShadeMode' to 'visualisation' and
'visualisationMode'.

Hide the 'highlightVerts' widget when using 'Exploded' vis for both
real-estate and practical implementation reasons.
2023-12-09 11:40:30 +00:00
Jake Turner dd0c888d11 Extend Overlay tests to include shader exported depth scenario 2023-12-05 15:26:57 +00:00
baldurk 32e1f62199 Give overlay test reasonable epsilons to account for shift 2023-12-01 11:59:14 +00:00
baldurk 559a129d2c Fix vertex linking in GL_Mesh_Zoo to write to col2 properly 2023-12-01 11:44:44 +00:00
baldurk 0b18cefc5f Specify correct library flag when creating partial pipelines 2023-11-30 14:38:48 +00:00
baldurk 10bdf616a7 Fix memory corruption properly in test 2023-11-30 13:30:00 +00:00
baldurk 01820aad82 Donn't set rasterization state to NULL for pre-rasterization shaders 2023-11-30 13:29:59 +00:00
baldurk ae969dfdd5 Fix spirv-plugins build scripts 2023-11-28 13:24:30 +00:00
baldurk 65a13b1a6d Fix memory corruption in VK_Parameter_Zoo test 2023-11-28 12:04:26 +00:00
baldurk 9e79ba3416 Fix DXIL patching for quad overdraw
* Also tweak the test output to be more organised
2023-11-20 18:17:51 +00:00
baldurk 0d9ea809dd Fix some test failures by consistently stripping gl_PerVertex_Var prefix 2023-11-17 18:47:47 +00:00
baldurk d9fd975138 Add a test of unmapping read-only persistent buffers on GL 2023-11-15 14:51:04 +00:00
William Pearson 9cf30b190e Fix crash when descriptor update template uses unreferenced layout
It is possible for the VkDescriptorUpdateTemplateCreateInfo to have its
descriptorSetLayout or pipelineLayout be the only reference to the
corresponding object, as vkCmdPushDescriptorSetWithTemplateKHR and
vkUpdateDescriptorSetWithTemplate only require that the actual layout
matches/is compatible with the one used by the template. Before, there
was no dependency from the update template to the layout, so if it was
the sole use of a layout, the layout would not be saved in the capture,
resulting in a crash during playback.

This change also modifies the vk_parameter_zoo to test this case. With
those modifications, the change to vk_descriptor_funcs is required to
prevent the crash. Note that on my machine, I needed to comment out
other parts of vk_parameter_zoo, or else it would crash (even when
not run under renderdoc) due to driver issues.

For reference:

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/vkCmdPushDescriptorSetWithTemplateKHR.html#VUID-vkCmdPushDescriptorSetWithTemplateKHR-layout-07993
https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/vkUpdateDescriptorSetWithTemplate.html#VUID-vkUpdateDescriptorSetWithTemplate-pData-01685
https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDescriptorUpdateTemplateCreateInfoKHR.html#_members
2023-11-09 10:15:00 +00:00
Dan Hawson 0ff1c66ca7 Removed demos project reference to '.clang-format' file
This was added by mistake in an earlier commit.
2023-11-08 15:25:36 +00:00
Dan Hawson 910f1dcd7e Add new d3d12_multi_wait_before_signal.py test
It's currently forcibly disabled via 'check_support' because it's known
to fail due to the fact that the commands are always serialised and
replayed in submission order instead of the order that respects queues
blocked on fence waits that get signalled later from other queues.
2023-11-08 15:25:36 +00:00
Cam Mannett ec408e21c0 Android extra flags not applied on initial CMake generation
CMAKE_CXX_FLAGS was overwritten if not already in the cache (i.e. when first built).  Presumably down to toolchain loading order.
2023-11-07 19:01:04 +00:00
Jake Turner cf004e8ba5 Basic tests for non-zero UNPACK_ROW_LENGTH and glTexImage?D APIs
Covers:
glTexImage1D
glTexImage2D
glTexImage3D
2023-11-06 12:02:50 +00:00
Jake Turner b19665212c Fix demos compile error on Linux & Android 2023-11-05 13:10:53 +00:00
Dan Hawson 7619414b8a Add multi-queue wait-before-signal test
This tests submitting commands, signals, and waits to graphics and
multiple compute queues where the entire frame's submission for each
queue depends on the other queues and the submission order is not the
order in which the GPU (and replay) need to be processed.  This is to
ensure any capture or replaying deserialises adequately.
2023-11-03 10:46:42 +00:00
Dan Hawson fb02202505 New D3D12BufferCreator and D3D12TextureCreator state setters
Added 'D3D12BufferCreator::InitialState(D3D12_RESOURCE_STATES)' to allow
user code to avoid adding unnecessary transition barriers after resource
creation.

Added 'D3D12TextureCreator::ClearVal(const D3D12_CLEAR_VALUE &)' to avoid
a PIX performance warning/tip about clearing resources that haven't had
their clear value set on creation.
2023-11-03 10:46:42 +00:00