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


Commits:
d7281916 by Juan Ramos at 2023-10-09T17:54:19-06:00
tests: Use googletest version 1.14.0

- - - - -
6b36b69a by Charles Giessen at 2023-10-10T12:57:07-06:00
Enable additional security checks for MSVC

The /sdl compiler option enables additional security checks that were
previously not enabled.

- - - - -
ab0cef76 by Juan Ramos at 2023-10-11T13:25:37-06:00
gn: Cleanup chromium build

- - - - -
2dd0710a by Juan Ramos at 2023-10-11T14:53:12-06:00
gn: Remove .gn this file is generated now

- - - - -
0c4bd8cd by Juan Ramos at 2023-10-11T17:15:14-06:00
cmake: Check system name for Linux|BSD

A lot easier to read than `UNIX NOT APPLE`

- - - - -
ebde1f99 by Charles Giessen at 2023-10-12T12:28:11-06:00
Distinguish OOM from json parsing errors

Whenever an invalid JSON file was encoutered, the loader would return
VK_ERROR_OUT_OF_HOST_MEMORY because it couldn't distinguish an invalid JSON
file from the inability to allocate memory while parsing JSON. This commit
adds the necessary logic to be able to tell the two conditions apart as well
as adding rudimentary testing of it.

- - - - -
5402dd26 by Juan Ramos at 2023-10-12T14:03:42-06:00
cmake: Remove DETOURS_TARGET_PROCESSOR code

- - - - -
1f1c5cb5 by Juan Ramos at 2023-10-13T12:53:30-06:00
cmake: Fix DragonFly and GNU/Hurd

- - - - -
bef51c91 by Mike Schuchardt at 2023-10-13T14:08:29-07:00
build: Update to header 1.3.268

- Update known-good
- Generate source

- - - - -
83b46176 by Juan Ramos at 2023-10-16T14:41:16-06:00
apple: Fix incorrect version linker warning

Sets the patch version to 0 to avoid the linker warning

Enable warnings as errors on CI to prevent regression

closes #1332

- - - - -
c20f503f by Juan Ramos at 2023-10-16T15:14:56-06:00
ci: Prevent duplicate CI runs when pushing to repo

https://github.com/orgs/community/discussions/26276

- - - - -
e0423d55 by Juan Ramos at 2023-10-16T15:14:56-06:00
ci: Add dependabot

Updates actions automatically

- - - - -
be752c57 by dependabot[bot] at 2023-10-18T13:34:49-06:00
build(deps): bump actions/setup-python from 3 to 4

Bumps [actions/setup-python](https://github.com/actions/setup-python) from 3 to 
4.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <supp...@github.com>
- - - - -
93485086 by dependabot[bot] at 2023-10-18T14:32:35-06:00
build(deps): bump actions/checkout from 3 to 4

Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <supp...@github.com>
- - - - -
8238f4e6 by Charles Giessen at 2023-10-18T14:33:52-06:00
Revert "ci: Prevent duplicate CI runs when pushing to repo"

Causes pushes to branches on forks to no longer trigger Github Actions.

- - - - -
7b7d15bc by dependabot[bot] at 2023-10-18T14:34:10-06:00
build(deps): bump github/codeql-action from 2.21.8 to 2.22.3

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 
2.21.8 to 2.22.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/6a28655e3dcb49cb0840ea372fd6d17733edd8a4...0116bc2df50751f9724a2e35ef1f24d22f90e4e1)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <supp...@github.com>
- - - - -
4366625a by Juan Ramos at 2023-10-19T11:03:45-06:00
ci: Remove MacOSX Deployment Target

We only support the 2 latest MacOS releases similar to Ubuntu.
Which CI is already doing.

- - - - -
131a081e by Juan Ramos at 2023-10-19T11:51:12-06:00
scripts: Remove unused scripts

Checking the CI logs these scripts have not been run properly
on GitHub actions CI for a long time. I can't find a log
in GitHub actions CI that shows these scripts working properly.

- - - - -
350eeb65 by Mike Schuchardt at 2023-10-20T15:45:57-07:00
build: Update to header 1.3.269

- Update known-good
- Fix hard-coded tag index for getting extension names from vk.xml
- Relax regex for correlating kVulkanObjectType* with
  VK_DEBUG_REPORT_OBJECT_TYPE_* by making the trailing _EXT optional
- Generate source

