platform/upstream/Vulkan-Loader.git
3 years agoadd spec file accepted/tizen_6.5_unified tizen_6.5 accepted/tizen/6.5/unified/20211028.223329 accepted/tizen/unified/20210609.140505 submit/tizen/20210604.110910 submit/tizen/20210607.072910 submit/tizen_6.5/20211028.163301 tizen_6.5.m2_release
SooChan Lim [Thu, 29 Nov 2018 12:29:50 +0000 (21:29 +0900)]
add spec file

3 years agobuild: Update to header 1.2.179 upstream/1.2.179 upstream/v1.2.179
Mike Schuchardt [Mon, 24 May 2021 15:17:34 +0000 (09:17 -0600)]
build: Update to header 1.2.179

- Update known-good
- Generate source (no change)

Change-Id: Ib52dc0ff04f76fd1db2dea4a125a094d30abab62

3 years agobuild: Update to header 1.2.178
Mike Schuchardt [Tue, 11 May 2021 18:36:30 +0000 (11:36 -0700)]
build: Update to header 1.2.178

- Update known-good
- Generate source

Change-Id: I3e2756d9dc0452cc3743a05840d8e2a76961406a

3 years agoloader: Emit DEBUG for unknown function names
Charles Giessen [Tue, 4 May 2021 22:06:04 +0000 (16:06 -0600)]
loader: Emit DEBUG for unknown function names

Loader previously emitted WARN level log messages for unknown
function names. This isn't wrong behavior and is mainly useful to
loader developers. Many layers and applications try to load all
function pointers they know about, so this code path is well
travelled.

Change-Id: Ia3e4b47eddb36bd02bcbab8452e5a96d03f75bd3

3 years agoUse headers in the external folder prior to the system Vulkan headers
Mike Gorchak [Tue, 4 May 2021 20:33:16 +0000 (16:33 -0400)]
Use headers in the external folder prior to the system Vulkan headers

3 years agoMatch null queue check for vkGetDeviceQueue
sfricke-samsung [Tue, 4 May 2021 06:03:06 +0000 (23:03 -0700)]
Match null queue check for vkGetDeviceQueue

3 years agobuild: Update to header 1.2.177
Mike Schuchardt [Wed, 28 Apr 2021 16:22:18 +0000 (09:22 -0700)]
build: Update to header 1.2.177

- Update known-good
- Generate source (no changes)

Change-Id: I45f5702a6c975aa423b03f2e02fd19fca92d50d2

3 years agoscripts: Switch from mkpath to makedirs
Mike Schuchardt [Wed, 28 Apr 2021 19:10:06 +0000 (12:10 -0700)]
scripts: Switch from mkpath to makedirs

distutils.dir_util.mkpath will not re-create a directory if it has been
removed with shutil.rmtree because it caches the filesystem under the
hood. This was causing the clone retry to fail on the second iteration
every time.

Switch to using os.makedirs for equivalent functionality without the
cache.

3 years agoloader: Prevent crash from VK_KHR_display
Lenny Komow [Tue, 27 Apr 2021 21:25:09 +0000 (15:25 -0600)]
loader: Prevent crash from VK_KHR_display

Previously, we assumed that the extension VK_KHR_display would be
available on all systems. This appears to no longer be the case. If we
get two ICDs, one which supports the extension and one which does not,
we used to get a crash if trying to call any function from the
extension on the physical device which did not support it. This solves
that crash

3 years agoloader: Fix stack overflow with large manifests
Lenny Komow [Fri, 23 Apr 2021 21:02:18 +0000 (15:02 -0600)]
loader: Fix stack overflow with large manifests

If the json manifest file was too large, the loader would do a stack
allocation that would fail, throwing an exception or creating
undefined behavior. This changes to a heap allocation.

3 years agoloader: Fix unused variable warning on Apple
Charles Giessen [Fri, 23 Apr 2021 20:04:38 +0000 (14:04 -0600)]
loader: Fix unused variable warning on Apple

3 years agoloader: Silence wrong ELF class errors
Charles Giessen [Thu, 22 Apr 2021 04:35:39 +0000 (22:35 -0600)]
loader: Silence wrong ELF class errors

Currently the loader does not distinguish between 32 and 64 bit ELF
class files. This causes `dlopen` to fail but is expected because
the different ELF class libraries are located in the same directory.
We can safely ignore this error. If encountered, we will report it
with the INFO logging level.

