-
d3ae7ffe
by Mark Young
at 2022-03-21T14:04:39-06:00
Add device log info on vkCreateDevice
To make things clearer on output, log the device information for
the physical device being used on vkCreateDevice if either the
layer or the driver log bits are set.
-
010b23a1
by Mark Young
at 2022-03-21T14:04:39-06:00
Modify logging text output
Modify text output for logs so that we only flag types of messages
we're interested in and also try to add spacing so items line up
cleaner.
-
d24fa72f
by Mark Young
at 2022-03-21T14:04:39-06:00
More clean up to make sure we have enough space
-
2f89241d
by Charles Giessen
at 2022-03-21T14:05:38-06:00
Log when core GetToolingProperties is NULL.
The core entrypoint for vkGetPhysicalDeviceToolingProperties didn't log if the function in the
terminator was NULL. This makes it easier for implementations to know when they aren't
exporting the symbol.
-
c03954e1
by Mike Schuchardt
at 2022-03-23T11:28:44-06:00
build: Update to header 1.3.209
- Update known-good
- Generate source
-
0d76dd23
by Peng Huang
at 2022-03-24T10:13:04-06:00
Update BUILD.gn
Add LOADER_ENABLE_LINUX_SORT to workaround ANGLE crashes on Linux
-
2d1860d2
by Mark Young
at 2022-03-24T15:22:04-06:00
Fix non-sorted surface indexing
The physical device terminator was missing the ICD index in the
non-sorted path. This caused crashes in Angle before it was realized
that the sorting code was unintentionally disabled in that build
path.
Also, add tests to catch this case in the future in the WSI code, but
this required converting all the TEST_F tests to TEST since Gtest
didn't like mixing the 2 on my system.
Finally, fix a few WSI error messages in the loader which were
missing spaces.
Fixes #863 for non-sorting paths
-
ea503f36
by Charles Giessen
at 2022-03-24T19:00:28-06:00
Fixup windows test infrastructure
Cleaned up several bugs in the testing framework in the windows shim.
Rewrote the tests that exercise DXGI/D3DKMT functionality.
-
8354f108
by Charles Giessen
at 2022-03-25T11:52:46-06:00
Remove LDP_DRIVER_6
The cause for this policy was due to dynamic linker behavior which could have
resulted in the wrong symbols being used. However, this didn't occur in
practical usage of the dynamic linker. Also drivers exporting Vulkan
entrypoints was a useful behavior to enable testing and more flexible usage
that this policy actively interfered with.
-
d72909ee
by Mark Young
at 2022-03-25T15:29:40-06:00
Fix #888 crash in Lutris with Linux sorting
The sorting algorithm needed to take into account both the application
API version as well as the driver API version.
This required additional changes to the sorting algorithm for the fallback
since even if the instance supports the extension or Vulkan 1.1, the individual
drivers may not.
Also, add supporting tests which would catch these cases in the future.
In the process, I realized we assumed that the presence of an extension in the
test_icd indicated "enablement" which was incorrect. So I separated out
that into a set of "enabled instance extensions"
-
b383c513
by Mark Young
at 2022-03-25T15:29:40-06:00
Apply code review comments from @charles-lunarg
-
30f623fd
by Mark Young
at 2022-03-28T20:23:07-06:00
Add Bug Reporting Template
Add initial bug reporting template with requested fields.
-
5edd2f06
by Mark Young
at 2022-03-28T20:32:25-06:00
Update issue templates
Expand Bug report and add Feature Request template.
-
edc995ae
by Charles Giessen
at 2022-03-29T16:10:30-06:00
Replace TEST_F with TEST in most tests
Test fixturing (TEST_F) is useful when there is a lot of common code that needs
to be run for a suite of tests. However, the FrameworkEnvironment encapsulates
almost all of the setup work all tests needs, and so doesn't need to be in a
fixture. Making the add_icd call inside the tests makes it clear which binary
is being used.
This commit also uses the corrent signed/unsigned constants in tests, as was
warned by compilers when enhanced warnings were enabled (/W4 in msvc).
-
336508b0
by Charles Giessen
at 2022-03-29T16:10:30-06:00
Enable /W4 errors and support clang-cl
Enable /W4 errors on MSVC and fix all corresponding errors.
Refactor the CMakeLists.txt to allow for compiling with clang-cl. This required
figuring out that -Wall -Wextra mangle the set of warnings used. The solution
is to use /W4 instead when compiling with clang-cl on Windows.
-
ca66d5aa
by unknown
at 2022-03-30T10:06:23-06:00
Fixup several small issues found by Visual Studio
The VS Analyzer went through the codebase and pointed out a dozen warnings and
one possible crash.
-
a59027c9
by Biswapriyo Nath
at 2022-03-30T12:06:40-06:00
cmake: Add ENABLE_WERROR option
This adds a choice for the user whether to treat warnings as errors.
The remaining compiler options are moved where it was before.
-
f8c97eea
by Charles Giessen
at 2022-03-31T11:54:03-06:00
Dont emit warnings on unknown manifest file versions
Since the loader is meant to be forward compatible, it makes little sense to emit
a warning when an ICD or Layer manifest is found with a version that it doesn't
understand. Thus they now are INFO level.
-
7f84b1c2
by Mike Schuchardt
at 2022-04-01T10:55:08-07:00
build: Update to header 1.3.210
- Update known-good
- Generate source
-
c70d9c29
by Charles Giessen
at 2022-04-04T16:38:17-06:00
Add test for different ICD interface versions
Fix Test Framework not skipping Drivers which have a different LUID.
-
d921b818
by Charles Giessen
at 2022-04-04T16:38:17-06:00
Use correct TestICD in tests
Many tests were using the V6 TestICD, which means that it exports the
EnumerateAdapterPhysicalDevices. The loader then only looks for devices
using that functionality and if the test didn't set it up, the driver
won't have its devices found.
Also:
* Cleaned up handle_validation_tests
* Added WSI setup helpers, which put all the setup code for WSI in one place
* Created a to/from_nondispatch_handle function for TestICD, probably should
be in a more general location
-
d24a1045
by Charles Giessen
at 2022-04-04T16:38:17-06:00
Fix missed Physical Devices in Windows
The previous logic would cause any non-sorted physical devices to be missed
when aggregating the final list. This caused crashes due to the phys_dev
value not being initialized. The fix is to make sure both sorted and non
sorted physical devices are included in the final output of
setup_loader_term_phys_devs().
-
aeec5571
by Charles Giessen
at 2022-04-04T19:14:44-06:00
Fix 32 bit linux unknown function handling
Building and running the regression tests reveals that the 32 bit unknown function
handling on linux is broken. It required the same fixes as did windows 32 bit, since
the code is almost identical.
wsi.c also would not compile in 32 bit linux due to the warnings-as-errors being enabled,
which has also been fixed.
-
a06dd548
by Charles Giessen
at 2022-04-04T19:17:07-06:00
Clean up version checking logic
Add a few helper functions to simplify checking that a X.Y.Z version is sufficient.
-
469aead2
by Charles Giessen
at 2022-04-04T19:17:07-06:00
Allow meta layers to have newer component layers
Relax the requirement that all component layers in a meta layer must equal the version of the meta layer.
This allows enabling layers that do not have the same API version as the meta layer.
-
ae24c6e7
by Mike Schuchardt
at 2022-04-05T10:27:27-07:00
build: Update to header 1.3.211
- Update known-good
- Generate source
-
e7f0c753
by Charles Giessen
at 2022-04-06T15:43:25-06:00
Revert 32bit linux unknown ext chain change
Fix breaking of builds due to the dropping of GOT addressing mode.
-
1de26aad
by Charles Giessen
at 2022-04-06T16:23:51-06:00
Increase discovery timeout for Gtest test to 100 seconds
-
71769798
by Charles Giessen
at 2022-04-06T18:25:09-06:00
Warn if portability_enumeration extension should be enabled
Log an error if an application creates a VkDevice from a physical device which
was enumerated from a driver that is a portability driver but the application
didn't correctly enable the portability enumeration flag & extension.
-
859fb722
by Charles Giessen
at 2022-04-07T11:49:53-06:00
Document VK_KHR_portability_enumeration support
-
5b84b6d0
by Charles Giessen
at 2022-04-12T13:00:32-06:00
Refactor FrameworkEnvironment API a bit
Redo some of API's for adding layers and ICD's to the test framework.
-
f503824f
by Erik Faye-Lund
at 2022-04-13T01:35:14-06:00
Update LoaderDriverInterface.md
Fix link-syntax.
-
71bd6240
by Charles Giessen
at 2022-04-14T13:18:54-06:00
Add app_key OverrideMetaLayer tests
-
d16694d3
by Mike Schuchardt
at 2022-04-21T10:26:19-07:00
build: Update to header 1.3.212
- Update known-good
- Generate source
-
155ca6b8
by Mike Schuchardt
at 2022-04-21T10:26:19-07:00
ci: Remove fbactions/setup-winsdk
The default version 18362 started 404'ing and a new enough version is
present in the base image.
-
191e2614
by Sein Lee
at 2022-05-02T16:29:21-06:00
Fix typo
-
36a82e0d
by Charles Giessen
at 2022-05-03T13:39:00-06:00
Correctly check for NULL in loader_get_dispatch
-
0fd2ff83
by Charles Giessen
at 2022-05-03T17:38:09-06:00
Implement unknown function intercept in layers
Make it possible for layers to declare that they support unknown functions
and set up the layer dispatch table appropriately. A very niche use case
but helpful when developing validation for functions not yet out in the
public headers.
-
461f53cd
by Charles Giessen
at 2022-05-04T14:46:53-06:00
Fix CMake code for getting Git Version information
The ${CMAKE_SOURCE_DIR} uses the wrong directory when the loader is included as a
subproject. By using ${CMAKE_CURRENT_LIST_DIR}, the CMake code to find the git
commit and branch name will use the correct directory.
Additionally, the logic was ammended to curtail this issue in the future. Quotes are
included in the string to allow it to be used as a string literal, instead of
needing a const char[] variable and macros. Also, the CMake code was restructured
to always define GIT_BRANCH_NAME and GIT_TAG_INFO.
-
a9543c5a
by Charles Giessen
at 2022-05-04T15:40:27-06:00
Make portability drivers not load by default
Unless the portability enumeration extension is enabled and the create instance flags
contain VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR, do not enumerate drivers that
contain `is_portability_driver` in their JSON Manifest. This is phase 2 of the release
for the VK_KHR_portability_enumeration extension.
An error message will be printed when no drivers were reported but there was a
portability driver which was skipped over.
-
956139e9
by Mark Young
at 2022-05-04T16:04:38-06:00
Update layer manifest file
Some fields specific to manifest files were missing. Also updated
file to clearly indicate where fields are valid and usable.
-
08cad0c0
by Mark Young
at 2022-05-05T16:46:41-06:00
Output message if override app_keys mismatch on app name
Output a layer message if the override layer is present and the
app name is not in the app_keys list.
Fixes issue #917.
-
8dc9ab5c
by Charles Giessen
at 2022-05-11T08:57:30-06:00
Revert "Implement unknown function intercept in layers"
This reverts commit 0fd2ff83845abb924db9426b1741882e5ca064bf.
-
5aa2ee48
by Mike Schuchardt
at 2022-05-11T10:31:02-07:00
build: Update to header 1.3.213
- Update known-good
- Generate source
-
ad05e878
by Mike Schuchardt
at 2022-05-17T08:43:02-07:00
build: Update to header 1.3.214
- Update known-good
- Generate source
-
08e2cb6c
by Charles Giessen
at 2022-05-25T15:49:32-06:00
Fix a NULL inst crashing during loader_icd_scan
When checking for the portability driver field of driver manifests,
the loader did not check if inst was NULL first. Since this function
is called in pre-instance functions, this crashes the loader.
-
908dd281
by Mike Schuchardt
at 2022-06-03T09:02:29-07:00
build: Update to header 1.3.215
- Update known-good
- Generate source
-
27e6bc30
by Mike Schuchardt
at 2022-06-03T09:02:29-07:00
build: Update to header 1.3.216
- Update known-good
- Generate source
-
322f7e32
by Charles Giessen
at 2022-06-07T09:54:10-06:00
Only check first GPDPA in the layer chain.
When checking for unknown physical device functions, check the first layer that supports
vk_layerGetPhysicalDeviceProcAddr in the chain starting with the layer closest to the
application. This prevents unecessary work being done, and if any layer wraps VkInstance
will properly call through the wrapping layer first without calling into any other layer.
-
1d27447d
by Timo Aaltonen
at 2022-06-22T12:29:07+03:00
Merge tag 'sdk-1.3.211.0' into d-u
-
7e882736
by Timo Aaltonen
at 2022-06-22T12:29:16+03:00
Merge branch 'debian-unstable' into d-u
-
bfcfd706
by Timo Aaltonen
at 2022-06-22T12:29:45+03:00
version bump
-
34b42403
by Timo Aaltonen
at 2022-06-22T12:30:06+03:00
Refresh vulkan-headers to 1.3.216.0
-
e6c2d260
by Timo Aaltonen
at 2022-06-22T12:36:00+03:00
Drop generated files from packaging branch.
-
b95ac1a3
by Timo Aaltonen
at 2022-06-22T12:39:30+03:00
release to sid