baldurk
178b733001
Add helper for loading a shader module from disk in tests
2024-09-09 14:45:30 +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
baldurk
9f4f0e6aa1
Update copyright years to 2024
2024-02-12 11:04:52 +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
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
baldurk
9d39b8e1a8
Reformat code for clang-format 15
2023-09-05 11:02:08 +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
7f8e14fb65
Add some helpers to make minimal templates for each autotest API
2023-06-15 11:25:27 +01:00
baldurk
448b78ca68
Bare bones port of demos project to android
2023-03-23 16:16:03 +00:00
baldurk
d47e79ae07
Update copyright years to 2023
2023-02-01 12:23:32 +00:00
baldurk
c0d4a75d52
Allow forcing on a graphics or compute-only queue in demos
...
* This creates multiple queues and can be useful for testing, when the test only
uses one or the other as its primary queue.
2022-12-21 23:03:39 +00:00
baldurk
4e4a7518fa
Ensure inline uniform blocks have descriptor pool space allocated
2022-09-19 16:44:56 +01:00
Jake Turner
c83851e884
First Apple platform support for Vulkan demos
...
Uses Metal-CPP-Extensions code to create window and the event loop.
Does not include support for Nuklear
2022-07-08 11:08:18 +01:00
baldurk
4d9f53427e
Check queue availability in vulkan compute-only test
2022-06-24 12:22:13 +01:00
baldurk
7d9a1a05b8
Correctly handle programs that don't create graphics queues
2022-06-21 15:31:41 +01:00
baldurk
a9562c87f5
Test that discard patterns don't disturb bound state on vulkan
2022-05-03 15:30:20 +01:00
baldurk
fcdea67879
Update copyright years to 2022
2022-02-17 17:38:32 +00:00
baldurk
ec5c14dee8
Add support for multiple batched presents on vulkan. Closes #2492
2022-02-10 16:36:19 +00:00
baldurk
0d7dcabdac
Clamp version for vulkan 1.3 drivers that don't support BDA cap/replay
2022-01-31 17:25:23 +00:00
baldurk
438d823c32
Add support for optional physical device features to vulkan tests
2021-03-02 17:08:47 +00:00
baldurk
5cb9b90f5f
Implement support for VK_KHR_synchronization2
...
* For the most part we implement this as a thin pass-through layer. Where we
care about things (image barriers for layout transitions and queue
submissions) we do two different things:
- For image barriers, we "downcast" to plain VkImageMemoryBarrier. Currently
the only thing that's unique to VkImageMemoryBarrier2KHR is extra access
flags and pipeline stages, which we don't care about. This keeps a lot of
code from having to either handle two paths or handle the new path and then
do lots of conversions back to VkImageMemoryBarrier when running on older
drivers.
- For queue submissions we do the opposite. We promote old VkSubmitInfo to
VkSubmitInfo2KHR and process that in a common function, then if necessary
we decay back to VkSubmitInfo before sending to the driver.
2021-02-17 15:03:52 +00:00
baldurk
7e6a785055
Add test of vulkan dedicated allocations
2021-02-01 14:43:43 +00:00
baldurk
ec50e9005a
Test inline uniform block descriptors in VK_CBuffer_Zoo
2021-01-13 15:32:09 +00:00
baldurk
026da176bb
Update copyright years to 2021
2021-01-13 13:56:10 +00:00
baldurk
b69ca4526e
Log the specific error if vkCreateInstance fails in demo program
2020-12-03 10:59:05 +00:00
baldurk
39f4e82641
Add test of performance with large descriptor sets
2020-10-27 14:04:45 +00:00
baldurk
925b49daa6
Fix handling of instance extensions in vulkan tests
2020-09-11 18:51:27 +01:00
baldurk
e1f90b4b01
Add test that validation layers and extensions can be captured
2020-07-15 14:11:42 +01:00
baldurk
5c57493855
Share common shader source on vulkan
2020-07-15 14:05:20 +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
6d23e59aa6
Support specifying next chain to instance creation, and inst extensions
2020-06-29 13:10:51 +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
baldurk
d71dadda9d
Update vulkan headers to 1.2.141
2020-05-21 17:53:37 +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
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
f427a7ce02
Test that repeated redundant calls for spin-sync aren't serialised
...
* If the application is calling e.g. vkGetFenceStatus() in a loop we don't want
to serialise every call.
2020-02-03 18:18:17 +00:00
baldurk
83f0398aa6
Add test to parameter zoo to catch descriptor referencing resources
2020-01-27 20:45:08 +00:00
baldurk
6c68576707
Add workaround for strange systems with difficult visualinfo setups
2020-01-22 19:05:53 +00:00
baldurk
2916c0f9f7
Update copyright years to 2020
2020-01-06 16:20:45 +00:00
baldurk
08ccab2a7f
Prefer VK_LAYER_KHRONOS_validation for debugging if available
2019-12-13 11:09:57 +00:00
baldurk
6bbf4cb209
Allow fallback to glslangValidator in tests for compiling SPIR-V
2019-12-12 17:58:52 +00:00
baldurk
31c962bf51
Free undefined image in VK_Image_layouts test
...
* The free() function should also destroy the image/buffer not just free the
memory.
2019-11-26 23:42:16 +00:00
baldurk
c547937597
Add helpers for tests checking PCI vendorIDs/driver versions
2019-11-25 23:36:45 +00:00
baldurk
f35e082228
Keep track of VmaAllocation for each image/buffer and free it
...
* VMA requires us to free each suballocation even on shutdown where we just want
to block-free
2019-11-25 23:36:44 +00:00
baldurk
284996ae2c
Check for errors on queue submissions
2019-11-25 23:36:44 +00:00
baldurk
187b1a6e47
Add ability to pass macros to SPIR-V compilation in tests
2019-11-22 14:56:51 +00:00
baldurk
53569e56bb
Allow AllocatedBuffer/AllocatedImage to be copied around in vulkan tests
...
* Instead of tracking their lifetime with that object, we move the lifetime
tracking into the parent VulkanGraphicsTest and destroy them all at the end. A
single handle can optionally be free'd on its own.
2019-11-22 14:56:51 +00:00
baldurk
16dace3d48
Fix tests running on 32-bit
2019-10-01 17:59:01 +01:00
baldurk
aed3d5fe4f
Add naming overload for VkSampler in tests
2019-09-30 16:30:40 +01:00