Change-Id: Icb8e5351208f8a413a29ea9c457bc3fdac7de292

3 years agoloader: Accept layer manifest version 1.2.0
Charles Giessen [Thu, 15 Apr 2021 17:11:30 +0000 (11:11 -0600)]
loader: Accept layer manifest version 1.2.0

This change only prevents the loader from warning on the new version.

Change-Id: If8c0aedb2e0052d5b6eb6f72fc4e7ad70b58d8a7

3 years agodocs: Update pre-instance-function list
Charles Giessen [Wed, 21 Apr 2021 16:25:14 +0000 (10:25 -0600)]
docs: Update pre-instance-function list

Add `vkEnumerateInstanceVersion` to the list of allowed pre instance
functions in the LoaderLayerInterface.md

Change-Id: I238aec5c3606af4d39bff5c50bbe75e909cd3224

3 years agobuild: Fix QNX build system
Mike Gorchak [Wed, 21 Apr 2021 17:03:33 +0000 (13:03 -0400)]
build: Fix QNX build system

Add missing root Makefile for build-qnx folder and enable BETA
extensions by default.

3 years agobuild: Update to header 1.2.176
Mike Schuchardt [Mon, 19 Apr 2021 07:33:45 +0000 (00:33 -0700)]
build: Update to header 1.2.176

- Update known-good
- Generate source
- Fix version parsing in FindVulkanHeaders.cmake
- Add to VK_ENABLE_BETA_EXTENSIONS to GN build to pick up beta
  VkObjectType values

Change-Id: Ied4e4e71017e48d344b1c9cacf037ae989aceec9

3 years agoci: Add verification of generated source code
Charles Giessen [Mon, 19 Apr 2021 21:08:26 +0000 (15:08 -0600)]
ci: Add verification of generated source code

The transition from travis to github CI dropped the check for verifying if the
source code generator was updated if it needed to for the changes.

Change-Id: I53fabfe14f42fe1c9899b2938f5e7b8073362954

3 years agobuild: Run generator to update extensions
Charles Giessen [Mon, 19 Apr 2021 22:42:22 +0000 (16:42 -0600)]
build: Run generator to update extensions

QNX_screen moved from generated code to wsi.c but the generator was not run
so the old code wasn't deleted. This commit rectifies that.

Change-Id: Iba9cc3e6871605f50159acf7b6a97428f940b49e

3 years agoAdd a couple of paragraphs about building process under QNX.
Mike Gorchak [Mon, 29 Mar 2021 23:36:17 +0000 (19:36 -0400)]
Add a couple of paragraphs about building process under QNX.

3 years agoRename build option to make it clearer that it belongs to QNX only.
Mike Gorchak [Sat, 13 Mar 2021 00:17:03 +0000 (19:17 -0500)]
Rename build option to make it clearer that it belongs to QNX only.

3 years agoAdd QNX platform makefiles.
Mike Gorchak [Thu, 11 Mar 2021 03:18:28 +0000 (22:18 -0500)]
Add QNX platform makefiles.

3 years agoAdd support for QNX platform.
Mike Gorchak [Thu, 11 Mar 2021 03:17:20 +0000 (22:17 -0500)]
Add support for QNX platform.

3 years agobuild: Update to header 1.2.174
Mike Schuchardt [Mon, 29 Mar 2021 19:49:57 +0000 (12:49 -0700)]
build: Update to header 1.2.174

- Update known-good
- Generate source (no changes)

Change-Id: Ia2099a0d63692c19ce8444721d5eb25f94c809d9

3 years agodocs: Update note about ICD proc addr
Lenny Komow [Tue, 23 Mar 2021 20:48:50 +0000 (14:48 -0600)]
docs: Update note about ICD proc addr

3 years agobuild: Update known-good files for 1.2.173 header
Mike Schuchardt [Tue, 23 Mar 2021 18:47:56 +0000 (11:47 -0700)]
build: Update known-good files for 1.2.173 header

- Update known_good.json
- Generate source files

3 years agobuild: Update known-good files for 1.2.172 header
Shannon McPherson [Mon, 8 Mar 2021 17:22:35 +0000 (10:22 -0700)]
build: Update known-good files for 1.2.172 header

Changes:
- Updated `known_good.json`