- - - - -
9f9daefd by dependabot[bot] at 2023-10-23T13:32:47-06:00
build(deps): bump github/codeql-action from 2.22.3 to 2.22.4

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 
2.22.3 to 2.22.4.
- [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/0116bc2df50751f9724a2e35ef1f24d22f90e4e1...49abf0ba24d0b7953cb586944e918a0b92074c80)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <supp...@github.com>
- - - - -
b765f768 by Charles Giessen at 2023-10-23T17:27:34-06:00
Dont assert in vkAllocateCommandBuffers

The loader_init_dispatch first checks if the dispatchable handle has the
ICD_MAGIC_VALUE before setting the handle to the correct dispatch pointer.
This is useful to check that driver's are correctly creating the handle
using VK_LOADER_DATA.

Because layers are capable of wrapping handles, the loader_init_dispatch
function should only be called in terminators which run before any layers
have a chance to modify the ICD_MAGIC_VALUE. Otherwise the assert fails.

vkGetDeviceQueue & vkGetDeviceQueue2 uses loader_set_dispatch, which does
the same code as loader_init_dispatch but without the assert.

This commit changes vkAllocateCommandBuffers to use loader_set_dispatch.

- - - - -
7028f47e by Charles Giessen at 2023-10-24T09:04:58-06:00
Check for nullptr in vkCreateInstance trampoline

pCreateInfo must not be NULL, but the loader was dereferencing the pointer
before checking if it is NULL. Moving the dereference below the check for
NULL ensures no nullptr dereferencing occurs.

- - - - -
bef9c8ee by Juan Ramos at 2023-10-24T12:14:56-06:00
scripts: Update update_deps.py

- - - - -
b0dee931 by Juan Ramos at 2023-10-24T15:49:48-06:00
ci: Add iOS / tvOS builds

- - - - -
87469b14 by Juan Ramos at 2023-10-24T17:18:00-06:00
build: Move fushcia source files into loader directory

Mainly cosmetic to have 1 less top level directory

- - - - -
b3eed5b1 by Juan Ramos at 2023-10-25T12:31:00-06:00
cmake: Fixing unsecure environment warnings for MinGW/Apple

WIN32/Apple doesn't support these functions

- - - - -
e64bb86b by Juan Ramos at 2023-10-25T12:31:00-06:00
cmake: Move include(CheckIncludeFile) into loader/CMakeLists.txt

Currently it's confusing placed in the top level CMakeLists.txt

- - - - -
6fdd46a7 by Juan Ramos at 2023-10-25T13:02:08-06:00
build: Cleanup QNX build

Move QNX build scripts into the scripts directory. This is
consistent with how we deal with the chromium build.

Provide a useful error to CMake users trying to cross-compile
for QNX. Although CMake does support QNX we want to point users
to the official method.

- - - - -
e09818ad by Juan Ramos at 2023-10-25T14:23:15-06:00
docs: Document QNX build

- - - - -
96a189bc by Daniel Rakos at 2023-10-26T10:04:24-06:00
Fix instance create swallowing error

- - - - -
54d04dff by Juan Ramos at 2023-10-27T18:16:37-06:00
cmake: Fix x86 / x64 check

closes #1356

- - - - -
7c4026b8 by dependabot[bot] at 2023-10-30T14:22:53-06:00
build(deps): bump github/codeql-action from 2.22.4 to 2.22.5

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 
2.22.4 to 2.22.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/49abf0ba24d0b7953cb586944e918a0b92074c80...74483a38d39275f33fcff5f35b679b5ca4a26a99)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <supp...@github.com>
- - - - -
32ef9d1d by Mark Young at 2023-10-31T00:17:41-06:00
Fix Debug callbacks in layers in vkCreateInstance

After a layer calls down to vkCreateInstance, it may need to create a
DebugUtils Messenger (or Report object) for capturing debug information.
With the old design, it would get handled as a "during 
vkCreateInstance"
debug utils messenger object because the loader trampoline was still
in the middle of "vkCreateInstance".  However, treat it separately
if it was created with a call to vkCreateDebugUtilsMessenger and that
allows it to capture info all the way until the instance is destroyed.

- - - - -
1ddcde3c by Mark Young at 2023-10-31T00:17:41-06:00
Enable layer log messages in DebugUtils

Debug Utils messengers wouldn't receive the layer or driver messages.
Mofified the messages so that the they would be logged in layers or
other debug utils messenger.

- - - - -
9f257b62 by MykolaMykhno at 2023-10-31T16:58:58-06:00
tests: Create seed corpus data

- - - - -
88499360 by Charles Giessen at 2023-11-06T09:08:22-07:00
Implement VK_MSFT_layered_driver extension support

This extension reorders physical devices enumerated through the windows
EnumerateAdapterPhysicalDevices whenever multiple drivers exist for the same
LUID. This is so that if a driver is considered a 'layered 
implementation',
eg Dozen's Vulkan on Dx12, the physical device corresponding to the native
vulkan driver is preferred.

The implementation of this extension cause some renaming of structs, variables,
and parameters to make the code easier to understand, such as renaming
the struct loader_phys_devs_per_icd to loader_icd_physical_devices.
During the review process there was quite a bit of confusion about what the
struct's purpose was that should be much clearer now.

- - - - -
70837963 by Juan Ramos at 2023-11-06T14:08:59-07:00
cmake: Document why BUILD_STATIC_LOADER doesn't install

- - - - -
a9c17bd0 by Juan Ramos at 2023-11-07T10:01:55-07:00
Allow building a universal binary

My earlier error checking was too agressive and doesn't
allow for building a universal binary at all.

Move the error check inside of USE_GAS so it's clear to the user
what to do (IE disable GAS if building a univeral binary)

- - - - -
82da17cd by Juan Ramos at 2023-11-07T14:24:21-07:00
Remove vulkan.symbols.api not actually used anywhere

- - - - -
6342790c by Juan Ramos at 2023-11-07T14:24:21-07:00
cmake: Fail if Fuchsia

Fuchsia builds are only properly supported via the Chromium
build.

- - - - -
0b31098e by Mike Schuchardt at 2023-11-10T11:27:14-07:00
build: Update to header 1.3.270

- Update known-good
- Generate source

- - - - -
fdfce5a4 by Charles Giessen at 2023-11-13T13:51:31-07:00
Fix typo in LoaderDriverInterface.md

Linux drivers use the ".so" extension, not ".dylib"
- - - - -
29c7c128 by Charles Giessen at 2023-11-13T14:26:36-07:00
Cleanup loader_icd_init_entries

The logic of the function indicates that at a previous time, the
functions being loaded used dlsym/GetProcAddress to query functions.
Whenever that was changed to vkGetInstanceProcAddr, the error logging
wasn't updated to remove loader_platform_get_proc_address_error.
Trying to call dlerror() when no error has occured will return NULL,
which was dutifully passed onto loader_log, causing crashes.

The cleanup removes usage of that, as well as making the loading
logic uses 2 macros, one for required & one for non-required
function pointers.

Cleanup also meant streamlining the parameter list of
loader_icd_init_entries, since VkInstance and GetInstanceProcAddr
are both able to be gotten from the icd_term. And also meant cleaning
up the inst parameter being passed into loader_log, which was turning
the drivers VkInstance into loader_instance* erroneously.

A test was added to ensure that the error path when drivers do not
support the required functions correctly returns an error from
vkCreateInstance instead of crashing.

- - - - -
38c5ce8b by Charles Giessen at 2023-11-13T17:02:11-07:00
Improve warning message from terminator_CreateInstance

Old messages were clunky and lacked helpful info like which driver failed
and the error code returned by the driver.

- - - - -
0f8b6bc3 by Charles Giessen at 2023-11-17T11:56:41-07:00
Fix settings file crash found through fuzzers

A few error conditions weren't properly handled whenever the settings file 
is invalid.
Added the exact json file which caused the errors, then fixed issues with 
releasing
memory properly.

- - - - -
2f876caf by Juan Ramos at 2023-11-17T12:26:21-07:00
proc_pidpath takes a uint32_t not a size_t

- - - - -
840c599d by Juan Ramos at 2023-11-17T15:10:09-07:00
ci: Test universal binaries

- - - - -
fc9bfaa5 by Charles Giessen at 2023-11-17T18:40:56-07:00
Warn if apiVersion is below VK_API_VERSION_1_0 and above 0

Setting the apiVersion to an invalid value is an easy mistake to make.
But because it causes drivers to fail, the validation layers can not catch
it in time.

This commit makes it a 'fatal error' which forces log_message to write 
out
the message, regardless of whether or not VK_LOADER_DEBUG is set or if the
application has setup a debug callback in the pNext chain.

- - - - -
93c1772e by Juan Ramos at 2023-11-19T16:04:07-07:00
Remove -fno-builtin-memcmp

- - - - -
19e9e532 by Juan Ramos at 2023-11-19T16:14:38-07:00
Remove API_NAME

