Update the loader VUID messages that were added in validating handles
so that thye include the validation flag when going through debug utils
messenger.
Fix some loader terminator functions for instance physical device
functions (that were pre-Vulkan 1.1). At that point in the API, we
didn't treat VkPhysicalDevices like VkDevices. Now, you must first
query the device for extension support for even VkPhysicalDevice calls.
Back then, the loader had to emulate the functionality.
Added tests to validate many of these functions.
Validate the Vulkan dispatchable handles (VkInstance, VkPhysicalDevice, etc) for
any trampoline functions the loader uses to query the dispatch table from.
This is so we can at least report errors before something bad happens.
Also, add tests to the test framework to catch this case. Right now they simply
check to make sure we aborted, but they don't know why the loader aborted.
Eventually, we need to come back and check the loader messages and make sure it
aborted for the reasons we want.
Fix a generator warning in dispatch_table_helper_generator.py where a compare was
the wrong type.
Fixes GH Issue #64.
Gcc 11.2 build was failing to build with the GoogleTest version
that was being built. So bump to next version of GoogleTest with
fixes (GoogleTest release-1.11.0), but that also required changing
the build directory to build GoogleTest in so update our Makefiles
to build in the new folder as well.
Was out of date with the feature set VVL contained.
Fixed an issue where backslashes were used on windows, which caused issues when
cmake decided to escape a string one more time than necessary.
"C:\\Users\\..." -> "C:\Users" which has a `\U` escape symbol mucking things up.
The loader.rc file was used to set the version used in the loader. However,
this was always done manually (either by hand or a script to edit the file).
This commit makes the version number needed generated automatically based on
the current generated header version or uses a provided version, such as in
the case of SDK builds with a 'build revision', eg "1.2.191.2".
This commit also renames the atrosciously named
loader_generated_header_version_generator to a nicer
loader_versioning_generator.
Moves the many instances of #define _GNU_SOURCE into a single cmake call which
sets the macro in all translation units for the vulkan library. This way it
cannot be forgotten and makes behavior across the library consistent.
This changes the loader to always set the version to the one which was used when
generating the source files that are checked into the repo, instead of using the
version gotten from the Vulkan-Headers find cmake file.
Change-Id: Id0955ddfd10e35e0f358f5a77799d8baa4992b04
KhronosGroup/Vulkan-ValidationLayers switched to this method a while ago
and this syncs the KhronosGroup/Vulkan-Loader version of
helper_file_generator.py to match.
The loader_log messages were using the DEBUG_REPORT log levels
which just happened to coincide with the existing LOADER_ log levels.
Going forward, to add layer logging in its own level, this would not
have worked.
distutils.dir_util.mkpath will not re-create a directory if it has been
removed with shutil.rmtree because it caches the filesystem under the
hood. This was causing the clone retry to fail on the second iteration
every time.
Switch to using os.makedirs for equivalent functionality without the
cache.
- Update known-good
- Generate source
- Fix version parsing in FindVulkanHeaders.cmake
- Add to VK_ENABLE_BETA_EXTENSIONS to GN build to pick up beta
VkObjectType values
Change-Id: Ied4e4e71017e48d344b1c9cacf037ae989aceec9