Go to file
2015-12-04 16:17:45 -07:00
cmake Fixes, that build is possible with Xlib configuration. 2015-12-04 16:17:45 -07:00
loader Doc: change api_version and layer names in documentation files 2015-12-02 08:05:27 -07:00
tests tests: Update layer names in run_all_tests_with_layers scripts 2015-12-01 10:26:04 -07:00
.gitignore vktrace: Add vktrace codegen dirs to .gitignore 2015-08-31 14:03:38 -06:00
BUILD.md ubuntu 15.10 directions for intel DRI3 2015-10-30 15:30:13 -06:00
CMakeLists.txt Fixes, that build is possible with Xlib configuration. 2015-12-04 16:17:45 -07:00
glslang_revision icd compiler, glslang: move to SPV 1.0 2015-11-23 16:07:24 -07:00
LICENSE.txt misc: switch copyright to Valve 2015-11-04 13:15:18 -07:00
LunarGLASS_revision icd compiler, glslang: move to SPV 1.0 2015-11-23 16:07:24 -07:00
LunarGLASS_revision_R32 icd compiler, glslang: move to SPV 1.0 2015-11-23 16:07:24 -07:00
README.md sdk: Update release notes for 0.9 SDK 2015-10-01 14:02:55 -06:00
source_line_info.py misc: Update author information 2015-11-04 13:15:18 -07:00
vk_helper.py layers: Convert most of the layers to the new WSI. 2015-12-01 10:18:23 -07:00
vk_layer_documentation_generate.py layers: Fix documentation file for new wsi surface ext 2015-12-01 10:18:24 -07:00
vk-generate.py Moved header files from include to include/vulkan 2015-11-06 12:54:48 -07:00
vk-layer-generate.py layers: Fix WSI-related build warning in APIDump 2015-12-02 16:14:01 -07:00
vulkan.py layers: Add WSI extensions to autogen code 2015-12-01 10:18:24 -07:00

Explicit GL (VK) Ecosystem Components

Version 0.9, 28 Sep 2015

This project provides open source tools for VK Developers.

Introduction

VK is an Explicit API, enabling direct control over how GPUs actually work. No validation, shader recompilation, memory management or synchronization is done inside an VK driver. Applications have full control and responsibility. Any errors in how VK is used are likely to result in a crash. This project provides layered utility libraries to ease development and help guide developers to proven safe patterns.

New with VK in an extensible layered architecture that enables significant innovation in tools:

  • Cross IHV support enables tools vendors to plug into a common, extensible layer architecture
  • Layered tools during development enable validating, debugging and profiling without production performance impact
  • Modular validation architecture encourages many fine-grained layers--and new layers can be added easily
  • Encourages open community of tool developers: led by Valve, LunarG, Codeplay and others
  • Customized interactive debugging and validation layers will be available together with first drivers

The components here are being shared with the Khronos community to provide insights into the specification as we approach an alpha header, and to assists those doing demos for GDC.

The following components are available:

New

  • Header matches provisional specification (v170) with two changes.
  • DrawIndirect correction (bug #14715)
  • DynamicState refactor (bug #14365)
  • Provisional specification document (PDF & HTML)
  • Loader now uses JSON manifest files for ICDs and layers. See BUILD.md for details on customizing loader behavior.
  • All validation errors now reported via DEBUG_REPORT extension. [DEBUG_REPORT, Extension Document](TODO: link to VulkanDbgExtensions.docx)
  • Warning: The sample driver requires DRI3 and recent versions of ubuntu 14.10 have REMOVED DRI 3. Version: 2:2.99.914-1~exp1ubuntu4.1 is known to work. Ubuntu 15.04 requires customization to add DRI3. See BUILD.md for details.

Prior updates

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