-
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