Core Validation Layers
Sample Driver
New
- Updated loader, driver, demos, tests and many tools to use “alpha” vulkan.h (~ version 47). Supports new resource binding model, memory allocation, pixel FORMATs and other updates. APIDump layer is working with these new API elements. Glave can trace and replay the cube and tri demos. Other layers in progress.
- Warning: Recent versions of 14.10 have REMOVED DRI 3.
Version: 2:2.99.914-1~exp1ubuntu4.1 is known to work.
Prior updates
- VK API trace and capture tools. See tools/glave/README.md for details.
- Sample driver now supports multiple render targets. Added TriangleMRT to test that functionality.
- Added VK_SLOT_SHADER_TEXTURE_RESOURCE to vulkan.h as a descriptor slot type to work around confusion in GLSL between textures and buffers as shader resources.
- Misc. fixes for layers and Intel sample driver
- Added mutex to APIDump, APIDumpFile and DrawState to prevent apparent threading issues using printf
- Fix support for {Fill,Copy}Memory
- MemTracker can report issues to application via debug callback
- Update test infrastructure to improve ease of writing new tests. Add image comparison feature for regression testing. Requires ImageMagick library.
- Misc. fixes to demos, layers and Intel sample driver
- Added mutex to APIDump, APIDumpFile and DrawState to prevent apparent threading issues using printf
- Fix support for {Fill,Copy}Memory
- MemTracker can report issues to application via debug callback
- Update test infrastructure to improve ease of writing new tests. Add image comparison feature for regression testing. Requires ImageMagick library.
- Misc. fixes to demos, layers and Intel sample driver
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 Debug and Validation layers is in layers/README.md.
References
This version of the components are written based on the following preliminary specs and proposals:
License
This work is intended to be released as open source under a BSD-style license once the VK specification is public. Until that time, this work is covered by the Khronos NDA governing the details of the VK API.
Acknowledgements
While this project is being developed by LunarG, Inc; there are many other companies and individuals making this possible: Valve Software, funding project development; Intel Corporation, providing full hardware specifications and valuable technical feedback; AMD, providing VK spec editor contributions; ARM, contributing a Chairman for this working group within Khronos; Nvidia, providing an initial co-editor for the spec; Qualcomm for picking up the co-editor's chair; and Khronos, for providing hosting within GitHub.
Contact
If you have questions or comments about this driver; or you would like to contribute directly to this effort, please contact us at VK@LunarG.com; or if you prefer, via the GL Common mailing list: gl_common@khronos.org