Change-Id: I7977f22711cefae65e6eabe00ec44d9e43e890a5

3 years agobuild: Update known-good files for 1.2.171 header
Shannon McPherson [Mon, 1 Mar 2021 17:27:51 +0000 (10:27 -0700)]
build: Update known-good files for 1.2.171 header

Changes:
- Updated `known_good.json`
- Generated new source files
- Added `VK_USE_PLATFORM_SCREEN_QNX` to platform list in
`common_codegen.py`

Change-Id: I2ef49799434ff31ff81680413a8700caea46593c

3 years agoscripts: Update copyright in `common_codegen.py`
Shannon McPherson [Mon, 1 Mar 2021 17:51:41 +0000 (10:51 -0700)]
scripts: Update copyright in `common_codegen.py`

Change-Id: Id5049a260cb8521a1768b6b48b36bdef825e5508

3 years agobuild: Update known-good files for 1.2.170 header
Jeremy Gebben [Mon, 15 Feb 2021 13:41:45 +0000 (06:41 -0700)]
build: Update known-good files for 1.2.170 header

Changes:
- Updated `known_good.json`
- Generated new source files

Change-Id: I98c582a8cad9ffbdda5a1b2ffa5517b866803047

3 years agodocs: Update readme to point to github actions
Lenny Komow [Wed, 10 Feb 2021 18:28:03 +0000 (11:28 -0700)]
docs: Update readme to point to github actions

3 years agorepo: Switch to github actions for CI
Lenny Komow [Tue, 9 Feb 2021 22:27:19 +0000 (15:27 -0700)]
repo: Switch to github actions for CI

3 years agobuild: Update known-good files for 1.2.169 header
Shannon McPherson [Tue, 2 Feb 2021 21:03:46 +0000 (14:03 -0700)]
build: Update known-good files for 1.2.169 header

Changes:
- Updated `known_good.json`

Change-Id: Iaf11b12afdcd11b06ebce4b66a0b56b2b097522f

3 years agoloader: Do not return OOM when layer count is 0
J.D. Rouan [Mon, 1 Feb 2021 22:03:04 +0000 (14:03 -0800)]
loader: Do not return OOM when layer count is 0

An application program that overrides malloc with an implementation that
returns NULL for a zero-sized allocation will cause some loader and
trampoline functions to incorrectly return VK_ERROR_OUT_OF_HOST_MEMORY
if there are no layers on the system. This patch prevents these errors
by also checking the layer count.

Fixes: https://github.com/KhronosGroup/Vulkan-Loader/issues/543

3 years agoCMake tweak for macOS cross compilers, seems okay elsewhere too
richard-lunarg [Mon, 1 Feb 2021 23:31:41 +0000 (18:31 -0500)]
CMake tweak for macOS cross compilers, seems okay elsewhere too

3 years agoloader: Fix AArch64 Android build
Kévin Petit [Fri, 29 Jan 2021 16:05:43 +0000 (16:05 +0000)]
loader: Fix AArch64 Android build

The Android NDK doesn't provide a separate libpthread. Don't
explicitly link it in when builing for Android.

Signed-off-by: Kévin Petit <kevin.petit@arm.com>
3 years agoFix crash with NULL messenger
nihui [Sat, 23 Jan 2021 12:00:34 +0000 (20:00 +0800)]
Fix crash with NULL messenger

3 years agoloader: Fix Android build
Kévin Petit [Thu, 28 Jan 2021 20:15:51 +0000 (20:15 +0000)]
loader: Fix Android build

- Add missing prototype
- Fix incorrect parameter handling

Signed-off-by: Kévin Petit <kevin.petit@arm.com>
3 years agoloader: Do not remove duplicated layers
Ludovico de Nittis [Tue, 1 Dec 2020 16:03:03 +0000 (17:03 +0100)]
loader: Do not remove duplicated layers

Linux can support multiple ABIs, but Vulkan Layer manifest does not
allow to specify different library paths, based on the ABI.

As a solution, for ICDs, we can simply create multiple manifests, one
per ABI, and the Loader will try them one by one until it finds the
library that is compatible with the executable class.

Instead, for Vulkan Layers, this method doesn't work because the Loader
will discard the manifests that have a duplicated layer name.

To add support for multiple ABIs to Vulkan Layers, and to make the
behavior similar to the ICDs, with this commit we remove the duplicated
layer name check.
Instead we add to the output list all the Vulkan Layers that we find,
and only when we are actually going to dlopen them, we discard the
layers with the same name that we already successfully opened.

Fixes: #155

Signed-off-by: Ludovico de Nittis <ludovico.denittis@collabora.com>
3 years agobuild: Update known-good files for 1.2.166 header
Shannon McPherson [Mon, 4 Jan 2021 18:14:09 +0000 (11:14 -0700)]
build: Update known-good files for 1.2.166 header

Changes:
- Updated `known_good.json`

Change-Id: Idf48ead0a4cad20ec6f1675741be0ebae45770a0

3 years agoloader: silence fread unused result
Charles Giessen [Mon, 28 Dec 2020 19:33:17 +0000 (13:33 -0600)]
loader: silence fread unused result

fread returns the count of values returned but was being ignored.
This commit makes sure to use that value when determining whether to
continue seeking to the end of the file.

Change-Id: Idb818cb3cda0cdde81aba1e5a4dd639c4814a923

3 years agobuild: Update known-good files for 1.2.165 header
Shannon McPherson [Fri, 18 Dec 2020 22:33:16 +0000 (15:33 -0700)]
build: Update known-good files for 1.2.165 header

Changes:
- Updated `known_good.json`
- Generated new source files

Change-Id: I5156923b1d3fb96d9e4fbe8dddb533f93561adfd

3 years agoRename LIB_SUFFIX to VULKAN_LIB_SUFFIX
Michel Zou [Wed, 16 Dec 2020 14:03:23 +0000 (15:03 +0100)]
Rename LIB_SUFFIX to VULKAN_LIB_SUFFIX

Closes #527

3 years agocmake: remove mingw lib prefix
Michel Zou [Thu, 26 Nov 2020 21:12:58 +0000 (22:12 +0100)]
cmake: remove mingw lib prefix

we want the dll to be named vulkan-1.dll and not libvulkan-1.dll
as it is the default on mingw (for drop-in replacement)

3 years agoloader: Remove SEEK_END usage
Lenny Komow [Tue, 1 Dec 2020 17:49:01 +0000 (10:49 -0700)]
loader: Remove SEEK_END usage

Change-Id: I699caaf048d70756649d9f6a2c7dfb012c6d2342

3 years agoloader: Properly check for elevated permissions
Charles Giessen [Mon, 19 Oct 2020 23:22:13 +0000 (17:22 -0600)]
loader: Properly check for elevated permissions

The status message for the loader not searching environment
variables when running with elevated permissions didn't properly
check. This commit adds in proper guards to make sure the status
message only prints when compiled with explicit use of non-secure
getenv

Change-Id: I993bb08de21bb0e338852368c24fe615d0d1f9b9

3 years agobuild: Update known-good files for 1.2.162 header
Shannon McPherson [Mon, 23 Nov 2020 16:19:03 +0000 (09:19 -0700)]
build: Update known-good files for 1.2.162 header

Changes:
- Updated `known_good.json`
- Generated new source files

Change-Id: Ic0f414ccf230314fa648abbb00da9509e1389a31

3 years agoAdd GGP WSI platform support to Vulkan-Loader
J.D. Rouan [Mon, 16 Nov 2020 23:36:42 +0000 (15:36 -0800)]
Add GGP WSI platform support to Vulkan-Loader

Add GGP WSI platform support to Vulkan-Loader. GGP is Google Games
Platform, the platform for Stadia.

3 years agoscripts: Add default return type for VkDeviceSize
Mike Schuchardt [Mon, 6 Jul 2020 23:05:57 +0000 (16:05 -0700)]
scripts: Add default return type for VkDeviceSize

3 years agoloader: Cast dxgi object to void** to suppress gcc warnings.
Biswapriyo Nath [Thu, 12 Nov 2020 13:05:06 +0000 (18:35 +0530)]
loader: Cast dxgi object to void** to suppress gcc warnings.

3 years agopkgconfig: Missing lib suffx on win32
Michel Zou [Mon, 16 Nov 2020 20:09:38 +0000 (21:09 +0100)]
pkgconfig: Missing lib suffx on win32

on win32 the library name is vulkan-1, not vulkan

3 years agobuild: Update known-good files for 1.2.161 header
Shannon McPherson [Mon, 16 Nov 2020 19:55:26 +0000 (12:55 -0700)]
build: Update known-good files for 1.2.161 header

Changes:
- Updated `known_good.json`

Change-Id: Ib6f5ff539b627b6978e81e6247ecfdeee1506c1f

3 years agoReland "Generate libvulkan.so.1 on Linux instead of libvulkan.so"
Shahbaz Youssefi [Tue, 3 Nov 2020 03:32:02 +0000 (22:32 -0500)]
Reland "Generate libvulkan.so.1 on Linux instead of libvulkan.so"

Chromium now uses VK_KHR_xcb_surface instead of VK_KHR_xlib_surface, so
it's able to use the gn build of Vulkan-Loader.

3 years agobuild: Update known-good files for 1.2.160 header
Shannon McPherson [Tue, 10 Nov 2020 18:07:08 +0000 (11:07 -0700)]
build: Update known-good files for 1.2.160 header

Changes:
- Updated `known_good.json`
- Generated new source files

Change-Id: I8afe698dd58a062d28f40a49f51cfa6c19409387

3 years agobuild: Update known-good files for 1.2.159 header
Shannon McPherson [Mon, 2 Nov 2020 18:46:58 +0000 (11:46 -0700)]
build: Update known-good files for 1.2.159 header

Changes:
- Updated `known_good.json`

Change-Id: I7c30f49ac3514e8c3dd1866b07bf3bc3ee2fe55e

3 years agoRevert "Generate libvulkan.so.1 on Linux instead of libvulkan.so"
Shahbaz Youssefi [Fri, 30 Oct 2020 05:21:10 +0000 (01:21 -0400)]
Revert "Generate libvulkan.so.1 on Linux instead of libvulkan.so"

Causes Chromium to pick up ANGLE's build of Vulkan-Loader instead of the
system one, with the caveat that the gn build of Vulkan-Loader doesn't
support VK_KHR_xlib_surface which Chromium depends on.

This change can be re-introduced once Chromium switches to
VK_KHR_xcb_surface.

This reverts commit 8308d6744d50e4dc357e60282436f6ec0942b8c8.

3 years agoAdd an option to disable MASM
Michel Zou [Thu, 22 Oct 2020 21:29:35 +0000 (23:29 +0200)]
Add an option to disable MASM

MASM generally goes with msvc, but it is not necessarily available with MinGW.

3 years agoConfigure vulkan.pc when pkg-config is available
xantares [Tue, 20 Oct 2020 17:51:16 +0000 (19:51 +0200)]
Configure vulkan.pc when pkg-config is available

This allows vulkan.pc to be enabled on MinGW

3 years agoGenerate libvulkan.so.1 on Linux instead of libvulkan.so
Shahbaz Youssefi [Fri, 23 Oct 2020 01:48:53 +0000 (21:48 -0400)]
Generate libvulkan.so.1 on Linux instead of libvulkan.so

This is the Linux way.  Previously, a copy step was added to copy
libvulkan.so to libvulkan.so.1.  However, that only runs if everything
is built and not when a specific target is built.

There is no need for libvulkan.so on Linux, so this change makes the
libvulkan target directly generate libvulkan.so.1 and removes the copy
step.

3 years agobuild: Update known-good files for 1.2.158 header
Shannon McPherson [Mon, 19 Oct 2020 16:09:31 +0000 (10:09 -0600)]
build: Update known-good files for 1.2.158 header

Changes:
- Updated `known_good.json`
- Generated new source files

Change-Id: I5f06eec6afb61bac576cbad3e6e6982c0bd0440c

3 years agotests: Use cmake -E copy instead of xcopy
Michel Zou [Thu, 22 Oct 2020 21:24:24 +0000 (23:24 +0200)]
tests: Use cmake -E copy instead of xcopy

3 years agoAdd support for VK_FUCHSIA_imagepipe_surface
Craig Stout [Mon, 26 Oct 2020 19:05:15 +0000 (12:05 -0700)]
Add support for VK_FUCHSIA_imagepipe_surface

3 years agoFix vulkan link to on cfgmgr32 case-sensitive fs
xantares [Tue, 20 Oct 2020 17:37:43 +0000 (19:37 +0200)]
Fix vulkan link to on cfgmgr32 case-sensitive fs

On MinGW from Linux this fails because cfgmgr32 is lowercase. This will still work on win32.

