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

[Git][xorg-team/vulkan/vulkan-loader][upstream-unstable] 50 commits: Update supported versions in the docs



Title: GitLab

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

Commits:

  • db0fb163
    by Ludovico de Nittis at 2022-05-20T20:03:51-06:00
    Update supported versions in the docs
    
    Mention the supported versions that were missing.
    
    Signed-off-by: Ludovico de Nittis <ludovico.denittis@collabora.com>
    
  • 3772b036
    by Rutwik Choughule at 2022-05-20T20:05:21-06:00
    docs: Fix typo in MoltenVK url
  • 2e5d77b6
    by Mike Schuchardt at 2022-05-24T11:41:56-06:00
    build: Update to header 1.3.215
    
    - Update known-good
    - Generate source
    
  • e65a8bca
    by Charles Giessen at 2022-05-24T14:18:26-06:00
    Refactor loader allocation functionality
    
    Created wrapper functions loader_alloc, loader_calloc, loader_free,
    and loader_realloc. Made the existing loader allocation functions use
    them. Replaced manual usage of VkAllocatorCallbacks with the new
    wrapper functions.
    
  • 0a2395df
    by Charles Giessen at 2022-05-24T14:18:26-06:00
    Use VkAllocationCallbacks in windows dirent
    
    Pass the allocation callbacks directly to dirent_on_windows.
    This removes a unecessary dependency between the loader headers and
    dirent_on_windows.
    
  • 9b355f19
    by Charles Giessen at 2022-05-24T14:18:26-06:00
    Use VkAllocationCallback in cJSON
    
    Make cJSON pass the VkAllocationCallbacks instead of the loader_instance.
    This removes and unecessary dependency between cJSON and the loader headers.
    It also somewhat simplifies the interface by not requiring the inst parameter
    everywhere, just in the creation of cJSON pointers and freeing.
    
  • 2d156537
    by Charles Giessen at 2022-05-24T14:18:26-06:00
    Use calloc instead of alloc+memset
    
    Replace naked uses of malloc & free with loader_alloc & loader_free.
    
  • c2897084
    by Charles Giessen at 2022-05-25T13:14:04-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.
    
  • fc48c864
    by Mark Young at 2022-05-25T15:53:52-06:00
    Clarify JSON Manifest "api_version"
    
    Clarify what is indicated by the "api_version" field in both
    layer and driver manifest files.
    
    Fixes issue #336.
    
  • 46767757
    by Mark Young at 2022-05-26T17:37:30-06:00
    Clean up environment var docs
    
    Split up into two tables:
      - Active
      - Deprecated
    
    Clean up restrictions into their own column for easier viewing.
    Made text slightly smaller to fit more in a smaller space.
    
  • 37c79534
    by Mark Young at 2022-05-27T10:39:14-06:00
    Fix typo in env var table
    
    Introduced a typo in my last commit in the table regarding the
    disabling of instance extensions.  This is not a Linux only env
    var.
    
  • b1478c3e
    by Charles Giessen at 2022-05-27T11:12:46-06:00
    Use calloc to allocate memory for the search path
    
    This prevents bugs where uninitialized memory is treated as a real path. It
    should fix an issue where sometimes CI would fail due to what appears to be a
    spurious path with junk characters.
    
  • e52b98e3
    by Charles Giessen at 2022-05-27T17:14:25-06:00
    Keep allocated debug callbacks until destroy instance
    
    Previously the loader would destroy any debug callbacks created during instance creation
    to later create new ones during instance destruction. This required a memory allocation
    to occur inside vkDestroyInstance, which can cause leaks if an OOM occurs during
    instance destruction.
    
    This commit simplifies the logic by keeping around the allocations made during instance
    creation by moving them into their own debug node chain. Then during instance destruction
    moves them back.
    
    Also renames several functions to better describe their intended purpose.
    
  • 9308d2f8
    by Charles Giessen at 2022-05-27T17:25:52-06:00
    Fix crashes from OOM in vkDestroyInstance
    
    Various situations could cause an OOM to turn into a hard crash due to double freeing
    of memory that was improperly cleaned up. Also fixed memory leaks when layers would
    report OOM.
    
  • 82890539
    by Tim Gfrerer at 2022-05-31T13:39:58-06:00
    fix typo
    
    resulsts -> results
  • 5437a085
    by Charles Giessen at 2022-05-31T14:51:38-06:00
    Update layer and driver vkGetPhysDevProcAddr docs
    
    Better describe the function's purpose and behavior, moving the
    reason for introducing vk_layer|icdGetPhysicalDeviceProcAddr to
    a following section for clarity.
    
  • a8c17d6a
    by Andrew Cox at 2022-06-01T12:48:01-06:00
    fix #948 Only calls the first GPDPA in layer chain
    
  • d86dc61e
    by Andrew Cox at 2022-06-01T12:48:01-06:00
    Comment tweak to reflect new behaviour.
    
  • aace830a
    by Charles Giessen at 2022-06-01T19:26:13-06:00
    Revert "Comment tweak to reflect new behaviour."
    
    This reverts commit d86dc61e76f66b32b6955e8e7cbfa3edc7ed7b32.
    
  • bcecf873
    by Charles Giessen at 2022-06-01T19:26:13-06:00
    Revert "fix #948 Only calls the first GPDPA in layer chain"
    
    This reverts commit a8c17d6a367417509aa7b11cf65083eac2b2f4c9.
    
  • d3db2f78
    by Mike Schuchardt at 2022-06-02T12:52:22-07:00
    build: Update to header 1.3.216
    
    - Update known-good
    - Generate source
    
  • c3601d4d
    by Charles Giessen at 2022-06-06T21:34:36-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.
    
  • 71e43122
    by Mike Schuchardt at 2022-06-13T12:54:07-07:00
    build: Update to header 1.3.217
    
    - Update known-good
    - Generate source
    
  • 0ace2447
    by Mike Schuchardt at 2022-06-16T13:35:17-07:00
    tests: Shuffle devices for sort test
    
    Shuffle the bus IDs for discrete devices pd0, pd3, and pd4. Notably this
    puts pd0 from icd0 in between pd4 and pd3 from icd2, making default
    sorted order extremely unlikely if not impossible.
    
  • e26be655
    by Mike Schuchardt at 2022-06-16T13:35:17-07:00
    build: Update to header 1.3.218
    
    - Update known-good
    - Generate source
    - Add missing enums to test framework
    
  • 477fb9e1
    by Graeme Leese at 2022-06-20T13:30:56-06:00
    Prevent loader config from overriding project config
    
    The loader options dummy targets were being linked into the public
    interface of the loader, meaning that they were also set in projects the
    include the loader as a sub-project. These override the containing
    projects settings and can break things. There don't seem to be any
    interface requirements in these settings, so include them as PRIVATE, so
    that they stay local to the loader.
    
  • 1f92bbb6
    by Brad Grantham at 2022-06-21T18:43:19-06:00
    only descend into layer GPDPA from trampoline
    
  • 8d3d6d4e
    by Charles Giessen at 2022-06-22T10:18:15-06:00
    Fix use-after-free in loader_add_layer_properties
    
    Occurs after file_vers is freed and when the layer manifest has a layers field
    but has a version of 1.0.0.
    
  • 865626ab
    by Charles Giessen at 2022-06-22T10:28:18-06:00
    Add 32 & 64 bit field to json manifests
    
    Allows drivers and layers to specify if they are 32 bit or 64 bit in the
    manifest file. This makes the loader able to prune manifests without
    loading the library and finding that it failed to load.
    
  • 5249c8f8
    by Andrew Naumov at 2022-06-24T13:14:10-06:00
    loader: Add unicode support
    
  • e91cfe1c
    by Marcin Kańtoch at 2022-06-24T14:08:04-06:00
    loader: device array dealloc fix
    
  • c8399c91
    by Yuly Novikov at 2022-06-30T12:24:44-06:00
    Fix BUILD.gn
    
    Add newly added file stack_allocation.h
    
    Fixes #846
    
  • 68e5bdc5
    by Mike Schuchardt at 2022-06-30T12:28:09-06:00
    build: Update to header 1.3.219
    
    - Update known-good
    - Generate source
    
  • 0ad591fa
    by Charles Giessen at 2022-07-01T13:36:27-06:00
    Make tests get files in a consistent order
    
    Use the order defined the FolderManager's to define the order readdir
    uses, rather than leaving it undetermined. This makes tests more consistent
    by forcing layers and drivers to always be found in the same order on all
    systems.
    
    Note: MacOS doesn't currently have consistent ordering due to a crash with
    ASAN. But even if ASAN isn't running, the dirent structure is being filled
    out incorrectly, causing further test failures. While not ideal to disable
    consistent ordering on MacOS, it is needed for linux and thus the issue
    isn't high enough priority to resolve.
    
  • 26921924
    by Jesse Natalie at 2022-07-05T14:34:53-06:00
    Enable the Vulkan loader to load VulkanOn12/Dozen out of the D3DMappingLayers app package
    
  • 9ce0cf68
    by Mike Schuchardt at 2022-07-07T11:26:05-06:00
    build: Update to header 1.3.220
    
    - Update known-good
    - Generate source
    
  • d8af0ae2
    by Charles Giessen at 2022-07-07T14:41:01-06:00
    Refactor vk_loader_platform.h
    
    Move includes of vulkan headers into loader_common.h, delete dead code
    and unnecessary macro defines, and generally clean up the header.
    
  • 0c7685be
    by Charles Giessen at 2022-07-07T14:41:01-06:00
    Initialize properly when statically linked
    
    Previously, the loader supported static linking. This capability was restricted
    to MacOS only, however the necessary functionality was never implemented. This
    commit adds the required code to properly initialize the loader when statically
    linked with MacOS
    
    Since the test framework was designed to dynamically load everything, it would
    require significant rearchitecting to support it. As such, a simple verification
    executable was added to the live_verification folder, instead of full support
    in the test framework.
    
  • 57d5dd56
    by Charles Giessen at 2022-07-07T18:17:34-06:00
    Fix corrupted pNext chain in vkCreateDevice
    
    When creating a device, the loader looks for the VkDeviceGroupCreateInfo
    structure and replaces it with its own. This allows the loader to edit the
    struct. However, to do this required editing the pNext chain. Because the
    edited chain contained pointers to structures whose lifetimes end when the
    vkCreateDevice function returns, the pNext chain is now corrupted.
    
    This commit fixes that by storing a pointer to the user's
    VkDeviceGroupCreateInfo and fixing up the pNext chain to use that instead..
    
  • 9a45e5a4
    by Charles Giessen at 2022-07-08T13:32:14-06:00
    Disable VulkanOn12/Dozen in Windows 7
    
    Chromium still supports building for Win7, as such the newly added support for
    VulkanOn12/Dozen needs to be excluded from said build. This is achieved by using
    the SDK version macros defined in <sdkddkver>
    
  • 4de4f256
    by Mike Schuchardt at 2022-07-11T13:38:35-06:00
    loader: Dynamically load Win8+ functions
    
    Allow loader to run on Windows 7 by dynamically loading function
    pointers for Windows 8 and above APIs.
    
  • 30cb46bf
    by Mike Schuchardt at 2022-07-14T09:20:23-07:00
    build: Update to header 1.3.221
    
    - Update known-good
    - Generate source
    
  • a1360802
    by Pan at 2022-07-15T10:49:09-06:00
    Fix typo in setting linux environment variables
    
    Replace `;` with `:` in setting linux environment variables.
  • fe3ea8d5
    by Mike Schuchardt at 2022-07-21T10:05:41-07:00
    build: Update to header 1.3.222
    
    - Update known-good
    - Generate source
    
  • 0bcddf34
    by Mike Schuchardt at 2022-07-28T10:59:12-07:00
    build: Update to header 1.3.223
    
    - Update known-good
    - Generate source
    
  • d4801c93
    by Charles Giessen at 2022-07-29T16:09:29-06:00
    Use memmove for copying pApplicationInfo
    
    Replace memcpy with memmove in terminator_CreateInstance to prevent possible issues
    with the same memory being the source of the copy and the dest, as there is a for
    loop which makes it possible for that to happen.
    
  • a0ab2f16
    by Mike Schuchardt at 2022-08-04T13:32:11-07:00
    build: Update to header 1.3.224
    
    - Update known-good
    - Generate source
    
  • 16d5d8f2
    by Charles Giessen at 2022-08-15T09:27:43-06:00
    Separate Major.minor version checks from Full version checks
    
    loader_make_Version previously would decode the major, minor, and patch info out of version data. This results in
    erroneous version checks that took into account patch version when they shouldn't of. The loader_make_full_version
    function is introduced for code that wishes to get the full major.minor.patch version and uses of
    loader_make_version that need the full version have been replaced.
    
  • 0635d256
    by Charles Giessen at 2022-08-15T09:32:06-06:00
    Rename GIPA, GPDPA, & GDPA terminators
    
    Use more correct terminology for the various terminators of the
    get proc addr functions. This makes it more obvious when each function
    is being called, as well as removing the unecessary
    loader_gpdpa_instance_internal.
    
  • 09afdf64
    by Charles Giessen at 2022-08-15T09:32:06-06:00
    Enable layer interception of unknown functions
    
    Re-add previously reverted behavior that allows layers to setup dispatch chains for unknown physical
    device and device functions during vkCreateInstance. Previously, functions not known to the loader could not
    be queried by a layer during vkCreateInstance (when dispatch tables should be setup). The change adds support
    for unknown functions in the trampolines of vkGetInstanceProcAddr and vkGetPhysicalDeviceProcAddr.
    

23 changed files:

The diff was not included because it is too large.

Reply to: