-
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] <support@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] <support@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] <support@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] <support@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] <support@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] <support@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] <support@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] <support@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] <support@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] <support@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] <support@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.