3 years agoCMake: Fix libdir in pkg-config file, dehardcode includedir
Rémi Verschelde [Mon, 12 Oct 2020 10:46:18 +0000 (12:46 +0200)]
CMake: Fix libdir in pkg-config file, dehardcode includedir

Fixes #489.
Supersedes #214.

4 years agoAdd Fuchsia support
Craig Stout [Thu, 1 Oct 2020 02:59:30 +0000 (22:59 -0400)]
Add Fuchsia support

Fuchsia (fuchsia.dev) builds with GN and uses a loader service to load
the ICD into the application's address space.

ANGLE builds have been verified.
Reemoves unused variable is_icd.

4 years agobuild: Update known-good files for 1.2.157 header
Shannon McPherson [Mon, 12 Oct 2020 20:37:47 +0000 (14:37 -0600)]
build: Update known-good files for 1.2.157 header

Changes:
- Updated `known_good.json`

Change-Id: I7705cbe942a67c7b915349a1c34c7615d1dc4691

4 years agoHandling also zero size override paths.
Dorian Apanel [Wed, 7 Oct 2020 22:46:12 +0000 (00:46 +0200)]
Handling also zero size override paths.

4 years agoloader: Override layer load when custom allocator used.
Dorian Apanel [Wed, 7 Oct 2020 09:18:51 +0000 (11:18 +0200)]
loader: Override layer load when custom allocator used.

When custom allocator is used, and is requested to allocate
zero size allocation, it can return NULL, which is then
interpreted as VK_ERROR_OUT_OF_HOST_MEMORY.

When such allocator was used, override layer was not loaded.

fix #485

4 years agoFix formatting issue.
Piers Daniell [Wed, 7 Oct 2020 18:29:54 +0000 (12:29 -0600)]
Fix formatting issue.

4 years agoFix some issues when EnumerateAdapterPhysicalDevices is available
Piers Daniell [Wed, 7 Oct 2020 16:39:39 +0000 (10:39 -0600)]
Fix some issues when EnumerateAdapterPhysicalDevices is available

1) Fix a memory leak with sorted_array[].physical_devices when EnumerateAdapterPhysicalDevices  returns an error. This fixes a failure with the "dEQP-VK.api.device_init.create_instance_device_intentional_alloc_fail" Vulkan CTS test.

2) Fix an issue with vkEnumeratePhysicalDeviceGroups() when fpCreateDXGIFactory1() fails, which will happen with Windows versions before version 10.

4 years agobuild: Update known-good files for 1.2.156 header
Shannon McPherson [Tue, 6 Oct 2020 16:47:13 +0000 (10:47 -0600)]
build: Update known-good files for 1.2.156 header

Changes:
- Updated `known_good.json`

Change-Id: Iefcdd52d8021515764d644ca86b0c5cd3dce8e16

4 years agoloader: Fixes build with MinGW-w64 8.0.0.
Brecht Sanders [Tue, 29 Sep 2020 16:14:55 +0000 (18:14 +0200)]
loader: Fixes build with MinGW-w64 8.0.0.

See http://winlibs.com for a release of such GCC compiler
See issue https://github.com/KhronosGroup/Vulkan-Loader/issues/474

4 years agodocs: Update build.md for static build changes
Charles Giessen [Mon, 5 Oct 2020 22:58:04 +0000 (16:58 -0600)]
docs: Update build.md for static build changes

macOS is the only supported platform for a static loader.
Changes the build.md and CMakeList.txt to correctly specify
the option and warning message.

Change-Id: Iaf00e65e60ce5833516b7fe290eed7198436b48b

4 years agodocs: Remove outdated references to WDK
Lenny Komow [Mon, 5 Oct 2020 22:38:35 +0000 (16:38 -0600)]
docs: Remove outdated references to WDK

Change-Id: Iab787fa84e76fefd5b22bd97566dbf47cf642ed0

4 years agoloader: Fix incorrect allocation error cleanup
Lenny Komow [Thu, 1 Oct 2020 17:03:25 +0000 (11:03 -0600)]
loader: Fix incorrect allocation error cleanup

4 years agodocs: Update static linking info
Charles Giessen [Tue, 29 Sep 2020 20:00:21 +0000 (14:00 -0600)]
docs: Update static linking info

