[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[Git][xorg-team/vulkan/vulkan-loader][upstream-unstable] 49 commits: Add device log info on vkCreateDevice



Title: GitLab

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:

The diff was not included because it is too large.

Reply to: