Timo Aaltonen pushed to branch upstream-unstable at X Strike Force / vulkan / 
vulkan-loader


Commits:
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.

- - - - -


14 changed files:

- + .github/ISSUE_TEMPLATE/bug_report.md
- + .github/ISSUE_TEMPLATE/feature_request.md
- .github/workflows/build.yml
- BUILD.gn
- CMakeLists.txt
- docs/LoaderDriverInterface.md
- docs/LoaderInterfaceArchitecture.md
- docs/LoaderLayerInterface.md
- loader/cJSON.c
- loader/cJSON.h
- loader/extension_manual.c
- loader/generated/loader_generated_header_version.cmake
- loader/generated/vk_dispatch_table_helper.h
- loader/generated/vk_layer_dispatch_table.h


The diff was not included because it is too large.


View it on GitLab: 
https://salsa.debian.org/xorg-team/vulkan/vulkan-loader/-/compare/bfb419161602361626e40a7a3af0a63e06bcf204...322f7e3212b4fd9d70d7f48972963c83d24d06e4

-- 
View it on GitLab: 
https://salsa.debian.org/xorg-team/vulkan/vulkan-loader/-/compare/bfb419161602361626e40a7a3af0a63e06bcf204...322f7e3212b4fd9d70d7f48972963c83d24d06e4
You're receiving this email because of your account on salsa.debian.org.


Reply via email to