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

[Git][xorg-team/vulkan/vulkan-loader][upstream-unstable] 28 commits: Fixed compiler frontend generation for Clang with GNU frontend on Win32



Title: GitLab

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

Commits:

  • 5892ebe2
    by Basit Ayantunde at 2024-07-17T10:35:32-05:00
    Fixed compiler frontend generation for Clang with GNU frontend on Win32
    
  • c5c24ad6
    by dependabot[bot] at 2024-07-22T13:00:53-05:00
    build(deps): bump github/codeql-action from 3.25.12 to 3.25.13
    
    Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.12 to 3.25.13.
    - [Release notes](https://github.com/github/codeql-action/releases)
    - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
    - [Commits](https://github.com/github/codeql-action/compare/4fa2a7953630fd2f3fb380f21be14ede0169dd4f...2d790406f505036ef40ecba973cc774a50395aac)
    
    ---
    updated-dependencies:
    - dependency-name: github/codeql-action
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
  • be0e1c36
    by Bill Roberts at 2024-07-23T15:33:26-05:00
    aarch64: enable PAC/BTI
    
    Enable Pointer Authentication Codes (PAC) and Branch Target
    Identification (BTI) support for ARM 64 targets.
    
    PAC works by signing the LR with either an A key or B key and verifying
    the return address. Since the assembly code does not push and pop the
    link register to the stack, and it remains in the register file, their
    is no need to sign the LR, so PAC is essentially just adding it to the
    GNU notes section for auditing purposes.
    
    BTI works by marking all call and jump positions with bti c and bti
    j instructions. If execution control transfers via an indirect branch
    or call to an instruction other than a BTI instruction, the execution
    is killed via SIGILL.
    
    For BTI to work, all object files linked for a unit of execution,
    whether an executable or a library must have the GNU Notes section of
    the ELF file marked to indicate BTI support. This is so loader/linkers
    can apply the proper permission bits (PROT_BRI) on the memory region.
    
    PAC can also be annotated in the GNU ELF notes section, but it's not
    required for enablement, as interleaved PAC and non-pac code works as
    expected since it's the callee that performs all the checking.
    
    Testing was done under the following CFLAGS and CXXFLAGS for all
    combinations:
    1. -mbranch-protection=none
    2. -mbranch-protection=standard
    3. -mbranch-protection=pac-ret
    4. -mbranch-protection=pac-ret+b-key
    5. -mbranch-protection=bti
    
    Signed-off-by: Bill Roberts <bill.roberts@arm.com>
    
  • e72ca6b7
    by dependabot[bot] at 2024-07-29T19:48:22-05:00
    build(deps): bump github/codeql-action from 3.25.13 to 3.25.15
    
    Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.13 to 3.25.15.
    - [Release notes](https://github.com/github/codeql-action/releases)
    - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
    - [Commits](https://github.com/github/codeql-action/compare/2d790406f505036ef40ecba973cc774a50395aac...afb54ba388a7dca6ecae48f608c4ff05ff4cc77a)
    
    ---
    updated-dependencies:
    - dependency-name: github/codeql-action
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
  • faeb5882
    by Mike Schuchardt at 2024-08-02T11:28:17-07:00
    build: Update to header 1.3.292
    
  • ee668779
    by John Bauman at 2024-08-12T13:20:22-05:00
    Use ASM unknown function trampolines on GN
    
    The GN build doesn't currently support unknown function trampolines. To
    fix that, we can use the assembly trampolines. To generate
    the asm_offset assembly file, we can build it in a static library and
    pass -S to it; that causes the assembly file to be copied into the .a
    file. The python script can then extract it. This requires access to the
    "ar" executable, so this mechanism is only used if a path to ar is
    specified in //build_overrides/vulkan_loader.gni.
    
    To fix incremental builds, "gen_defines.asm" must be included using
    "#include", not ".include", since .include isn't a preprocessor
    directive and isn't picked up by clang's depfile creation.
    
  • 83cd92c7
    by Charles Giessen at 2024-08-13T09:24:09-05:00
    Check that ar_path is defined before use
    
  • 2804c254
    by Mike Schuchardt at 2024-08-16T12:17:58-07:00
    build: Update to header 1.3.293
    
    loader_extension_generator.py needed a tweak to handle boolean logic in
    the vk.xml extension dependency attributes.  Now that the dependency is
    encoded in vk.xml we don't need to manually turn on device_group for
    drivers >= 1.1. We DO need to track the driver api version since the xml
    expressions references it.
    
  • 452b3fd7
    by dependabot[bot] at 2024-08-16T14:19:10-05:00
    build(deps): bump github/codeql-action from 3.25.15 to 3.26.0
    
    Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.15 to 3.26.0.
    - [Release notes](https://github.com/github/codeql-action/releases)
    - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
    - [Commits](https://github.com/github/codeql-action/compare/afb54ba388a7dca6ecae48f608c4ff05ff4cc77a...eb055d739abdc2e8de2e5f4ba1a8b246daa779aa)
    
    ---
    updated-dependencies:
    - dependency-name: github/codeql-action
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
  • 4c34d975
    by dependabot[bot] at 2024-08-19T17:18:26-05:00
    build(deps): bump github/codeql-action from 3.26.0 to 3.26.3
    
    Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.0 to 3.26.3.
    - [Release notes](https://github.com/github/codeql-action/releases)
    - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
    - [Commits](https://github.com/github/codeql-action/compare/eb055d739abdc2e8de2e5f4ba1a8b246daa779aa...883d8588e56d1753a8a58c1c86e88976f0c23449)
    
    ---
    updated-dependencies:
    - dependency-name: github/codeql-action
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
  • 43887531
    by Charles Giessen at 2024-08-20T08:42:10-06:00
    Fix vkCreateSharedSwapchainsKHR not unwrapping handles correctly
    
    The loader would unwrap the first surface and use that for all created
    swapchains rather than unwrap each surface handle individually for each
    VkSwapchainCreateInfoKHR struct.
    
  • 9d6c8d66
    by Charles Giessen at 2024-08-22T15:21:35-06:00
    Add MARMASM support for Windows arm
    
    Completes the support matrix for the unknown function assembly code by
    adding Windows Arm assembly support. This requires using MARMASM which
    require CMake 3.26 support
    
    This support requires manually linking to Advapi32.lib which doesn't
    appear to be required on any other platform.
    
  • cfeba707
    by Charles Giessen at 2024-08-22T15:21:35-06:00
    update_deps.py: Support 32 bit arm
    
  • 25049cde
    by Mike Schuchardt at 2024-08-23T11:19:41-07:00
    build: Update to header 1.3.294
    
  • 2761c159
    by dependabot[bot] at 2024-08-27T08:33:34-06:00
    build(deps): bump github/codeql-action from 3.26.3 to 3.26.5
    
    Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.3 to 3.26.5.
    - [Release notes](https://github.com/github/codeql-action/releases)
    - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
    - [Commits](https://github.com/github/codeql-action/compare/883d8588e56d1753a8a58c1c86e88976f0c23449...2c779ab0d087cd7fe7b826087247c2c81f27bfa6)
    
    ---
    updated-dependencies:
    - dependency-name: github/codeql-action
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
  • 1f93bb34
    by Mike Schuchardt at 2024-09-02T11:54:52-07:00
    build: Update to header 1.3.295
    
  • d25bd69e
    by dependabot[bot] at 2024-09-02T13:30:24-06:00
    build(deps): bump github/codeql-action from 3.26.5 to 3.26.6
    
    Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.5 to 3.26.6.
    - [Release notes](https://github.com/github/codeql-action/releases)
    - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
    - [Commits](https://github.com/github/codeql-action/compare/2c779ab0d087cd7fe7b826087247c2c81f27bfa6...4dd16135b69a43b6c8efb853346f8437d92d3c93)
    
    ---
    updated-dependencies:
    - dependency-name: github/codeql-action
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
  • c758bac8
    by Charles Giessen at 2024-09-03T16:55:38-06:00
    Document layer requirements for querying vkCreateInstance from GIPA
    
    The vkGetInstanceProcAddr function was ammended in header version 1.2.193
    to require global functions be queried with NULL instance parameters,
    including vkCreateInstance. Layers written before that time may not expect
    the instance parameter to be NULL, so in order to maintain compatibility,
    the loader code (which itself dates to before Vulkan's public release) is
    left unmodified.
    
    Instead, code comments were left to indicate the non-spec compliant
    implementation as well as documentation in the LoaderLayerInterface mentioning
    how layers should handle the now invalid API usage.
    
    In the future, the loader could be modified to correctly follow the spec, but
    a survey of existing and previous layer implementations would need to be done
    to determine the impact of the change.
    
  • 55bd9d6c
    by Charles Giessen at 2024-09-09T14:33:46-06:00
    Remove unused VkIcdSurface struct members
    
    All of the VkIcdSurface<API> members, as well as the *_size & offset members
    are unused by the codebase. And drivers do not have access to this struct, as
    it is internal to the loader - no common definition exists elsewhere for
    drivers to use either.
    
  • 1108bba6
    by Branimir Ri\v{c}ko at 2024-09-09T15:37:31-06:00
    Stop reading json files twice
    
    Split out the JSON file opening and reading logic into a Windows
    and Posix function to allow only reading the contents of a file
    once.
    
  • 49641613
    by Charles Giessen at 2024-09-13T17:01:12-06:00
    Only add include paths for xcb, x11, & directfb instead of linking
    
    Previously, the loader linked to various windowing libraries but never
    made any calls into them. These can safely be removed, as including
    the libraries locations in the header search paths is sufficient.
    
    Because vulkan_core.h includes directfb.h without a path, it is
    necessary to add the search path found from pkg-config as well as
    the same path with `/directfb` appended to get vulkan_core.h to be
    able to find the header. This may be a bug in the vulkan_core.h
    or just an inconsistency with the way directfb is packaged on
    ubuntu 24, the system the change was developed on.
    
  • fa01cc1d
    by Charles Giessen at 2024-09-13T17:01:12-06:00
    Add missing [[maybe_unused]] attributes in test_icd.cpp
    
  • 1cf2764c
    by Charles Giessen at 2024-09-13T17:01:20-06:00
    Fixup note for VK_DRIVER_FILES env-var
    
    The original text was caused by a mistake during rebase which wasn't
    caught. This commit take the original non-mistake text and cleans that
    up further.
    
  • 926ec318
    by Charles Giessen at 2024-09-13T17:51:03-06:00
    Add VK_IMPLICIT_LAYER_APTH & VK_ADD_IMPLICIT_LAYER_PATH env-vars
    
    Add the environment variables VK_IMPLICIT_LAYER_PATH and
    VK_ADD_IMPLICIT_LAYER_PATH to control implicit layer path searching,
    mirroring the existing explicit layer only VK_LAYER_PATH and
    VK_ADD_LAYER_PATH.
    
    This fixes a gap in environment variable controls over the behavior
    of the loader.
    
  • b4853bda
    by Charles Giessen at 2024-09-13T17:51:03-06:00
    Documentation fixes
    
  • ab0fa451
    by Charles Giessen at 2024-09-13T17:51:03-06:00
    Small cleanup of regression tests
    
  • 226c01ed
    by Jordan Peck at 2024-09-26T11:18:10-05:00
    Fix windows_read_sorted_physical_devices buffer overrun
  • 7aeb5e43
    by Mike Schuchardt at 2024-09-26T11:18:20-05:00
    build: Update to header 1.3.296
    

30 changed files:

The diff was not included because it is too large.

Reply to: