commit | 5934a881b174adff5d1bc4fd3f2d2ed25ed174b8 | [log] [tgz] |
---|---|---|
author | Cody Northrop <cody@lunarg.com> | Tue May 12 16:23:59 2015 -0600 |
committer | Cody Northrop <cody@lunarg.com> | Tue Jul 07 11:33:46 2015 -0600 |
tree | 7cfdb9b73df90683ab7eb3cf3e2e9040a7db2b4e | |
parent | 4c8b2ba8be7634bc60fb07329f0e86577beeae8e [diff] |
toolchain: Add script to pull and build on Windows Summary: Add Windows version of update_external_sources, and relocate glslang and LunarGLASS target revisions to external files shared with Linux. Details: On Linux, we've successfully been using update_external_sources.sh to get on the target version of glslang (which generates SPIR-V) and LunarGLASS (which consumes SPIR-V). Both of these components are peers to the typical Vulkan directory structure: /LoaderAndTools /layers /loader /demos /... /glslang /LunarGLASS There hasn't been an equivalent on Windows, so tedious manual steps and GUIs have been used on individual systems. This commit introduces a Windows batch script that automates the process similar to Linux. It detects if you have the required dependendcies and early-outs for any problems. If you are a Windows developer that only wants spirv headers, run: update_external_sources.bat --sync-glslang If you want to build the Windows version of glslangValidator.exe, run: update_external_sources.bat --build-glslang If you want to run LunarGOO with SPIR-V support on Windows, run: update_external_sources.bat --build-LunarGLASS The script builds Debug and Release x64 versions, and should be run from: Developer Command Prompt for VS2013 This commit also relocates the target version of glslang and LunarGLASS to an external shared file that only contains the version number of each. Both scripts read the value from the file, therefore they cannot get out of sync.
Version 0.8, 04 Feb 2015
This project provides open source tools for VK Developers.
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:
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:
VK Library and header files, which include:
Core Validation Layers
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.
This version of the components are written based on the following preliminary specs and proposals:
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.
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.
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