When static linking was removed as a build option, the documentation
for it was not ammended. This commit changes the text to describe that
it used to be supported, is no longer supported, and why the feature
was removed.

Change-Id: I8da0c1c811be7e9dc5119c4c27c34a5cbb30edf8

4 years agobuild: Update known-good files for 1.2.154 header
Shannon McPherson [Mon, 21 Sep 2020 16:21:48 +0000 (10:21 -0600)]
build: Update known-good files for 1.2.154 header

Changes:
- Updated `known_good.json`
- Generated new source files

Change-Id: I909289d4e1523ed32aa62516a4725a2ff2df4f65

4 years agoRevert "loader: Return error if layer loading failed"
Charles Giessen [Thu, 17 Sep 2020 22:31:16 +0000 (16:31 -0600)]
Revert "loader: Return error if layer loading failed"

This reverts commit 49648d8fb398ac7d3d8e159939de060b8e759ecf.
Many layers were relying on silently failing to allow 32/64 bit versions
to work on linux. A later commit will properly check for failing layers.

4 years agoloader Fix issues with physical device sorting
Piers Daniell [Thu, 10 Sep 2020 22:48:19 +0000 (16:48 -0600)]
loader Fix issues with physical device sorting

Change-Id: I0bf01e5348aba2422eb0735928cfdcd682d1cd54

4 years agobuild: Update known-good files for 1.2.153 header
Shannon McPherson [Mon, 7 Sep 2020 19:37:45 +0000 (13:37 -0600)]
build: Update known-good files for 1.2.153 header

Changes:
- Updated `known_good.json`

Change-Id: I54f79fa08f65ff333ab47b651939dfd05b3c5094

4 years agodocs: Add info on VkConfig and override layer
Charles Giessen [Mon, 1 Jun 2020 17:45:30 +0000 (11:45 -0600)]
docs: Add info on VkConfig and override layer

Change-Id: I7fab8f7ff25a7f3ffd00a88da82daeac69e4e83c

4 years agoUpdate Linux distro used in Travis pipeline
Trung Lê [Fri, 10 Apr 2020 06:11:55 +0000 (16:11 +1000)]
Update Linux distro used in Travis pipeline

Ubuntu bionic comes with cmake 3.10.2. We could get rid of the custom cmake installation step.

4 years agoloader: Make device extensions return same count
Charles Giessen [Wed, 5 Aug 2020 19:42:44 +0000 (13:42 -0600)]
loader: Make device extensions return same count

Previously the loader would return a different count in the call to
vkEnumeratePhysicalDeviceExtensionProperties if any implicit layers contained extensions
that a driver also happened to support, thus causing a duplicate entry to the count, but
was later resolved in the second call to that function. This commit de-duplicates the
extensions when getting the count, preventing such an issue from occuring.

Change-Id: I3b3c0b8871e412d26dda916ed1e1e3fe3299491e

4 years agoloader: Return error if layer loading failed
Charles Giessen [Mon, 1 Jun 2020 22:26:54 +0000 (16:26 -0600)]
loader: Return error if layer loading failed

Loader will now fail vkCreateInstance with VK_ERROR_LAYER_NOT_PRESENT
if the layer's library failed to load. Previously, it would log the
error but continue, leading to false positives since it would return
VK_SUCCESS.

Change-Id: I00804b6f02cc6e927ac0219b4cb0c2361d6561fe

4 years agodocs: Remove mention of old layers
Charles Giessen [Thu, 27 Aug 2020 22:27:06 +0000 (16:27 -0600)]
docs: Remove mention of old layers

The LoaderAndLayerInterface.md contained references to layers that
are no longer exist. This commit cleans that up.

Change-Id: I09a78513ba6f56cad6b6e9f2432242b86a291e93

4 years agobuild: Update known-good files for 1.2.152 header
Shannon McPherson [Thu, 27 Aug 2020 17:51:32 +0000 (11:51 -0600)]
build: Update known-good files for 1.2.152 header

Changes:
- Updated `known_good.json`

Change-Id: Ia6090de3d029dd2bf96a8d745d3c95461fd31bd6

4 years agotests: Change license to Apache 2.0
Lenny Komow [Thu, 27 Aug 2020 17:22:26 +0000 (11:22 -0600)]
tests: Change license to Apache 2.0

Change-Id: Id0d23d1373154512b9e94af89a046b6b4e6d932b

