Go to file
Charles Giessen 522e2b6ba1 Check for version 1.3 in GetP.D.ToolProperties
To ensure that no crashes occur due to calling into the driver's
vkGetPhysicalDeviceToolProperties. This prevents cases where the function is
exported but the physical device doesn't actually support the function (such
as mesa with its function dispatcher shared between drivers).
2022-01-25 10:54:13 -08:00
.github/workflows Enable Address Sanitizser in Github Actions 2022-01-18 16:02:17 -07:00
build-gn build: Roll GN DEPS file 2020-07-10 10:22:09 -06:00
build-qnx Use headers in the external folder prior to the system Vulkan headers 2021-05-04 16:19:16 -06:00
cmake build: Update to header 1.2.176 2021-04-20 09:45:05 -07:00
docs Consistent loader device ordering 2022-01-12 16:53:35 -07:00
fuchsia Add Fuchsia support 2020-10-19 10:12:32 -06:00
loader Check for version 1.3 in GetP.D.ToolProperties 2022-01-25 10:54:13 -08:00
scripts build: Update to header 1.3.204 2022-01-25 10:54:13 -08:00
tests loader: Add basic 1.3 tests 2022-01-25 10:54:13 -08:00
.clang-format repo: Change source style from LLVM to Google 2017-01-26 15:45:50 -07:00
.cmake-format.py build: CMakeLists.txt cleanup, part 1 2018-09-20 12:12:14 -06:00
.gitattributes loader: Make use of a generated header version 2021-08-11 15:17:20 -06:00
.gitignore repo: Add update_deps.py script 2018-07-23 13:18:57 -06:00
.gn build: Add GN build 2019-05-13 07:49:06 -07:00
BUILD.gn Add support for building on ChromeOS 2022-01-25 09:59:13 -07:00
BUILD.md loader: Add aarch64 unknown ext chain implementation 2021-11-12 11:01:34 -07:00
CMakeLists.txt Fix GCC 11.2 build 2021-11-04 15:01:10 -06:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2018-10-10 16:06:35 -04:00
CONTRIBUTING.md doc: Add codegen instructions 2019-07-19 10:36:03 -07:00
GOVERNANCE.md Update contact information 2021-07-13 08:12:54 -06:00
LICENSE.txt Update LICENSE and remove COPYRIGHT 2019-01-10 09:54:41 -07:00
README.md Re-arrange/update loader docs 2021-10-15 13:42:00 -06:00
vulkan.symbols.api loader: Add 1.3 symbols defs to appropriate files 2022-01-25 10:54:13 -08:00

Vulkan Ecosystem Components

This project provides the Khronos official Vulkan ICD desktop loader for Windows, Linux, and MacOS.

CI Build Status

Build Status

Introduction

Vulkan is an explicit API, enabling direct control over how GPUs actually work. As such, Vulkan supports systems that have multiple GPUs, each running with a different driver, or ICD (Installable Client Driver). Vulkan also supports multiple global contexts (instances, in Vulkan terminology). The ICD loader is a library that is placed between a Vulkan application and any number of Vulkan drivers, in order to support multiple drivers and the instance-level functionality that works across these drivers. Additionally, the loader manages inserting Vulkan layer libraries, such as validation layers, between an application and the drivers.

This repository contains the Vulkan loader that is used for Linux, Windows, MacOS, and iOS. There is also a separate loader, maintained by Google, which is used on Android.

The following components are available in this repository:

Contact Information

Information for Developing or Contributing

Please see the CONTRIBUTING.md file in this repository for more details. Please see the GOVERNANCE.md file in this repository for repository management details.

How to Build and Run

BUILD.md Includes directions for building all components.

Architecture and interface information for the loader is in docs/LoaderInterfaceArchitecture.md.

Version Tagging Scheme

Updates to the Vulkan-Loader repository which correspond to a new Vulkan specification release are tagged using the following format: v<version> (e.g., v1.1.96).

Note: Marked version releases have undergone thorough testing but do not imply the same quality level as SDK tags. SDK tags follow the sdk-<version>.<patch> format (e.g., sdk-1.1.92.0).

This scheme was adopted following the 1.1.96 Vulkan specification release.

License

This work is released as open source under a Apache-style license from Khronos including a Khronos copyright.

Acknowledgements

While this project has been developed primarily by LunarG, Inc., there are many other companies and individuals making this possible: Valve Corporation, funding project development; Khronos providing oversight and hosting of the project.