- - - - -
42ee043c by dependabot[bot] at 2023-11-20T12:54:05-07:00
build(deps): bump github/codeql-action from 2.22.5 to 2.22.7

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 
2.22.5 to 2.22.7.
- [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/74483a38d39275f33fcff5f35b679b5ca4a26a99...66b90a5db151a8042fa97405c6cf843bbe433f7b)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <supp...@github.com>
- - - - -
fe169031 by Charles Giessen at 2023-11-21T11:16:11-07:00
Add Undefined Sanitizer support

Allows easy enabling of UBSAN.

Fixes one issue found with UBSAN in the tests.

- - - - -
a4ff6a54 by Charles Giessen at 2023-11-21T11:16:11-07:00
Remove -fno-strict-aliasing from builds

This was added in commit 72199501cb01497ddc0e429d561e2e7e17a841c4

It was purported to fix a hang, but was never fully verified if it actually
fixed the underlying issue (or if the issue came from buggy optimizing
compilers or drivers).

The chromium build does not enable -fno-strict-aliasing and hasn't had any
issues known to be caused by strict aliasing optimizations.

This commit also fixes debug report/debug utils code that was not properly
casing to uintptr_t before assinging or dereferencing function parameters.
The same logic occurs in wsi.h which as it assigned a pointer of VkIcdSurface
to the VkSurface parameter.

- - - - -
0e7cf57a by Charles Giessen at 2023-11-23T07:30:10-07:00
Instance extensions unsupported by physical devices now return 
ERROR_EXTENSION_NOT_PRESENT

This is makes the code gen for VK_EXT_acquire_drm_display be in line with the 
wsi code
whenever calls to drivers are made which do not support the given extension.

- - - - -
4560f172 by dependabot[bot] at 2023-11-27T12:39:22-06:00
build(deps): bump github/codeql-action from 2.22.7 to 2.22.8

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 
2.22.7 to 2.22.8.
- [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/66b90a5db151a8042fa97405c6cf843bbe433f7b...407ffafae6a767df3e0230c3df91b6443ae8df75)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <supp...@github.com>
- - - - -
2e63057c by Mike Schuchardt at 2023-11-27T14:19:07-06:00
build: Update to header 1.3.271

- Update known-good
- Generate source

- - - - -
b00cb455 by Juan Ramos at 2023-11-27T14:00:53-07:00
Test Xcode generator

Needed for iOS / simulator testing

- - - - -
cf32131e by Juan Ramos at 2023-11-28T14:22:02-07:00
Rename BUILD_STATIC_LOADER to APPLE_STATIC_LOADER

BUILD_STATIC_LOADER is ambiguous and implies it will work on all
platforms.

APPLE_STATIC_LOADER isn't ambiguous.

Furthermore don't document BUILD_STATIC_LOADER. Otherwise users
may use it when they shouldn't.

Mark APPLE_STATIC_LOADER as advanced so it doesn't show up in
cmake-gui by default.

Furthermore, make the build fail if someone tries to use
APPLE_STATIC_LOADER on a non Apple platform.

- - - - -
ced1ecb5 by Juan Ramos at 2023-11-29T14:14:37-07:00
Add clang-format to CI

- - - - -
f4ae60be by Juan Ramos at 2023-11-30T14:14:53-07:00
docs: Remove comments about Travis/AppVeyor

- - - - -
b79c10ba by Mike Schuchardt at 2023-12-01T11:56:01-08:00
build: Update to header 1.3.272

- Update known-good
- Generate source

- - - - -
81c4aa29 by Charles Giessen at 2023-12-06T10:47:56-07:00
Specify which layer type is being searched in log

Makes it clear which layer type is being searched for in any given set of paths.

- - - - -
a0308b56 by Charles Giessen at 2023-12-06T14:26:25-07:00
Support Clang with GNU interface on Windows

By using CMAKE_CXX_COMPILER_FRONTEND_VARIANT, CMake will now distinguish
clang from clang-cl, allowing the correct command line argument formats
to be used.

Making tests work required fixing up windows_shim.cpp's usage of wcscpy
since that was triggering deprecation warnings. A simple for loop was
used instead.

- - - - -
2e502bf4 by Charles Giessen at 2023-12-07T14:01:04-07:00
Add simple timer of ICD preloading in live tests

Adds a simple executable that times how long 
vkEnumerateInstanceExtensionProperties
takes over and over to see how well the ICD preloading functions.

- - - - -
ba275bd8 by Charles Giessen at 2023-12-07T14:01:04-07:00
Unload drivers which report 0 physical devices

