• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Vulkan Ecosystem Components
2
3This project provides the Khronos official Vulkan ICD desktop loader for Windows, Linux, and MacOS.
4
5## CI Build Status
6
7[![Build Status](https://github.com/KhronosGroup/Vulkan-Loader/workflows/CI%20Build/badge.svg?branch=master)](https://github.com/KhronosGroup/Vulkan-Loader/actions)
8
9## Introduction
10
11Vulkan is an explicit API, enabling direct control over how GPUs actually work.
12As such, Vulkan supports systems that have multiple GPUs, each running with a different driver, or ICD (Installable Client Driver).
13Vulkan also supports multiple global contexts (instances, in Vulkan terminology).
14The 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.
15Additionally, the loader manages inserting Vulkan layer libraries, such as validation layers, between an application and the drivers.
16
17This repository contains the Vulkan loader that is used for Linux, Windows, MacOS, and iOS.
18There is also a separate loader, maintained by Google, which is used on Android.
19
20The following components are available in this repository:
21
22- [ICD Loader](loader/)
23- [Loader Documentation](docs/LoaderInterfaceArchitecture.md)
24- [Tests](tests/)
25
26## Contact Information
27
28- [Charles Giessen](mailto:charles@lunarg.com)
29- [Mark Young](mailto:marky@lunarg.com)
30
31## Information for Developing or Contributing
32
33Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file in this repository for more details.
34Please see the [GOVERNANCE.md](GOVERNANCE.md) file in this repository for repository
35management details.
36
37## How to Build and Run
38
39[BUILD.md](BUILD.md)
40Includes directions for building all components.
41
42Architecture and interface information for the loader is in
43[docs/LoaderInterfaceArchitecture.md](docs/LoaderInterfaceArchitecture.md).
44
45## Version Tagging Scheme
46
47Updates 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`).
48
49**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`).
50
51This scheme was adopted following the 1.1.96 Vulkan specification release.
52
53## License
54
55This work is released as open source under a Apache-style license from Khronos
56including a Khronos copyright.
57
58## Acknowledgements
59
60While this project has been developed primarily by LunarG, Inc., there are many other
61companies and individuals making this possible: Valve Corporation, funding
62project development; Khronos providing oversight and hosting of the project.
63