platform/upstream/Vulkan-Tools.git
12 months agoicd: Add support to mock AHB commands
spencer-lunarg [Fri, 6 Oct 2023 23:21:33 +0000 (08:21 +0900)]
icd: Add support to mock AHB commands

12 months agomock: Ensure VkICD_mock_icd.json uses up to date API version
Juan Ramos [Fri, 6 Oct 2023 22:13:24 +0000 (16:13 -0600)]
mock: Ensure VkICD_mock_icd.json uses up to date API version

closes #617

12 months agocmake: Upgrade to C++17
Juan Ramos [Fri, 6 Oct 2023 17:53:54 +0000 (11:53 -0600)]
cmake: Upgrade to C++17

Addresses various other issues with setting compiler flags.

CMAKE_C_FLAGS / CMAKE_CXX_FLAGS should NOT be used anymore.

Addressed one minor C++17 issue caused by [[nodiscard]].

Remove compiler flags from Application.mk since they weren't
needed and will soon be entirely replaced by CMake.

closes #711

12 months agobuild: Update to header 1.3.267
Mike Schuchardt [Fri, 6 Oct 2023 16:35:38 +0000 (09:35 -0700)]
build: Update to header 1.3.267

- Update known-good
- Generate source

12 months agocmake: Simplify INSTALL_ICD logic
Juan Ramos [Thu, 5 Oct 2023 20:47:32 +0000 (14:47 -0600)]
cmake: Simplify INSTALL_ICD logic

12 months agocmake: Use XCODE variable
Juan Ramos [Thu, 5 Oct 2023 19:16:05 +0000 (13:16 -0600)]
cmake: Use XCODE variable

Simplifies CMake code in various places for Apple builds

12 months agoRemove unused scripts
Juan Ramos [Thu, 5 Oct 2023 18:57:25 +0000 (12:57 -0600)]
Remove unused scripts

12 months agovulkaninfo: Fix VkPhysicalDeviceHostImageCopyPropertiesEXT
Charles Giessen [Thu, 5 Oct 2023 19:44:18 +0000 (13:44 -0600)]
vulkaninfo: Fix VkPhysicalDeviceHostImageCopyPropertiesEXT

This struct has pointers to arrays which must be allocated by the user
before they can be filled out. Thus, to be able to query the properties,
vulkaninfo must call vkGetPhysicalDeviceProperties2 twice. Since there is
not an easy way to add this to the code generator, it is instead excluded
from the main pNext generation and hand written.

12 months agovulkaninfo: Fix printing arrays of Enums
Charles Giessen [Thu, 5 Oct 2023 17:29:43 +0000 (11:29 -0600)]
vulkaninfo: Fix printing arrays of Enums

Previously, the code generator assumed enums were always printed as
key-value pairs, and not in an array. This led to using object
syntax inside of arrays in the JSON output, which is invalid, and is
now fixed.

12 months agodocs: New SDK branch convention
Juan Ramos [Wed, 4 Oct 2023 22:56:58 +0000 (16:56 -0600)]
docs: New SDK branch convention

Next SDK we will be changing branch/tag naming scheme from
sdk-1.x.yyy to vulkan-sdk-1.x.yyy

13 months agocmake: Minor cube cleanup
Juan Ramos [Mon, 2 Oct 2023 22:22:19 +0000 (16:22 -0600)]
cmake: Minor cube cleanup

Remove unused vars
Remove pointless code
Remove usage of CMAKE_LANG_FLAGS

13 months agocmake: Fix vulkaninfo on Android
Juan Ramos [Mon, 2 Oct 2023 22:53:41 +0000 (16:53 -0600)]
cmake: Fix vulkaninfo on Android

13 months agoandroid: Various fixes to get closer to Android on CMake
Juan Ramos [Fri, 29 Sep 2023 20:17:54 +0000 (14:17 -0600)]
android: Various fixes to get closer to Android on CMake

Remove vulkaninfo from Android builds

Don't use the loader on Android

13 months agobuild: Update to header 1.3.266
Mike Schuchardt [Fri, 29 Sep 2023 15:03:04 +0000 (08:03 -0700)]
build: Update to header 1.3.266

- Update known-good
- Generate source

13 months agocmake: General cleanup
Juan Ramos [Fri, 29 Sep 2023 16:14:37 +0000 (10:14 -0600)]
cmake: General cleanup

