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
Mike Schuchardt [Thu, 1 Dec 2022 19:05:30 +0000 (11:05 -0800)]
build: Update to header 1.3.236
- Update known-good
- Generate source
Charles Giessen [Wed, 30 Nov 2022 22:51:02 +0000 (16:51 -0600)]
vulkaninfo: Fix quoting strings in json output
When adding a value_description, the json output would incorrectly quote
the PrintKeyString output, leading to invalid json being generated.
spencer-lunarg [Mon, 28 Nov 2022 06:34:49 +0000 (15:34 +0900)]
icd: Set MockICD driver version to header version
Mike Schuchardt [Thu, 17 Nov 2022 18:42:34 +0000 (10:42 -0800)]
build: Update to header 1.3.235
- Update known-good
- Generate source
Juan Ramos [Thu, 10 Nov 2022 21:55:46 +0000 (14:55 -0700)]
cmake: Use new VulkanHeaders cmake support
Mike Schuchardt [Thu, 10 Nov 2022 16:50:12 +0000 (08:50 -0800)]
build: Update to header 1.3.234
- Update known-good
- Generate source
Simon McVittie [Wed, 9 Nov 2022 15:32:39 +0000 (15:32 +0000)]
build: Compile vkcube and other demos, even when cross-compiling
When building software for a non-x86 processor on an x86 build machine,
or building 32-bit software on a 64-bit build machine, it's still useful
to compile demo programs that can be copied into the target environment
and run there, even if they won't necessarily be runnable on the build
machine.
This also addresses a build failure when cross-compiling and attempting
to leave the demos enabled:
CMake Error at cube/CMakeLists.txt:274 (install):
install TARGETS given target "vkcube" which does not exist.
(and similar for the other demos)
Resolves: https://github.com/KhronosGroup/Vulkan-Tools/issues/592
Signed-off-by: Simon McVittie <smcv@collabora.com>
Mike Schuchardt [Thu, 3 Nov 2022 17:38:54 +0000 (10:38 -0700)]
build: Update to header 1.3.233
- Update known-good
- Generate source
Mike Schuchardt [Tue, 1 Nov 2022 23:37:47 +0000 (16:37 -0700)]
vulkaninfo: Fix VkShaderStageFlagBits expansion
Fix bug where SHADER_STAGE_ALL_GRAPHICS and SHADER_STAGE_ALL were
showing up in the list of set bits for
VkPhysicalDeviceSubgroupProperties::supportedStages. When expanding a
FlagBits value we should only consider the single-bit options.
Charles Giessen [Thu, 27 Oct 2022 20:14:27 +0000 (14:14 -0600)]
vulkaninfo: Add Driver Version handling
Previously, driverVersion fields were treated as hex values, when in
reality each vendor has their own specific format. This commit adds
parsers for Nvidia, Intel (windows only), and relies on the Vulkan
API format for everyone else. AMD uses the Vulkan API format. This
change applies only to the summary, text, and html output.
Add ostream<< operators for VulkanVersion and VkConformanceVersion,
rather than having bespoke to_string functions.
When printing versions, use the major.minor.patch as the primary output
and put the uint32_t form of the version in parenthesis. This moves the
more useful version info into the spotlight, putting the less useful in
parenthesis.
Rework the way secondary values (stuff in parenthesis after a value)
are printed.
Charles Giessen [Thu, 27 Oct 2022 20:11:10 +0000 (14:11 -0600)]
vulkaninfo: Improve array printing
Make the autogen use for loops instead of outputing printers for each
array element, since its needlessly verbose.
Make UUID and LUID printers use operator<< instead of to_string. This
simplifies the logic and makes sure that the array is printed correctly
everywhere, rather than requiring calling code to use to_string_XX()
where needed.
Charles Giessen [Thu, 27 Oct 2022 20:03:15 +0000 (14:03 -0600)]
vulkaninfo: Escape strings in JSON output
JSON output breaks if escape sequences are in the various strings
output by drivers but aren't properly handles. This commit scans
over each string and inserts backslashes when necessary.
Mike Schuchardt [Thu, 27 Oct 2022 16:58:17 +0000 (09:58 -0700)]
build: Update to header 1.3.232
- Update known-good
- Generate source
Mike Schuchardt [Wed, 26 Oct 2022 20:31:08 +0000 (13:31 -0700)]
cmake: Sync FindVulkanHeaders.cmake with VVL
This picks up a few fixes, notably
https://github.com/KhronosGroup/Vulkan-ValidationLayers/pull/1393 which
helps with cross-compiling.