The loader did not unload any ICD's which contained zero physical devices, 
which
could cause premature exhaustion of memory in some circumstances, like 32 bit
applications. While the policy of the loader has been to keep things open for
the duration of the instance, these ICD's don't meaningfully 
participate in
anything due to the lack of VkPhysicalDevices.

This change adds a check after vkEnumeratePhysicalDevices where pPhysicalDevices
is not NULL such that all loader_icd_terms which reported zero physical devices
have its vkDestroyInstance called, and removed from the loader_instance's
icd_term linked list.

- - - - -
93855ba4 by Charles Giessen at 2023-12-07T14:01:04-07:00
Use memset to clear structs

Several places manually zero'd out each member of a struct. This makes it 
possible to
forget to zero out members, especially as structs change over time. Using memset
prevents that possibility.

- - - - -
0133778c by Charles Giessen at 2023-12-07T14:01:04-07:00
Fix spelling mistakes in comments

These creep in over time, and make the codebase harder to understand due to 
spelling
errors causing confusion when reading comments.

- - - - -
cf1a1eff by Mike Schuchardt at 2023-12-08T10:42:17-08:00
build: Update to header 1.3.273

- Update known-good
- Generate source

- - - - -
979242bd by Mike Schuchardt at 2023-12-08T10:42:17-08:00
ci: Remove macos-11 builds

CMake 3.28 is having issues with the macos-11 runner.

- - - - -
f901be5c by dependabot[bot] at 2023-12-14T15:06:46-07:00
build(deps): bump actions/setup-python from 4 to 5

Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4 to 
5.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <supp...@github.com>
- - - - -
e53cc582 by dependabot[bot] at 2023-12-14T15:06:54-07:00
build(deps): bump github/codeql-action from 2.22.8 to 2.22.9

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 
2.22.8 to 2.22.9.
- [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/407ffafae6a767df3e0230c3df91b6443ae8df75...c0d1daa7f7e14667747d73a7dbbe8c074bc8bfe2)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <supp...@github.com>
- - - - -
e1531d96 by Juan Ramos at 2023-12-14T18:13:14-07:00
Fix version installation of vulkan-loader

Currently libvulkan.1.3.0.dylib gets installed instead of
libvulkan.1.3.273.dylib

This fixes that while keeping the fix for the linker warning.

- - - - -
ac7d930a by Charles Giessen at 2023-12-18T13:11:01-07:00
Revert "Fix spelling mistakes in comments"

This reverts commit 0133778cb1c4493a9d580700b8a6e0fe493c601c.

- - - - -
984164a3 by Charles Giessen at 2023-12-18T13:11:01-07:00
Revert "Use memset to clear structs"

This reverts commit 93855ba4e2dc1fba6a19fae4ee8bcf1a8462aad1.

- - - - -
a79e2d63 by Charles Giessen at 2023-12-18T13:11:01-07:00
Revert "Unload drivers which report 0 physical devices"

This reverts commit ba275bd829ee7f6f2682df4a84a9ae8481c5b801.

- - - - -
b5c19da7 by Charles Giessen at 2023-12-18T13:11:01-07:00
Revert "Add simple timer of ICD preloading in live tests"

This reverts commit 2e502bf4c582a9fb2f1a5b863c74475c1a05972d.

- - - - -
bbc758bf by dependabot[bot] at 2023-12-18T16:29:48-07:00
build(deps): bump github/codeql-action from 2.22.9 to 3.22.11

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 
2.22.9 to 3.22.11.
- [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/c0d1daa7f7e14667747d73a7dbbe8c074bc8bfe2...b374143c1149a9115d881581d29b8390bbcbb59c)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <supp...@github.com>
- - - - -
ed075e31 by Mike Schuchardt at 2023-12-19T10:07:54-07:00
build: Update to header 1.3.274

- Update known-good
- Generate source

- - - - -
467d6816 by Charles Giessen at 2023-12-19T10:25:02-07:00
Use memset to clear structs

Several places manually zero'd out each member of a struct. This makes it 
possible to
forget to zero out members, especially as structs change over time. Using memset
prevents that possibility.

- - - - -
1529ba4e by Charles Giessen at 2023-12-19T10:25:02-07:00
Fix spelling mistakes in comments

These creep in over time, and make the codebase harder to understand due to 
spelling
errors causing confusion when reading comments.

- - - - -
dc2a829d by Charles Giessen at 2023-12-19T10:51:50-07:00
Fix wrong pointer casts in win32 surface code

The bad pattern was detected using clang/gcc but only on linux, so the
win32 code path never saw the fix.