- APPEND CMAKE_MODULE_PATH
- Remove overly specific CMake code
- Use CMAKE_SYSTEM_NAME to detect Linux/BSD
- Remove unused code
- Simplify install target code
- Use PRIVATE instead of PUBLIC
- Prefer target based commands

13 months agogn: Fix Chromium build
Juan Ramos [Wed, 27 Sep 2023 19:10:36 +0000 (13:10 -0600)]
gn: Fix Chromium build

closes #866

13 months agobuild: Update to header 1.3.265
Mike Schuchardt [Mon, 25 Sep 2023 18:18:29 +0000 (11:18 -0700)]
build: Update to header 1.3.265

- Update known-good
- Generate source (no change)

13 months agoicd: Add VkPhysicalDeviceDriverProperties
Charles Giessen [Tue, 19 Sep 2023 04:24:49 +0000 (22:24 -0600)]
icd: Add VkPhysicalDeviceDriverProperties

This commit adds support for the VkPhysicalDeviceDriverProperties struct
in the output of vkGetPhysicalDeviceProperties2. This is useful for users
of Mock ICD wishing to know the version of MockICD used. The driverInfo
field is used for this purpose and contains the git branch & tag info data.
The use of Git in CMake is how the information is seamlessly gotten and
provided to the source code in the form of compile definitions.

13 months agocmake: Remove generate_icd_files
Juan Ramos [Fri, 22 Sep 2023 18:52:13 +0000 (12:52 -0600)]
cmake: Remove generate_icd_files

Does nothing

13 months agocmake: Fix ICD json logic
Juan Ramos [Fri, 22 Sep 2023 17:43:06 +0000 (11:43 -0600)]
cmake: Fix ICD json logic

closes #861

13 months agocube: Fix shader compilation destination
Charles Giessen [Fri, 22 Sep 2023 15:02:24 +0000 (09:02 -0600)]
cube: Fix shader compilation destination

The build step to compile shaders put them in the build directory rather
than the source directory.

13 months agotest: Turn windows tests on in github CI
Charles Giessen [Wed, 13 Sep 2023 20:03:22 +0000 (14:03 -0600)]
test: Turn windows tests on in github CI

Now that the Vulkan-Loader's find_package support is available, this repo can enable
testing on windows and have it work.

Github actions runs everything in 'admin mode' which causes the loader to ignore
environment variables, which is how the tests find MockICD. Thus, to work around
this behavior we build the loader with LOADER_USE_UNSAFE_FILE_SEARCH so that it
will use environment variables again.

13 months agobuild: Use Vulkan-Loader find_package support
Charles Giessen [Fri, 25 Aug 2023 16:53:04 +0000 (10:53 -0600)]
build: Use Vulkan-Loader find_package support

The Vulkan-Loader now supports find_package properly, allowing this repo to drop
the ad-hoc creation of the Vulkan::Vulkan target.

13 months agocube: Check in SPIRV code
Charles Giessen [Tue, 19 Sep 2023 03:46:46 +0000 (21:46 -0600)]
cube: Check in SPIRV code

The shader code used by vkcube & vkcubepp is now checked into the source.
This prevents users from needing a version of glslang on the system in
order to build the project. While the existing mechanism of fetching a
glslang binary from github was adequate, the version used linked to
VS 2013 which caused build failures with rather cryptic linker errors.
Since changing the shaders happens very infrequently, the decision has
been made to check in the spir-v code.

The CMake logic to compile the shaders remainds, but is put behind a
new build flag COMPILE_CUBE_SHADERS.

13 months agovulkaninfo: Support VK_EXT_surface_maintenance1 properly
Charles Giessen [Tue, 12 Sep 2023 22:18:02 +0000 (16:18 -0600)]
vulkaninfo: Support VK_EXT_surface_maintenance1 properly

The struct VkSurfacePresentModeCompatibilityEXT and
VkSurfacePresentScalingCapabilitiesEXT can only be included in the
VkSurfaceCapabilities2KHR pNext chain if a VkSurfacePresentModeEXT struct is
in the pNext chain for VkPhysicalDeviceSurfaceInfo2KHR. In other words, the
autogen for this extension is not adequate and needs to be special cased.

This is doubly true because the aformentioned structs are 'per-present-mode'
so the output needs to handle printing each struct once per present mode
available, which is not possible with autogenerated code currently.

