Charles Giessen [Thu, 22 Jun 2023 18:33:25 +0000 (12:33 -0600)]
test: Expand MockICD test coverage
Mike Schuchardt [Fri, 23 Jun 2023 19:23:57 +0000 (12:23 -0700)]
build: Update to header 1.3.255
- Update known-good
- Generate source
Charles Giessen [Thu, 22 Jun 2023 18:34:55 +0000 (12:34 -0600)]
icd: Document parametization for VulkanSC
Daniel Rakos [Thu, 22 Jun 2023 09:20:54 +0000 (11:20 +0200)]
mock: Fix memory leak issue
Daniel Rakos [Thu, 22 Jun 2023 09:20:33 +0000 (11:20 +0200)]
mock: Redo parameterization changes for Vulkan SC
Charles Giessen [Tue, 20 Jun 2023 17:32:24 +0000 (11:32 -0600)]
ci: Reduce linux actions combinations
Reduces the matrix from 32 runs down to 6, making each possible configuration
appear only once rather than test all possible combinations of configurations.
Charles Giessen [Tue, 20 Jun 2023 05:19:54 +0000 (23:19 -0600)]
icd: Add AllocateCommandBuffer test
Charles Giessen [Tue, 20 Jun 2023 05:19:09 +0000 (23:19 -0600)]
ci: Add tests to linux & mac action runs
Some tests do not need installed drivers, such as MockICD testing, so is
a prime candidate for cloud based CI.
Windows tests are not enabled for the moment, due to not having vulkan-1.dll
available. Fixing this will take much more work due to how the project is
structured.
Juan Ramos [Tue, 20 Jun 2023 16:19:59 +0000 (10:19 -0600)]
docs: Remove unneccessary info about ccache and compile commands
Charles Giessen [Tue, 20 Jun 2023 04:24:23 +0000 (22:24 -0600)]
build: Only inlcude wayland if enabled for MockICD
Charles Giessen [Thu, 15 Jun 2023 18:22:52 +0000 (12:22 -0600)]
icd: Move handwritten code into .cpp file
Takes the hand written portions of the mock_icd_generator.py and puts them
in a .cpp file, then moves the code gen into function_declarations.h and
function_definitions.h.
This move makes it easier to maintain the C++ code that exists because it
no longer lives in a python file. This commit does not make adding custom
code easier, as it still is in the python file. The intent of this commit
is to create a baseline that would allow such code to be put inside of C++
instead of python.
Additionally, this commit removes egregious over engineering in the
mock icd CMakeLists.txt. Things removed are macros that are only called
once, foreach loops over single items, and replacing variables that had no
solid reason to be a variable.
Charles Giessen [Fri, 16 Jun 2023 00:25:42 +0000 (18:25 -0600)]
test: Add basic MockICD test
Charles Giessen [Fri, 16 Jun 2023 00:20:44 +0000 (18:20 -0600)]
test: Use build artifacts in tests
Charles Giessen [Thu, 15 Jun 2023 20:05:59 +0000 (14:05 -0600)]
test: Add test infrastructure
Add necessary CMake code to enable tests to be built and run. Most of
the logic is taken from Vulkan-ValidationLayers' and adapted for use
here.
New build option:
BUILD_TESTS - defaults to OFF. Controls whether to build tests.
Charles Giessen [Thu, 15 Jun 2023 20:05:29 +0000 (14:05 -0600)]
build: Add googletest dependency for testing
Charles Giessen [Thu, 15 Jun 2023 19:32:35 +0000 (13:32 -0600)]
build: Update to C++14 as minimum version
Mike Schuchardt [Fri, 16 Jun 2023 18:38:00 +0000 (11:38 -0700)]
build: Update to header 1.3.254
- Update known-good
- Generate source
- Only build vulkaninfo and mockicd with -DVK_ENABLE_BETA_EXTENSIONS instead of
the entire repo
scottmarsland [Thu, 1 Jun 2023 07:30:44 +0000 (08:30 +0100)]
icd: Add vkGetRenderAreaGranularity
Add implementation for vkGetRenderAreaGranularity.
Charles Giessen [Wed, 14 Jun 2023 23:25:30 +0000 (17:25 -0600)]
icd: Use #pragma once in header
Alexander Kanavin [Fri, 2 Jun 2023 12:13:00 +0000 (14:13 +0200)]
scripts/CMakeLists.txt: append to CMAKE_FIND_ROOT_PATH instead of replacing it
Resetting CMAKE_FIND_ROOT_PATH in particular breaks builds in Yocto
(which is a major cross compiling framework).
Mike Schuchardt [Wed, 31 May 2023 15:50:02 +0000 (08:50 -0700)]
build: Update to header 1.3.251
- Update known-good
- Generate source
spencer-lunarg [Tue, 30 May 2023 08:20:39 +0000 (17:20 +0900)]
icd: Add vkGetDescriptorSetLayoutSupport
Charles Giessen [Fri, 26 May 2023 23:58:18 +0000 (17:58 -0600)]
icd: Fix OOB writes in QueuePerfCounters
vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR was blindly
writing to the pCounters buffer without first checking that the pCounterCount
contained enough space for the data. Now Mock ICD will return VK_INCOMPLETE
if not enough space is available as well as write as many elements as there
is space for.
Charles Giessen [Fri, 26 May 2023 23:34:43 +0000 (17:34 -0600)]
vulkaninfo: Only enable necessary instance extensions
Previously, vulkaninfo would enable all instance extensions, which caused
validation errors to be generated. Now, vulkaninfo only enables extensions it
knows it needs to, such as:
VK_EXT_debug_report
VK_KHR_get_physical_device_properties2
VK_KHR_portability_enumeration
VK_KHR_surface
<platform specific surface extensions>
VK_KHR_get_surface_capabilities2
VK_KHR_surface_protected_capabilities
Tony-LunarG [Thu, 25 May 2023 21:02:12 +0000 (15:02 -0600)]
vkcubepp: Fix cmd buffer/pool leak
Daniel Rakos [Mon, 22 May 2023 13:46:07 +0000 (15:46 +0200)]
mock: Parameterization changes for Vulkan SC
Richard S. Wright Jr [Wed, 24 May 2023 02:03:54 +0000 (22:03 -0400)]
Update known_good.json for MoltenVK 1.2.4
juan-lunarg [Tue, 23 May 2023 22:02:16 +0000 (16:02 -0600)]
icd: Fix WIN32 Mock ICD installation
Mock isn't a typical library. It's a loadable module which
should be installed in the bin folder for Windows users.
This is consistent with how we treat other modules.
Marijn Suijten [Mon, 22 May 2023 14:02:39 +0000 (16:02 +0200)]
vulkaninfo: Reduce NVIDIA quaternary version field to 6 bits
The tertiary version field is shifted 6 bits to the right, meaning there
are only 6 bits left to for the quaternary version field, not 10. See
also:
https://github.com/SaschaWillems/vulkan.gpuinfo.org/blob/
1e6ca6e3c0763daabd6a101b860ab4354a07f5d3/functions.php#L305
Scott.Marsland [Tue, 16 May 2023 13:55:40 +0000 (14:55 +0100)]
mock: Fix image sparse mem requirements 2 queries
Fix vkGetImageSparseMemoryRequirements2 and
vkGetImageSparseMemoryRequirements2KHR queries when
pSparseMemoryRequirements is null.
Scott.Marsland [Tue, 16 May 2023 13:40:44 +0000 (14:40 +0100)]
mock: Fix sparse image format properties 2 queries
Fix vkGetPhysicalDeviceSparseImageFormatProperties2 and
vkGetPhysicalDeviceSparseImageFormatProperties2KHR queries when
pProperties is null.
Artem Kharytoniuk [Fri, 5 May 2023 21:12:12 +0000 (23:12 +0200)]
mock: Extend external memory functionality
GetPhysicalDeviceExternalBufferProperties changes:
Previous implementation violated property that handle type is at
least compatible with itself. It's needed to implement testing for
VUID-VkMemoryAllocateInfo-pNext-00639
GetFenceWin32HandleKHR/GetFenceFdKHR changes:
Return not null handles to pass
VUID-VkImportFenceWin32HandleInfoKHR-handle-01462
juan-lunarg [Fri, 5 May 2023 22:35:44 +0000 (16:35 -0600)]
cmake: Keep VulkanRT-License.txt copyright up to date
closes #754
juan-lunarg [Fri, 5 May 2023 20:32:48 +0000 (14:32 -0600)]
ci: Speed up MacOS CI
juan-lunarg [Thu, 4 May 2023 20:10:36 +0000 (14:10 -0600)]
ci: Use UPDATE_DEPS and ccache
juan-lunarg [Thu, 4 May 2023 20:10:03 +0000 (14:10 -0600)]
cmake: Add UPDATE_DEPS functionality
juan-lunarg [Thu, 4 May 2023 20:09:36 +0000 (14:09 -0600)]
git: Ignore external/ directory
UPDATE_DEPS will place dependencies in that directory
Powei Feng [Tue, 25 Apr 2023 04:39:07 +0000 (21:39 -0700)]
cube: remove unnecessary use-xlib
Mike Schuchardt [Thu, 4 May 2023 18:56:40 +0000 (11:56 -0700)]
build: Update to header 1.3.250
- Update known-good
- Generate source
juan-lunarg [Thu, 4 May 2023 19:28:19 +0000 (13:28 -0600)]
docs: Update README.md
juan-lunarg [Thu, 27 Apr 2023 23:17:44 +0000 (17:17 -0600)]
mock: Add support for vkGetDeviceImageMemoryRequirements
Needed for KhronosGroup/Vulkan-ValidationLayers/issues/5616
juan-lunarg [Thu, 27 Apr 2023 22:25:57 +0000 (16:25 -0600)]
mock: Add support for DeviceBufferMemoryRequirements
Needed for KhronosGroup/Vulkan-ValidationLayers/issues/5616
Mike Schuchardt [Thu, 27 Apr 2023 17:25:57 +0000 (10:25 -0700)]
build: Update to header 1.3.249
- Update known-good
- Generate source
Mike Schuchardt [Fri, 21 Apr 2023 16:37:08 +0000 (09:37 -0700)]
build: Update to header 1.3.248
- Update known-good
- Generate source
Charles Giessen [Fri, 14 Apr 2023 21:42:31 +0000 (15:42 -0600)]
vulkaninfo: Flush before exiting
Vulkaninfo does not manually flush the output before exiting, which means that
if a crash were to happen during teardown, the stdout buffer may not have
finished writing.
Mike Schuchardt [Thu, 13 Apr 2023 18:40:20 +0000 (11:40 -0700)]
build: Update to header 1.3.247
- Update known-good
- Generate source
Charles Giessen [Fri, 7 Apr 2023 20:38:40 +0000 (14:38 -0600)]
cmake: Add build option for Address Sanitizer
Charles Giessen [Tue, 4 Apr 2023 02:55:31 +0000 (20:55 -0600)]
vulkaninfo: Use VkFormatFeatureFlags2 by default
Until now, vulkaninfo was only displaying VkFormatFeatureFlagBits, which
means that many of the newer capabilities of formats were not being shown.
Now, vulkaninfo will default to printing VkFormatFeatureFlagsBits2 and
only use VkFormatFeatureFlagBits when the VK_KHR_format_feature_flags_2 is
not supported by the device.
Charles Giessen [Thu, 6 Apr 2023 19:27:22 +0000 (13:27 -0600)]
ci: Remove dependency on libmirclient-dev
This package was removed in Ubuntu 22
Charles Giessen [Thu, 6 Apr 2023 19:17:29 +0000 (13:17 -0600)]
ci: Use Ubuntu 22 instead of 18
Andrew Poole [Tue, 4 Apr 2023 10:41:15 +0000 (11:41 +0100)]
vulkaninfo: Add "VK_" prefix for PrintFlagBits
For types like VkSampleCountFlagBits a "VK_" prefix will be added for
JSON outputs. This makes the behaviour consistent for all JSON output.
Andrew Poole [Tue, 28 Mar 2023 09:05:10 +0000 (10:05 +0100)]
vulkaninfo: Add Android build support
VULKANINFO_WSI_ENABLED is currently disabled for Android as it
is not possible to create an ANativeWindow for a native binary app
using just the NDK.
Andrew Poole [Tue, 28 Mar 2023 09:11:58 +0000 (10:11 +0100)]
cube: Add .gitignore for Android builds
Mike Schuchardt [Fri, 31 Mar 2023 16:09:34 +0000 (10:09 -0600)]
build: Update to header 1.3.246
- Update known-good
- Generate source
Richard S. Wright Jr [Mon, 27 Mar 2023 21:28:57 +0000 (17:28 -0400)]
Updated MoltenVK known good version to 1.2.3
Charles Giessen [Mon, 27 Mar 2023 17:45:30 +0000 (11:45 -0600)]
vkcubepp: Fix custom height not working
Mike Schuchardt [Fri, 24 Mar 2023 18:29:35 +0000 (11:29 -0700)]
build: Update to header 1.3.245
- Update known-good
- Generate source
Charles Giessen [Fri, 24 Mar 2023 18:04:12 +0000 (12:04 -0600)]
vulkaninfo: Dont enable Direct Driver Loading Ext
The VK_LUNARG_direct_driver_loading extension, when enabled, causes spurious
warnings in the loader. Vulkaninfo should just not enable it to prevent these
warnings from apperaing in the output.
Charles Giessen [Mon, 13 Mar 2023 21:36:52 +0000 (15:36 -0600)]
vulkaninfo: Stopgap fix for old copyrights
Mike Schuchardt [Wed, 22 Mar 2023 16:38:36 +0000 (09:38 -0700)]
build: Update to header 1.3.244
- Update known-good
- Generate source
Charles Giessen [Fri, 17 Mar 2023 22:40:25 +0000 (16:40 -0600)]
mock_icd: Add missing locks
Mike Schuchardt [Mon, 13 Mar 2023 17:45:18 +0000 (10:45 -0700)]
build: Update to header 1.3.243
- Update known-good
- Generate source
spencer-lunarg [Sat, 25 Feb 2023 10:00:27 +0000 (19:00 +0900)]
mockicd: Add Support for testing Video decoding
Mike Schuchardt [Mon, 27 Feb 2023 19:21:23 +0000 (11:21 -0800)]
build: Update to header 1.3.242
- Update known-good
- Generate source
Charles Giessen [Fri, 24 Feb 2023 22:29:00 +0000 (15:29 -0700)]
vulkaninfo: Fix wrong stripping in flag strings
The QUEUE_OPTICAL_FLOW_BIT_NV was getting the 'V' cut off of it, this commit
fixes that so that it isn't being removed, as well as making the output
more consistent.
spencer-lunarg [Tue, 21 Feb 2023 05:15:16 +0000 (14:15 +0900)]
mockicd: Add Support for testing Ray Tracing
Mike Schuchardt [Thu, 16 Feb 2023 16:14:20 +0000 (08:14 -0800)]
build: Update to header 1.3.241
- Update known-good
- Tweak generate_vulkan_wrapper.py to ignore sci header
- Generate source
spencer-lunarg [Sun, 19 Feb 2023 10:06:31 +0000 (19:06 +0900)]
mockicd: Add more Memory Types
berryboy2012 [Sun, 19 Feb 2023 13:24:11 +0000 (21:24 +0800)]
Fixed cube.cpp crashing on Windows when minimized.
spencer-lunarg [Thu, 16 Feb 2023 06:36:00 +0000 (15:36 +0900)]
mockicd: Add Protected Queue
spencer-lunarg [Thu, 16 Feb 2023 05:11:38 +0000 (14:11 +0900)]
mockicd: Fix and finish vkGetPhysicalDeviceProperties2KHR
spencer-lunarg [Thu, 16 Feb 2023 04:22:20 +0000 (13:22 +0900)]
mockicd: Add non-zero timestampValidBits
spencer-lunarg [Wed, 15 Feb 2023 09:26:56 +0000 (18:26 +0900)]
mockicd: Add more PhysicalDevice functions not in profiles
Juan Ramos [Wed, 1 Feb 2023 18:07:20 +0000 (11:07 -0700)]
cmake: Remove custom install code
Mike Schuchardt [Mon, 30 Jan 2023 18:13:35 +0000 (10:13 -0800)]
gn: Add ninja to DEPS
Instead of relying on the version in depot_tools
Mike Schuchardt [Fri, 27 Jan 2023 19:03:56 +0000 (11:03 -0800)]
ci: Update GN toolchain
Mike Schuchardt [Fri, 27 Jan 2023 18:57:42 +0000 (10:57 -0800)]
build: Update to header 1.3.240
- Update known-good
- Generate source
Juan Ramos [Fri, 27 Jan 2023 21:32:58 +0000 (14:32 -0700)]
ci: Fix CI warnings
Juan Ramos [Fri, 27 Jan 2023 21:32:07 +0000 (14:32 -0700)]
cmake: Raise min to 3.17
Richard S. Wright Jr [Fri, 27 Jan 2023 21:39:34 +0000 (16:39 -0500)]
Update MoltenVK known good tag
Charles Giessen [Wed, 25 Jan 2023 21:20:40 +0000 (14:20 -0700)]
vulkaninfo: Fix rc file copyright and other mistakes
The copyright went out of date in 2022 but was never updated. As a precaution
for the future, the copyright will now be the current year the file was created
in, rather than being hardcoded.
Mike Schuchardt [Thu, 19 Jan 2023 17:37:49 +0000 (10:37 -0700)]
build: Update to header 1.3.239
- Update known-good
- Generate source
Charles Giessen [Mon, 16 Jan 2023 19:07:34 +0000 (12:07 -0700)]
cube: Check for width & height less are than zero
The code would correctly reject widhth & height command line prameters
that weren't greater than 0, but without a helpful error message about
what was actually wrong.
Charles Giessen [Thu, 1 Dec 2022 20:39:43 +0000 (14:39 -0600)]
cubepp: Make sure width & height are > 0
This check was present in cube but wasn't added to cubepp.
Because width and height are stored as uint32_t, we first need to read them
in as int32_t and make sure they aren't negative.
Charles Giessen [Fri, 2 Dec 2022 22:03:49 +0000 (15:03 -0700)]
vkcube: Fix object type printing in 32 bit mode
Previously the code assumed that all types were convertable to void*, since
they happened to have the same size on 64 bit platforms. But in 32 bit, this
is not true.
Now the code converts dispatchable handles to uintptr_t then to void* only for
dispatchable types, printing all other types as non-dispatchable 64 bit ints.
Juan Ramos [Mon, 16 Jan 2023 23:10:30 +0000 (16:10 -0700)]
github: Use main instead of master
closes #729
Jeremy Gebben [Thu, 12 Jan 2023 18:47:42 +0000 (11:47 -0700)]
vkcube: Add more debug utils object names and cb labels
Charles Giessen [Sun, 15 Jan 2023 06:07:56 +0000 (23:07 -0700)]
Update README.md to point to LICENSE.md
Erroneously referred to COPYRIGHT.md
Juan Ramos [Tue, 10 Jan 2023 19:29:17 +0000 (12:29 -0700)]
build: Update vulkan headers
- Vulkan::Registry was removed
- vk_sdk_platform.h is deprecated
NOTE: Need to update loader due to shared dependency.
Mike Schuchardt [Tue, 20 Dec 2022 00:15:32 +0000 (16:15 -0800)]
build: Update to header 1.3.238
- Update known-good
- Generate source
Juan Ramos [Tue, 27 Dec 2022 22:17:57 +0000 (15:17 -0700)]
cmake: Use PkgConfig to find DirectFB
Juan Ramos [Tue, 27 Dec 2022 19:08:43 +0000 (12:08 -0700)]
cmake: Use PkgConfig to find X11
Juan Ramos [Tue, 27 Dec 2022 19:05:40 +0000 (12:05 -0700)]
cmake: Use PkgConfig to find XCB
Mike Schuchardt [Wed, 14 Dec 2022 18:59:27 +0000 (10:59 -0800)]
ci: Fix macOS github actions codegen verification
Needs to point at install dir instead of repo dir since we might be
using a cache and not full checkout of Vulkan-Headers.
Mike Schuchardt [Wed, 14 Dec 2022 18:18:35 +0000 (10:18 -0800)]
vulkaninfo: Remove macOS application bundle
macOS Ventura broke the "shell script as a executable" method for
delivering vulkaninfo as an .app bundle. Rather than find another
workaround, we decided to remove the bundle version from the SDK since
it is redundant. The command-line vulkaninfo is unaffected and can still
be launched from Finder.
Richard S. Wright Jr [Fri, 9 Dec 2022 18:09:06 +0000 (13:09 -0500)]
Updated to latest known good MoltenVK
Mike Schuchardt [Thu, 8 Dec 2022 18:19:36 +0000 (10:19 -0800)]
build: Update to header 1.3.237
- Update known-good
- Generate source
Juan Ramos [Sat, 3 Dec 2022 00:53:51 +0000 (17:53 -0700)]
ci: Speed up MacOS builds
Caches update_deps.py dependencies.
In particular MoltenVK since it's a huge dependency.
Charles Giessen [Thu, 1 Dec 2022 17:25:11 +0000 (11:25 -0600)]
cube & cubepp: Handle negative gpu selections
Previously, a negative gpu number (other than -1) would cause the program to
assert. It is simple enough to handle it gracefully, so best to do so.
Charles Giessen [Thu, 1 Dec 2022 17:23:36 +0000 (11:23 -0600)]
cubepp: Set the apiVersion to 1.0