4 years agoGN: Add missing header dependencies.
Jamie Madill [Thu, 27 Aug 2020 03:40:09 +0000 (23:40 -0400)]
GN: Add missing header dependencies.

These headers were detected as missing by an ANGLE tool. Adding them
should fix some edge cases with incremental builds.

4 years agorepo: Prevent cmake name mismatch warning
Lenny Komow [Tue, 25 Aug 2020 20:42:53 +0000 (14:42 -0600)]
repo: Prevent cmake name mismatch warning

Change-Id: I76c2c38ee42cf3b2956ecbeca4cd038dc4ffd800

4 years agoFix formatting
Ryan Harrison [Wed, 26 Aug 2020 14:02:28 +0000 (10:02 -0400)]
Fix formatting

4 years agoMove variables into scope they are referenced within
Ryan Harrison [Wed, 26 Aug 2020 14:01:14 +0000 (10:01 -0400)]
Move variables into scope they are referenced within

This prevents unused variable warnings/errors on non-Windows
platforms.

Fixes #459

4 years agoloader: Fix invalid cleanup on allocation error
Lenny Komow [Tue, 18 Aug 2020 21:38:08 +0000 (15:38 -0600)]
loader: Fix invalid cleanup on allocation error

Change-Id: I781ba00a65fa59a02423ea0d7c4168bda2c50193

4 years agoloader: Fix some non-msvc compiler warnings
Biswapriyo Nath [Wed, 29 Jul 2020 04:58:18 +0000 (10:28 +0530)]
loader: Fix some non-msvc compiler warnings

changes:
* loader/loader.c: cast dxgi_factory to void** type
* tests/loader_validation_tests.cpp: check if __STDC_FORMAT_MACROS is already defined
* tests/test_common.h: check if NOMINMAX is already defined
* tests/test_commogn.h: check _MSC_VER instead of WIN32 before pragma warning directive

Change-Id: I2fd78b760a90c2ac0e6463a60f5593a24ca904b8

4 years agoloader: Fixes for gn build
Cody Northrop [Mon, 17 Aug 2020 20:28:20 +0000 (14:28 -0600)]
loader: Fixes for gn build

4 years agobuild: Update known-good files for 1.2.151 header
Shannon McPherson [Mon, 17 Aug 2020 17:41:19 +0000 (11:41 -0600)]
build: Update known-good files for 1.2.151 header

Changes:
- Updated `known_good.json`

Change-Id: I1b10c8c50ddbdafc545b5cf8b41e28f5fe79efbd

4 years agodocs: Remove COPYRIGHT.txt from the readme
Fxshlein [Sun, 16 Aug 2020 08:29:50 +0000 (10:29 +0200)]
docs: Remove COPYRIGHT.txt from the readme

the COPYRIGHT.txt file itself was removed in https://github.com/KhronosGroup/Vulkan-Loader/commit/d7452989ff0cfbaeaecfb63d8516cab63cf41bee

4 years agorepo: Set appveyor build to use Win10 SDK
Lenny Komow [Fri, 14 Aug 2020 20:57:27 +0000 (14:57 -0600)]
repo: Set appveyor build to use Win10 SDK

Change-Id: Ic5dbf10dfd0a6229cd6783e5d2edd2f02c1b8ae4

4 years agoloader: Move tag to avoid linux warning
Lenny Komow [Fri, 14 Aug 2020 20:48:42 +0000 (14:48 -0600)]
loader: Move tag to avoid linux warning

4 years agoloader: Fix physical device sorting crash
Piotr Bialecki [Fri, 7 Aug 2020 18:02:02 +0000 (20:02 +0200)]
loader: Fix physical device sorting crash

Fixed crash in device enumeration when there are adapters which do not
support Vulkan. Fixed incorrect error code returned from device
enumeration.

Change-Id: Ieaa1994b3766083a30738a09408e020813e27188

4 years agoloader: Remove illegal asssignment
Lenny Komow [Mon, 3 Aug 2020 21:17:48 +0000 (15:17 -0600)]
loader: Remove illegal asssignment

4 years agoloader: Fix variable name
Lenny Komow [Mon, 3 Aug 2020 17:03:22 +0000 (11:03 -0600)]
loader: Fix variable name

Change-Id: Ib8f9e5aa9de79705ec3665baebab3c0b829abd62