Go to file
Jon Ashburn 95456f9d24 external: GH#246, Move glslang and spirv-tools inside of dir tree
Have update_external_sources create a sub-directory "external" to
fetch these components into. This way the update_external_sources
does not potentially overwrite files outside the directory tree.

Change-Id: Ia03d1fb9e4dad9d9db26a46e596fb1bf24fcb033
2016-05-03 11:37:09 -06:00
cmake loader: Removed CMake 2.8 files which broke CMake 3.x. 2016-01-26 13:34:30 -07:00
loader loader: Add compile-time option for layer search paths. 2016-04-28 16:19:47 -06:00
tests tests: Add loader test to the run_all_test on Linux 2016-04-28 17:21:08 -06:00
.clang-format Remove faulty LineLength .clang-format directive. 2016-03-21 10:59:53 -06:00
.gitignore external: GH#246, Move glslang and spirv-tools inside of dir tree 2016-05-03 11:37:09 -06:00
BUILD.md docs: Add libx11-dev to linux build dependencies 2016-04-15 13:04:05 -06:00
CMakeLists.txt external: GH#246, Move glslang and spirv-tools inside of dir tree 2016-05-03 11:37:09 -06:00
CONTRIBUTING.md docs: #444 Fix clang-format instructions 2016-04-28 14:20:13 -06:00
COPYRIGHT.txt winrtinstaller: formatting of license files, make them more readable 2016-04-19 16:16:50 -06:00
determine_vs_version.py misc: Update licenses to Apache 2.0 2016-04-19 12:11:25 -06:00
generator.py layers: Add 0 check for VkFlags array elements 2016-04-28 18:10:08 -06:00
genvk.py misc: Update licenses to Apache 2.0 2016-04-19 12:11:25 -06:00
glslang_revision toolchain: Bump everything to pull in required SPIR-V tools revision 2016-04-22 13:21:47 -06:00
LICENSE.txt misc: Update licenses to Apache 2.0 2016-04-19 12:11:25 -06:00
README.md update README to refer to COPYRIGHT.txt 2016-04-26 17:01:22 -06:00
reg.py misc: Update licenses to Apache 2.0 2016-04-19 12:11:25 -06:00
source_line_info.py misc: Update licenses to Apache 2.0 2016-04-19 12:11:25 -06:00
spirv-tools_revision toolchain: Bump everything to pull in required SPIR-V tools revision 2016-04-22 13:21:47 -06:00
vk_helper.py layers: Add copy constructors and initializers for safe_* structs 2016-04-28 08:26:44 -06:00
vk_layer_documentation_generate.py layers: Break out VkDescriptorSetLayout code into its own class 2016-04-26 06:30:20 -06:00
vk-generate.py misc: Update licenses to Apache 2.0 2016-04-19 12:11:25 -06:00
vk-layer-generate.py layers: Make unique object IDs unique cross-device and cross-instance 2016-05-02 10:47:15 -06:00
vk.xml misc: Update licenses to Apache 2.0 2016-04-19 12:11:25 -06:00
vulkan.py misc: Update licenses to Apache 2.0 2016-04-19 12:11:25 -06:00

Vulkan Ecosystem Components

Version 1.0, January 25, 2016

This project provides Khronos official ICD loader and validation layers for Vulkan developers on Windows and Linux.

Introduction

Vulkan is an Explicit API, enabling direct control over how GPUs actually work. No (or very little) validation or error checking is done inside a Vulkan driver. Applications have full control and responsibility. Any errors in how Vulkan is used often result in a crash. This project provides standard validation layers that can be enabled to ease development by helping developers verify their applications correctly use the Vulkan API.

Vulkan supports multiple GPUs and multiple global contexts (VkInstance). The ICD loader is necessary to support multiple GPUs and the VkInstance level Vulkan commands. Additionally, the loader manages inserting Vulkan layer libraries, including validation layers between the application and the ICD.

The following components are available in this repository:

How to Build and Run

BUILD.md includes directions for building all the components, running the validation tests and running the demo applications.

Information on how to enable the various Validation layers is in layers/README.md.

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

License

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

See COPYRIGHT.txt for a full list of licenses used in this repository.

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; Google providing significant contributions to the validation layers; Khronos providing oversight and hosting of the project.