commit | c381d7ad74ab8ff5d6b1042998a02135a9768d9b | [log] [tgz] |
---|---|---|
author | John Zulauf <jzulauf@lunarg.com> | Wed Jan 17 11:23:49 2018 -0700 |
committer | jzulauf-lunarg <32470354+jzulauf-lunarg@users.noreply.github.com> | Thu Jan 18 10:20:18 2018 -0700 |
tree | 4791e19b81d7d3e922b01800872784821664ec6d | |
parent | f57f451e6ce7a4952beb3d26d59ebeb0c077dcba [diff] |
tests: Add validation for layout lifetime issues Add unit tests for valid usages that flag when descriptor set update operations are being performed with descriptor sets create from destroyed descriptor set layouts. The tests use overloaded VUIDs (generic "must be valid * handles) which need to be replaced (and unclaimed) with specific ones when they are added to the spec. VALIDATION_ERROR_15c00280 (write dst must be valid) -> write dst created from destroyed layout VALIDATION_ERROR_03207601 (copy dst must be valid) -> copy dst created from destroyed layout VALIDATION_ERROR_0322d201 (copy src must be valid) -> copy src created from destroyed layout Change-Id: Ic37a745120899c072e2e5d8ceb96c5d93074355e
This project provides the Khronos official Vulkan ICD desktop loader and the Vulkan validation layers for Windows, Linux, and Android.
Platform | Build Status |
---|---|
Linux/Android | |
Windows |
Vulkan is an Explicit API, enabling direct control over how GPUs actually work. By design, minimal error checking is done inside a Vulkan driver. Applications have full control and responsibility for correct operation. Any errors in how Vulkan is used can result in a crash. This project provides Vulkan validation layers that can be enabled to assist development by enabling developers to verify their applications correct use of the Vulkan API.
Vulkan supports multiple GPUs and multiple global contexts (VkInstance). The ICD loader is necessary to support multiple GPUs and VkInstance-level Vulkan commands. Additionally, the loader manages inserting Vulkan layer libraries such as validation layers between the application and the ICD.
The following components are available in this repository:
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.
BUILD.md Includes directions for building all components as well as running validation tests and 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.
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.
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.