The easiest solution is to just remove the surface_maintenance1 structs from
autogen in the pNext chain (but keep the autogenerated printing functions).
Then setup the pNext chains appropriate and make the necessary calls, before
printing the data directly.

13 months agobuild: Update to header 1.3.264
Mike Schuchardt [Mon, 11 Sep 2023 18:15:43 +0000 (11:15 -0700)]
build: Update to header 1.3.264

- Update known-good
- Generate source

13 months agoicd: Add second VkCooperativeMatrixPropertiesKHR field
spencer-lunarg [Tue, 12 Sep 2023 07:46:58 +0000 (16:46 +0900)]
icd: Add second VkCooperativeMatrixPropertiesKHR field

13 months agobuild: Update to header 1.3.263
Mike Schuchardt [Tue, 5 Sep 2023 19:51:44 +0000 (12:51 -0700)]
build: Update to header 1.3.263

- Update known-good
- Generate source

14 months agogit: Ignore CMakeUserPresets.json
Juan Ramos [Wed, 30 Aug 2023 22:11:01 +0000 (16:11 -0600)]
git: Ignore CMakeUserPresets.json

14 months agoRemove cmake-format
Juan Ramos [Wed, 30 Aug 2023 18:17:33 +0000 (12:17 -0600)]
Remove cmake-format

14 months agoicd: Add VkSurfacePresentModeCompatibilityEXT support
spencer-lunarg [Mon, 28 Aug 2023 02:15:36 +0000 (11:15 +0900)]
icd: Add VkSurfacePresentModeCompatibilityEXT support

14 months agobuild: Update to header 1.3.262
Mike Schuchardt [Fri, 25 Aug 2023 19:46:56 +0000 (12:46 -0700)]
build: Update to header 1.3.262

- Update known-good
- Generate source

14 months agoAdd QNX support (VK_QNX_screen_surface) to C and C++ variants of vkcube.
Mike Gorchak [Fri, 25 Aug 2023 00:26:13 +0000 (20:26 -0400)]
Add QNX support (VK_QNX_screen_surface) to C and C++ variants of vkcube.

Additionally add support for RGB565 and RGBA5551 pixel formats, because
some Vulkan drivers under QNX report these formats first as preferable.

14 months agoAdd public support for QNX to vulkaninfo
Mike Gorchak [Thu, 24 Aug 2023 19:11:56 +0000 (15:11 -0400)]
Add public support for QNX to vulkaninfo

Sample output:

==========
VULKANINFO
==========

Vulkan Instance Version: 1.3.261

Instance Extensions: count = 16
===============================
        VK_EXT_debug_report                    : extension revision 10
        VK_EXT_debug_utils                     : extension revision 2
        VK_EXT_direct_mode_display             : extension revision 1
        VK_EXT_display_surface_counter         : extension revision 1
        VK_KHR_device_group_creation           : extension revision 1
        VK_KHR_display                         : extension revision 23
        VK_KHR_external_fence_capabilities     : extension revision 1
        VK_KHR_external_memory_capabilities    : extension revision 1
        VK_KHR_external_semaphore_capabilities : extension revision 1
        VK_KHR_get_display_properties2         : extension revision 1
        VK_KHR_get_physical_device_properties2 : extension revision 2
        VK_KHR_get_surface_capabilities2       : extension revision 1
        VK_KHR_portability_enumeration         : extension revision 1
        VK_KHR_surface                         : extension revision 25
        VK_LUNARG_direct_driver_loading        : extension revision 1
        VK_QNX_screen_surface                  : extension revision 1

Layers: count = 1
=================
VK_LAYER_KHRONOS_validation (Khronos Validation Layer) Vulkan version 1.2.190, layer version 1:
        Layer Extensions: count = 3
                VK_EXT_debug_report        : extension revision 9
                VK_EXT_debug_utils         : extension revision 1
                VK_EXT_validation_features : extension revision 2
        Devices: count = 1
                GPU id = 0 (Samsung Xclipse 930A)
                Layer-Device Extensions: count = 3
                        VK_EXT_debug_marker     : extension revision 4
                        VK_EXT_tooling_info     : extension revision 1
                        VK_EXT_validation_cache : extension revision 1

