layers: Update docs for shared utils DLL
authorMark Lobodzinski <mark@lunarg.com>
Mon, 13 Jun 2016 20:48:12 +0000 (14:48 -0600)
committerMark Lobodzinski <mark@lunarg.com>
Mon, 13 Jun 2016 23:35:24 +0000 (17:35 -0600)
Change-Id: I129b4d074f0604bbdf6d81c052333229ece99ac3

BUILD.md
README.md
layers/README.md

index 70636db..c5b8f48 100644 (file)
--- a/BUILD.md
+++ b/BUILD.md
@@ -19,7 +19,7 @@ Please see the [CONTRIBUTING](CONTRIBUTING.md) file in this respository for more
 
 To create your local git repository:
 ```
-git clone https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers 
+git clone https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers
 ```
 
 ## Linux Build
@@ -30,7 +30,7 @@ The build generates the loader, layers, and tests.
 This repo has been built and tested on Ubuntu 14.04.3 LTS, 14.10, 15.04, 15.10, and 16.04 LTS.
 It should be straightforward to use it on other Linux distros.
 
-These packages are needed to build this repository: 
+These packages are needed to build this repository:
 ```
 sudo apt-get install git cmake build-essential bison libx11-dev libxcb1-dev
 ```
@@ -60,7 +60,7 @@ packaged, and how developers can point to ICDs and layers within their builds.
 
 ## Validation Test
 
-The test executables can be found in the dbuild/tests directory. 
+The test executables can be found in the dbuild/tests directory.
 Some of the tests that are available:
 - vk\_layer\_validation\_tests: Test Vulkan layers.
 
@@ -107,12 +107,12 @@ Build all Windows targets after installing required software and cloning the Loa
 ```
 cd Vulkan-LoaderAndValidationLayers  # cd to the root of the cloned git repository
 update_external_sources.bat --all
-build_windows_targets.bat 
+build_windows_targets.bat
 ```
 
 At this point, you can use Windows Explorer to launch Visual Studio by double-clicking on the "VULKAN.sln" file in the \build folder.  Once Visual Studio comes up, you can select "Debug" or "Release" from a drop-down list.  You can start a build with either the menu (Build->Build Solution), or a keyboard shortcut (Ctrl+Shift+B).  As part of the build process, Python scripts will create additional Visual Studio files and projects, along with additional source files.  All of these auto-generated files are under the "build" folder.
 
-Vulkan programs must be able to find and use the vulkan-1.dll library. Make sure it is either installed in the C:\Windows\System32 folder, or the PATH environment variable includes the folder that it is located in.
+Vulkan programs must be able to find and use the vulkan-1.dll library. Make sure it is either installed in the system library directory (typically C:\Windows\System32), or the PATH environment variable includes the folder that it is located in.  Similarly, Vulkan layers require access to the VkLayer-utils.dll shared layer utility library. This file must be copied to the system library directory or into the directory containing the program executable.
 
 To run Vulkan programs you must tell the icd loader where to find the libraries.
 This is described in a `LoaderAndLayerInterface` document in the `loader` folder in this repository.
@@ -185,7 +185,7 @@ The [Qt Creator IDE](https://qt.io/download-open-source/#section-2) can open a r
 - Then do the same with the Vulkan-LoaderAndValidationLayers CMakeList.txt file.
 - In order to debug with QtCreator, a [Microsoft WDK: eg WDK 10](http://go.microsoft.com/fwlink/p/?LinkId=526733) is required. Note that installing the WDK breaks the MSVC vcvarsall.bat build scripts provided by MSVC, requiring that the LIB, INCLUDE, and PATH env variables be set to the WDK paths by some other means
 
-## Loader and Validation Layer Dependencies 
+## Loader and Validation Layer Dependencies
 gslang and SPIRV-Tools repos are required to build and run Loader and Validation Layer components. They are not git sub-modules of Vulkan-LoaderAndValidationLayers but Vulkan-LoaderAndValidationLayers is linked to specific revisions of gslang and spirv-tools. These can be automatically cloned and built to predefined locations with the update\_external\_sources scripts. If a custom configuration is required, do the following steps:
 
 1) clone the repos:
@@ -219,7 +219,7 @@ _on windows_
     Especially valuable are the BASH shell and git packages.
   - If you don't want to use Cygwin, there are other shells and environments that can be used.
     You can also use a Git package that doesn't come from Cygwin.
-       
-- [Ninja on all platforms](https://github.com/ninja-build/ninja/releases). [The Ninja-build project](ninja-build.org). [Ninja Users Manual](ninja-build.org/manual.html) 
+
+- [Ninja on all platforms](https://github.com/ninja-build/ninja/releases). [The Ninja-build project](ninja-build.org). [Ninja Users Manual](ninja-build.org/manual.html)
 
 - [QtCreator as IDE for CMake builds on all platforms](https://qt.io/download-open-source/#section-2)
index c23e716..f79d941 100755 (executable)
--- a/README.md
+++ b/README.md
@@ -1,3 +1,6 @@
+NOTE: Recent changes have been made regarding the loading of the shared layer utilities library on Windows.
+      Please see [BUILD.md](BUILD.md) for details.
+
 # Vulkan Ecosystem Components
 
 This project provides Khronos official ICD loader and validation layers for Vulkan developers on Windows and Linux.
index d3eecbf..f2e93e3 100644 (file)
@@ -68,13 +68,17 @@ layers/device_limits.cpp (name=`VK_LAYER_LUNARG_device_limits`) - This layer is
 ## Using Layers
 
 1. Build VK loader using normal steps (cmake and make)
-2. Place `libVkLayer_<name>.so` in the same directory as your VK test or app:
+2. Place `libVkLayer_<name>.so` or `VkLayer_<name>.dll` in the same directory as your VK test or app:
 
-    `cp build/layer/libVkLayer_threading.so  build/tests`
+    `cp build/layers/libVkLayer_threading.so  build/tests`    -or-
+    `copy build\layers/VkLayer_threading.dll build\tests`
 
     This is required for the Loader to be able to scan and enumerate your library.
     Alternatively, use the `VK_LAYER_PATH` environment variable to specify where the layer libraries reside.
 
+    [Windows Only] The VkLayer_utils.dll will also need to be copied into your app directory or to your
+                   system library directory (typically \Windows\System32).
+
 3. Create a vk_layer_settings.txt file in the same directory to specify how your layers should behave.
 
     Model it after the following example:  [*vk_layer_settings.txt*](vk_layer_settings.txt)