- - - - -
40633a61 by Charles Giessen at 2023-12-19T14:05:09-07:00
Make sure VkSurfaceKHR is cast to uintptr properly

- - - - -
3798f68b by Juan Ramos at 2023-12-20T19:45:19-07:00
Improve clang on Windows testing

Test both GNU clang and clang-cl

Use Ninja for performance

- - - - -
e9978441 by Juan Ramos at 2023-12-21T14:55:57-07:00
Add VulkanLoaderConfigVersion.cmake

Provides versioning information for the CMake package

- - - - -
f914f5e4 by dependabot[bot] at 2023-12-25T12:02:16-07:00
build(deps): bump github/codeql-action from 3.22.11 to 3.22.12

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 
3.22.11 to 3.22.12.
- [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/b374143c1149a9115d881581d29b8390bbcbb59c...012739e5082ff0c22ca6d6ab32e07c36df03c4a4)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <supp...@github.com>
- - - - -
4eebcf08 by Juan Ramos at 2023-12-27T09:55:17-06:00
Cleanup GitHub action script

- - - - -
741a9dfd by Juan Ramos at 2023-12-27T16:19:13-06:00
Add integration testing

Test find_package(VulkanLoader CONFIG)

Minimal vulkan.pc testing is also added.

- - - - -
a3b11f1f by Juan Ramos at 2023-12-28T15:36:37-06:00
Only require C compiler

By default the loader only requires the C compiler.

But by default the C and CXX compilers are enabled.

Only enable the C compiler. Move corresponding C++ code into tests
directory.

- - - - -
9c1e2c96 by Juan Ramos at 2023-12-29T11:10:20-06:00
BUILD_WERROR OFF by default

Consistent naming with other repos we maintain.

OFF by default to avoid issues with newer compilers, specific
generators (Xcode), etc.

- - - - -
1fc2f177 by Juan Ramos at 2023-12-29T11:10:20-06:00
Document BUILD_WERROR

- - - - -
2aa686f4 by Juan Ramos at 2023-12-29T11:39:10-07:00
Set CMake properties consistently

Simplifies the code

Idiomatic way of setting visibility via CMake

- - - - -
66a0f145 by Daniel Rakos at 2024-01-05T12:47:54-06:00
build: API parameterization changes

- - - - -
e2b7bb12 by Mike Schuchardt at 2024-01-05T12:57:47-08:00
build: Update to header 1.3.275

- Update known-good
- Generate source

- - - - -
00893b9a by Charles Giessen at 2024-01-14T22:08:17-06:00
Fix lack of pthread linking in ubuntu 20.04

Ubuntu 20.04 saw a regression that caused the pthread library to no longer be
a part of libvulkan.so's linked libraries. This didn't cause the loader 
to fail
to load, rather any library that used pthread functions without linking to 
pthreads
themselves would fail to run, for example the Vulkan-ValidationLayers (VVL).
While it is currently unclear why VVL were trying to link to these symbols, this
would make loading validation layers impossible.

The issue turns out to be this line of CMake
`set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)`. Specifically, that line of
code appearing *before* `find_package(Threads REQUIRED)` causes CMake to 
'find'
CMAKE_HAVE_LIBC_PTHREAD successfully, whereas previously it would fail. Since
this variable indicates that linking to libc is enough to get threading
capabilities, CMake no longer links to pthread.

This commit is an effort to prevent breaking ABI due to changing the link 
library
list in Ubuntu 20.04. It should be noted that in Ubuntu 23.10, the location of
`find_package(Threads)` has no bearing on the value of CMAKE_HAVE_LIBC_PTHREAD.

- - - - -


20 changed files:

- + .github/dependabot.yml
- .github/workflows/build.yml
- .github/workflows/codeql.yml
- .gn → .github/workflows/format.yml
- .gitignore
- BUILD.gn
- BUILD.md
- CMakeLists.txt
- CONTRIBUTING.md
- docs/LoaderDriverInterface.md
- loader/CMakeLists.txt
- loader/adapters.h
- loader/cJSON.c
- loader/cJSON.h
- loader/debug_utils.c
- fuchsia/dlopen_fuchsia.c → loader/dlopen_fuchsia.c
- fuchsia/dlopen_fuchsia.h → loader/dlopen_fuchsia.h
- loader/extension_manual.c
- − loader/generated/.clang-format
- 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/f4c838e2e7358fc450f8112119bbdbb5b03e03fa...00893b9a03e526aec2c5bf487521d16dfa435229

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


Reply via email to