Presentable Surfaces:
=====================
GPU id : 0 (Samsung Xclipse 930A):
        Surface type = VK_QNX_screen_surface
        Formats: count = 8
                SurfaceFormat[0]:
                        format = FORMAT_B8G8R8A8_UNORM
                        colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
                SurfaceFormat[1]:
                        format = FORMAT_B8G8R8A8_SRGB
                        colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
                SurfaceFormat[2]:
                        format = FORMAT_R8G8B8A8_UNORM
                        colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
                SurfaceFormat[3]:
                        format = FORMAT_R8G8B8A8_SRGB
                        colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
                SurfaceFormat[4]:
                        format = FORMAT_A2R10G10B10_UNORM_PACK32
                        colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
                SurfaceFormat[5]:
                        format = FORMAT_A2B10G10R10_UNORM_PACK32
                        colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
                SurfaceFormat[6]:
                        format = FORMAT_A1R5G5B5_UNORM_PACK16
                        colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
                SurfaceFormat[7]:
                        format = FORMAT_R5G6B5_UNORM_PACK16
                        colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
        Present Modes: count = 4
                PRESENT_MODE_IMMEDIATE_KHR
                PRESENT_MODE_MAILBOX_KHR
                PRESENT_MODE_FIFO_KHR
                PRESENT_MODE_FIFO_RELAXED_KHR
...
...
...

14 months agotest: Make mock ICD tests work on windows
Charles Giessen [Sat, 19 Aug 2023 22:45:26 +0000 (16:45 -0600)]
test: Make mock ICD tests work on windows

This does not enable testing in CI on windows, due to the loader ignoring
VK_DRIVER_FILES when running in admin mode.

14 months agobuild: Use Vulkan-Loader on windows
Charles Giessen [Sat, 19 Aug 2023 20:08:34 +0000 (14:08 -0600)]
build: Use Vulkan-Loader on windows

Previously, the vulkan-1.lib file was checked into the tree, so that it wasn't
a required build step for windows builds. This means that to use functions in
new versions of vulkan, the vulkan-1.lib file would have to be updated, which
is annoying.

This commit makes the necessary changes to allow linking to the vulkan-1.lib
built by Vulkan-Loader directly, as well as adding Vulkan-Loader as a
dependency for windows builds. It was previously only built for linux & macOS.

With the use of the Vulkan-Loader, the FindVulkan.cmake file could be removed,
as well as the checked in vulkan-1.lib files, one each for x86 and x64.

14 months agoUpdate known_good.json
Richard S. Wright Jr [Mon, 21 Aug 2023 19:03:33 +0000 (15:03 -0400)]
Update known_good.json

Minor change just to update to the latest good tag of MoltenVK

14 months agovulkaninfo: Make -j=<GPU> work
Charles Giessen [Sun, 20 Aug 2023 17:36:31 +0000 (11:36 -0600)]
vulkaninfo: Make -j=<GPU> work

The help text indicates that -j=<GPU> should work, but was never implemented
when the code was refactored.

14 months agoicd: Add support for VK_EXT_host_image_copy
Tony Barbour [Wed, 2 Aug 2023 19:11:28 +0000 (13:11 -0600)]
icd: Add support for VK_EXT_host_image_copy

15 months agobuild: Update to header 1.3.261
Mike Schuchardt [Fri, 4 Aug 2023 23:57:24 +0000 (16:57 -0700)]
build: Update to header 1.3.261

- Update known-good
- Generate source

15 months agopMessageIdName maybe NULL.
Water Chika [Wed, 26 Jul 2023 11:13:32 +0000 (11:13 +0000)]
pMessageIdName maybe NULL.

15 months agobuild: Update to header 1.3.260
Mike Schuchardt [Mon, 31 Jul 2023 22:45:59 +0000 (15:45 -0700)]
build: Update to header 1.3.260

- Update known-good
- Generate source

15 months agovulkaninfo: Enable Swapchain Colorspace ext
Charles Giessen [Tue, 25 Jul 2023 16:27:45 +0000 (10:27 -0600)]
vulkaninfo: Enable Swapchain Colorspace ext

This extension may be required to be enabled to enumerate HDR formats, best
to enable it if its available.

15 months agobuild: Update to header 1.3.259
Mike Schuchardt [Mon, 24 Jul 2023 17:27:24 +0000 (10:27 -0700)]
build: Update to header 1.3.259

- Update known-good
- Generate source

15 months agobuild: Update to header 1.3.258
Mike Schuchardt [Fri, 21 Jul 2023 17:09:57 +0000 (10:09 -0700)]
build: Update to header 1.3.258

