baldurk
178b733001
Add helper for loading a shader module from disk in tests
2024-09-09 14:45:30 +01:00
baldurk
01384c4d42
Update vulkan headers to 1.3.288
...
* Add support for VK_KHR_shader_relaxed_extended_instruction which is trivially
supportable
2024-06-24 12:48:13 +01:00
Jake Turner
141354a2a4
Extended VK_KHR_Buffer_Address test to cover #3346
...
One extra draw from GPU memory which doesn't change and is unmapped during the draw loop
2024-06-11 12:05:27 +01:00
baldurk
78e84aa544
Don't crash on empty descriptor sets with no bindings
2024-04-16 20:03:54 +01:00
baldurk
9a18e871e5
Add testing of aliased bindings with descriptor feedback. Refs #3288
2024-04-10 18:58:53 +01:00
baldurk
1dd1ba9ea3
Fix some validation errors in VK_Graphics_Pipeline test
2024-04-02 18:01:17 +01:00
baldurk
525babb868
Add a semaphore per swapchain image
...
* With only a single semaphore we can only have one frame in flight and get
validation layer messages if we run faster than that and re-use the
renderStartSemaphore before the previous frame has completed.
2024-03-18 10:28:36 +00:00
Jake Turner
b36b7cf6b8
Vulkan Multi-view test
...
Vertex shader output Red for view 0, Green for view 1, fragment shader does not use viewIndex.
Fragment shader output Red for view 0, Green for view 1, vertex shader does not use viewIndex.
Geometry shader output Red for view 0, Green for view 1, vertex and fragment shader do not use viewIndex.
Python checks vertex and pixel shader debug output against replay rendering output
2024-03-13 07:58:48 +00:00
Jake Turner
5516f67227
Vk Tests added vkh::RenderPassCreator::next()
2024-03-13 07:58:48 +00:00
baldurk
52cfb0e083
Update Vulkan headers to latest, support trivially promoted exts
...
* We handle support for trivially supported exts like KHR_index_type_uint8 and
KHR_calibrated_timestamps as it would be more churn and work to temporarily
make them unsupported, given how they are almost entirely just aliased.
2024-02-13 12:37:05 +00:00
baldurk
9f4f0e6aa1
Update copyright years to 2024
2024-02-12 11:04:52 +00:00
Jake Turner
3150a1028e
Mac compile warning/errors in tests project
2024-01-29 18:13:26 +00:00
Jake Turner
7b1527e3ac
Fix release compile error in tests project
2024-01-23 15:28:39 +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
8b3cfc59eb
Tests: SPIR-V Debugger Bitcast tests vector to/from scalar
2024-01-09 12:44:14 +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
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
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
baldurk
f8bbe1ed4f
32-bit compile fixes for demos project
2023-12-11 11:00:12 +00:00
Jake Turner
dd0c888d11
Extend Overlay tests to include shader exported depth scenario
2023-12-05 15:26:57 +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
65a13b1a6d
Fix memory corruption in VK_Parameter_Zoo test
2023-11-28 12:04:26 +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
Jake Turner
b19665212c
Fix demos compile error on Linux & Android
2023-11-05 13:10:53 +00:00
Jake Turner
3fbf060894
Test for very large variable sized descriptor binding
...
New Binding 3
Initial size is UINT32_MAX
Updated to be sized DESC_ARRAY3_SIZE
Used in the shader to ensure the binding is referenced
Stress tests the FetchShaderFeedback code when it computes the maximum size of feedbackStorageSize.
2023-11-01 14:53:06 +00:00
baldurk
dd4e0d44ad
Do two-pass processing of pNext chains for strict validity. Closes #3093
...
* We first need to do a pass to find extension structs that affect validity of
pointers (whether they're ignored or not), then do a pass to process.
2023-10-25 17:56:38 +01:00
baldurk
b6470b03de
Add a delay after Compute_Only tests to allow capture to be found
2023-10-25 17:56:38 +01:00
Eric Long
f36d8a3b23
RISC-V support
...
With some addition to macros the project is able to build on riscv64
machine.
plthook has added RISC-V support upstream [1]. However upstream has
changed their code quite a bit, so I just modified the current vendored
version.
[1]: https://github.com/kubo/plthook/commit/a564738a4707fc5eb4d388b9e97eeab51b8c9d56
2023-09-29 17:26:11 +01:00
baldurk
81cbd7f404
Add delay to empty capture tests to ensure the capture propagates
2023-09-20 12:06:21 +01:00
baldurk
92f4aeacde
Fix compile error on some clangs with non-const string literals
2023-09-13 16:25:09 +01:00
baldurk
1bfe6d1492
Add dedicated test for VK_Counters so GPU duration isn't degenerate
...
* Some cards run it so fast that the triangle takes "0" microseconds
2023-09-12 21:53:23 +01:00
Jake Turner
8459229441
Extend Overlay tests to handle more depth stencil formats : Vk
...
D32_S8, D24_S8, D32, D24, D16
2023-09-08 22:38:01 +01:00
Jake Turner
163f2ff747
Fix validation error in Vk_Overlay_Test
2023-09-07 09:48:57 +01:00
baldurk
9d39b8e1a8
Reformat code for clang-format 15
2023-09-05 11:02:08 +01:00
William Pearson
71e886cecc
Add demo/test for many primitives hitting the same pixel in one drawcall
2023-08-09 10:58:04 +01:00
Jake Turner
117db087a4
Vk tests ignore default pipeline in headless mode
...
Fixes crash trying to launch VK_Compute_Only
2023-07-20 17:26:30 +01:00
baldurk
5118f08e23
Update Vulkan & SPIR-V headers to latest
2023-06-15 13:56:10 +01:00
baldurk
7f8e14fb65
Add some helpers to make minimal templates for each autotest API
2023-06-15 11:25:27 +01:00
baldurk
c353f6fe6d
Add memory readback microbenchmark
2023-03-23 16:16:03 +00:00
baldurk
448b78ca68
Bare bones port of demos project to android
2023-03-23 16:16:03 +00:00
baldurk
38afb7c8ad
Fix handling of S8 multisampled textures. Closes #2883
2023-03-14 16:32:06 +00:00
baldurk
d47e79ae07
Update copyright years to 2023
2023-02-01 12:23:32 +00:00
baldurk
fe4a79054f
Update vulkan headers to latest
2023-01-17 14:15:08 +00:00