- Update known-good
- Modify vulkaninfo_generator.py to wrap dynamically-sized ArrayWrapper with
  scope brackets
- Modify vulkaninfo_generator.py to add padding after
  VkPhysicalDeviceHostImageCopyFeaturesEXT to work around pre-release
  drivers with larger versions of this struct.
- Generate source

15 months agobuild: Add API_TYPE variable
Daniel Rakos [Tue, 18 Jul 2023 14:18:46 +0000 (16:18 +0200)]
build: Add API_TYPE variable

15 months agobuild: Fix generator directory references
Daniel Rakos [Mon, 17 Jul 2023 15:36:05 +0000 (17:36 +0200)]
build: Fix generator directory references

15 months agobuild: Update to header 1.3.257
Mike Schuchardt [Mon, 10 Jul 2023 17:46:26 +0000 (10:46 -0700)]
build: Update to header 1.3.257

- Update known-good
- Generate source

16 months agoicd: Add VK_KHR_cooperative_matrix support
spencer-lunarg [Tue, 4 Jul 2023 06:15:11 +0000 (15:15 +0900)]
icd: Add VK_KHR_cooperative_matrix support

16 months agobuild: Default to using the static CRT for MSVC
Charles Giessen [Tue, 27 Jun 2023 23:25:55 +0000 (17:25 -0600)]
build: Default to using the static CRT for MSVC

CMake 3.15 introduced CMAKE_MSVC_RUNTIME_LIBRARY as a way to control
the CRT linked to by default. The old way of searching and replacing
CMAKE_<LANG>_FLAGS does not work because CMake no longer adds the
/MD flag in newer versions. Thus we can remove that code and replace
it with a single instance of CMAKE_MSVC_RUNTIME_LIBRARY.

16 months agocmake: Update update_deps
Juan Ramos [Mon, 26 Jun 2023 18:53:10 +0000 (12:53 -0600)]
cmake: Update update_deps

16 months agoci: Enable Address Sanitizer in tests
Charles Giessen [Thu, 22 Jun 2023 21:08:36 +0000 (15:08 -0600)]
ci: Enable Address Sanitizer in tests

Turns Address Sanitizer on in the linux and macOS github actions runs.

16 months agotest: Expand MockICD test coverage
Charles Giessen [Thu, 22 Jun 2023 18:33:25 +0000 (12:33 -0600)]
test: Expand MockICD test coverage

16 months agobuild: Update to header 1.3.255
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

16 months agoicd: Document parametization for VulkanSC
Charles Giessen [Thu, 22 Jun 2023 18:34:55 +0000 (12:34 -0600)]
icd: Document parametization for VulkanSC

16 months agomock: Fix memory leak issue
Daniel Rakos [Thu, 22 Jun 2023 09:20:54 +0000 (11:20 +0200)]
mock: Fix memory leak issue

16 months agomock: Redo parameterization changes for Vulkan SC
Daniel Rakos [Thu, 22 Jun 2023 09:20:33 +0000 (11:20 +0200)]
mock: Redo parameterization changes for Vulkan SC

16 months agoci: Reduce linux actions combinations
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.

16 months agoicd: Add AllocateCommandBuffer test
Charles Giessen [Tue, 20 Jun 2023 05:19:54 +0000 (23:19 -0600)]
icd: Add AllocateCommandBuffer test

16 months agoci: Add tests to linux & mac action runs
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.

16 months agodocs: Remove unneccessary info about ccache and compile commands
Juan Ramos [Tue, 20 Jun 2023 16:19:59 +0000 (10:19 -0600)]
docs: Remove unneccessary info about ccache and compile commands

16 months agobuild: Only inlcude wayland if enabled for MockICD
Charles Giessen [Tue, 20 Jun 2023 04:24:23 +0000 (22:24 -0600)]
build: Only inlcude wayland if enabled for MockICD

16 months agoicd: Move handwritten code into .cpp file
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.

16 months agotest: Add basic MockICD test
Charles Giessen [Fri, 16 Jun 2023 00:25:42 +0000 (18:25 -0600)]
test: Add basic MockICD test

16 months agotest: Use build artifacts in tests
Charles Giessen [Fri, 16 Jun 2023 00:20:44 +0000 (18:20 -0600)]
test: Use build artifacts in tests

16 months agotest: Add test infrastructure
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.

16 months agobuild: Add googletest dependency for testing
Charles Giessen [Thu, 15 Jun 2023 20:05:29 +0000 (14:05 -0600)]
build: Add googletest dependency for testing

16 months agobuild: Update to C++14 as minimum version
Charles Giessen [Thu, 15 Jun 2023 19:32:35 +0000 (13:32 -0600)]
build: Update to C++14 as minimum version

16 months agobuild: Update to header 1.3.254
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

16 months agoicd: Add vkGetRenderAreaGranularity
scottmarsland [Thu, 1 Jun 2023 07:30:44 +0000 (08:30 +0100)]
icd: Add vkGetRenderAreaGranularity

Add implementation for vkGetRenderAreaGranularity.

16 months agoicd: Use #pragma once in header
Charles Giessen [Wed, 14 Jun 2023 23:25:30 +0000 (17:25 -0600)]
icd: Use #pragma once in header

17 months agoscripts/CMakeLists.txt: append to CMAKE_FIND_ROOT_PATH instead of replacing it
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).

17 months agobuild: Update to header 1.3.251
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

17 months agoicd: Add vkGetDescriptorSetLayoutSupport
spencer-lunarg [Tue, 30 May 2023 08:20:39 +0000 (17:20 +0900)]
icd: Add vkGetDescriptorSetLayoutSupport

17 months agoicd: Fix OOB writes in QueuePerfCounters
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.

17 months agovulkaninfo: Only enable necessary instance extensions
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

17 months agovkcubepp: Fix cmd buffer/pool leak
Tony-LunarG [Thu, 25 May 2023 21:02:12 +0000 (15:02 -0600)]
vkcubepp: Fix cmd buffer/pool leak

17 months agomock: Parameterization changes for Vulkan SC
Daniel Rakos [Mon, 22 May 2023 13:46:07 +0000 (15:46 +0200)]
mock: Parameterization changes for Vulkan SC

17 months agoUpdate known_good.json for MoltenVK 1.2.4
Richard S. Wright Jr [Wed, 24 May 2023 02:03:54 +0000 (22:03 -0400)]
Update known_good.json for MoltenVK 1.2.4

17 months agoicd: Fix WIN32 Mock ICD installation
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.

17 months agovulkaninfo: Reduce NVIDIA quaternary version field to 6 bits
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

17 months agomock: Fix image sparse mem requirements 2 queries
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.

17 months agomock: Fix sparse image format properties 2 queries
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.

17 months agomock: Extend external memory functionality
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

18 months agocmake: Keep VulkanRT-License.txt copyright up to date
juan-lunarg [Fri, 5 May 2023 22:35:44 +0000 (16:35 -0600)]
cmake: Keep VulkanRT-License.txt copyright up to date

closes #754

18 months agoci: Speed up MacOS CI
juan-lunarg [Fri, 5 May 2023 20:32:48 +0000 (14:32 -0600)]
ci: Speed up MacOS CI

18 months agoci: Use UPDATE_DEPS and ccache
juan-lunarg [Thu, 4 May 2023 20:10:36 +0000 (14:10 -0600)]
ci: Use UPDATE_DEPS and ccache

18 months agocmake: Add UPDATE_DEPS functionality
juan-lunarg [Thu, 4 May 2023 20:10:03 +0000 (14:10 -0600)]
cmake: Add UPDATE_DEPS functionality

18 months agogit: Ignore external/ directory
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

18 months agocube: remove unnecessary use-xlib
Powei Feng [Tue, 25 Apr 2023 04:39:07 +0000 (21:39 -0700)]
cube: remove unnecessary use-xlib

18 months agobuild: Update to header 1.3.250
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

18 months agodocs: Update README.md
juan-lunarg [Thu, 4 May 2023 19:28:19 +0000 (13:28 -0600)]
docs: Update README.md

18 months agomock: Add support for vkGetDeviceImageMemoryRequirements
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

18 months agomock: Add support for DeviceBufferMemoryRequirements
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

18 months agobuild: Update to header 1.3.249
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

18 months agobuild: Update to header 1.3.248
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

18 months agovulkaninfo: Flush before exiting
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.

18 months agobuild: Update to header 1.3.247
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

18 months agocmake: Add build option for Address Sanitizer
Charles Giessen [Fri, 7 Apr 2023 20:38:40 +0000 (14:38 -0600)]
cmake: Add build option for Address Sanitizer

18 months agovulkaninfo: Use VkFormatFeatureFlags2 by default
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.