## Git the Bits
-Make sure you have access to the Khronos GitLab repository at gitlab.khronos.org. Once you do, the
-preferred work flow is to clone the repo, create a branch, push branch to gitlab and then
+You should have access to the Khronos GitHub repository at https://github.com/KhronosGroup/. The
+preferred work flow is to clone the repo, create a branch, push branch to GitHub and then
issue a merge request to integrate that work back into the repo.
Note: If you are doing ICD (driver) development, please make sure to look at documentation in the [ICD Loader](loader/README.md) and the [Sample Driver](icd).
To create your local git repository:
```
-mkdir YOUR_DEV_DIRECTORY # it's called GL-Next on Github, but the name doesn't matter
+mkdir YOUR_DEV_DIRECTORY # it's called Vulkan-LoaderAndValidationLayers on Github, but the name doesn't matter
cd YOUR_DEV_DIRECTORY
-git clone -o khronos git@gitlab.khronos.org:vulkan/LoaderAndTools.git .
-# Or substitute the URL from your forked repo for git@gitlab.khronos.org:vulkan/LoaderAndTools.git above.
+git clone -o khronos https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers .
+# Or substitute the URL from your forked repo for https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers above.
```
## Linux Build
Example debug build:
```
-cd YOUR_DEV_DIRECTORY # cd to the root of the vk git repository
-export KHRONOS_ACCOUNT_NAME= <subversion login name for svn checkout of BIL>
-./update_external_sources.sh # fetches and builds glslang, llvm, LunarGLASS, and BIL
+cd YOUR_DEV_DIRECTORY # cd to the root of the Vulkan-LoaderAndValidationLayers git repository
+./update_external_sources.sh # Fetches and builds glslang, llvm, LunarGLASS, and spirv-tools
cmake -H. -Bdbuild -DCMAKE_BUILD_TYPE=Debug
cd dbuild
make
```
-To run VK programs you must tell the icd loader where to find the libraries.
+To run Vulkan programs you must tell the icd loader where to find the libraries.
This is described in a specification in the Khronos documentation Git
repository. See the file:
-https://gitlab.khronos.org/vulkan/vulkan/blob/master/ecosystem/LinuxICDs.txt
+https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/blob/sdk-1.0.3/loader/LoaderAndLayerInterface.md#vulkan-installable-client-driver-interface-with-the-loader
This specification describes both how ICDs and layers should be properly
packaged, and how developers can point to ICDs and layers within their builds.
## Validation Test
-The test executibles can be found in the dbuild/tests directory. The tests use the Google
+The test executables can be found in the dbuild/tests directory. The tests use the Google
gtest infrastructure. Tests available so far:
- vk_layer_validation_tests: Test Vulkan layers.
Example debug x64 build (e.g. in a "Developer Command Prompt for VS2013" window):
```
-cd LoaderAndTools # cd to the root of the Vulkan git repository
+cd YOUR_DEV_DIRECTORY # cd to the root of the Vulkan-LoaderAndValidationLayers git repository
update_external_sources.bat --all
-mkdir build
-cd build
-cmake -G "Visual Studio 12 Win64" ..
+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.
-VK programs must be able to find and use the VK.dll libary. Make sure it is either installed in the C:\Windows\System32 folder, or the PATH enviroment variable includes the folder that it is located in.
+Vulkan programs must be able to find and use the vulkan-1.dll libary. 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.
-To run VK programs you must tell the icd loader where to find the libraries.
+To run Vulkan programs you must tell the icd loader where to find the libraries.
This is described in a specification in the Khronos documentation Git
repository. See the file:
-https://gitlab.khronos.org/vulkan/vulkan/blob/master/ecosystem/WindowsICDs.txt
+https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/blob/sdk-1.0.3/loader/LoaderAndLayerInterface.md#vulkan-installable-client-driver-interface-with-the-loader
This specification describes both how ICDs and layers should be properly
packaged, and how developers can point to ICDs and layers within their builds.
echo Creating and/or updating glslang, LunarGLASS, spirv-tools in %BASE_DIR%\r
\r
if %sync-glslang% equ 1 (\r
- rd /S /Q %GLSLANG_DIR%\r
+ if exist %GLSLANG_DIR% (\r
+ rd /S /Q %GLSLANG_DIR%\r
+ )\r
if not exist %GLSLANG_DIR% (\r
call:create_glslang\r
)\r
)\r
\r
if %sync-LunarGLASS% equ 1 (\r
- rd /S /Q %LUNARGLASS_DIR%\r
+ if exist %LUNARGLASS_DIR% (\r
+ rd /S /Q %LUNARGLASS_DIR%\r
+ )\r
if not exist %LUNARGLASS_DIR% (\r
call:create_LunarGLASS\r
)\r
)\r
\r
if %sync-spirv-tools% equ 1 (\r
- rd /S /Q %SPIRV_TOOLS_DIR%\r
+ if exist %SPIRV_TOOLS_DIR% (\r
+ rd /S /Q %SPIRV_TOOLS_DIR%\r
+ )\r
if %errorlevel% neq 0 (goto:error)\r
if not exist %SPIRV_TOOLS_DIR% (\r
call:create_spirv-tools\r
echo Creating local glslang repository %GLSLANG_DIR%)\r
mkdir %GLSLANG_DIR%\r
cd %GLSLANG_DIR%\r
- git clone git@gitlab.khronos.org:GLSL/glslang.git .\r
+ git clone https://github.com/KhronosGroup/glslang.git .\r
git checkout %GLSLANG_REVISION%\r
if not exist %GLSLANG_DIR%\SPIRV (\r
echo glslang source download failed!\r
echo Creating local spirv-tools repository %SPIRV_TOOLS_DIR%)\r
mkdir %SPIRV_TOOLS_DIR%\r
cd %SPIRV_TOOLS_DIR%\r
- git clone git@gitlab.khronos.org:spirv/spirv-tools.git .
+ git clone https://github.com/KhronosGroup/SPIRV-Tools.git .
git checkout %SPIRV_TOOLS_REVISION%\r
if not exist %SPIRV_TOOLS_DIR%\source (\r
echo spirv-tools source download failed!\r
cd %GLSLANG_DIR%\r
\r
REM Cleanup any old directories lying around.\r
- rmdir /s /q build32\r
- rmdir /s /q build\r
+ if exist build32 (\r
+ rmdir /s /q build32\r
+ )\r
+ if exist build (\r
+ rmdir /s /q build\r
+ )\r
\r
echo Making 32-bit glslang\r
echo *************************\r
cd %LLVM_DIR%\r
\r
REM Cleanup any old directories lying around.\r
- rmdir /s /q build32\r
- rmdir /s /q build\r
+ if exist build32 (\r
+ rmdir /s /q build32\r
+ )\r
+ if exist build (\r
+ rmdir /s /q build\r
+ )\r
\r
echo Making 32-bit LLVM\r
echo *************************\r
cd %LUNARGLASS_DIR%\r
\r
REM Cleanup any old directories lying around.\r
- rmdir /s /q build32\r
- rmdir /s /q build\r
+ if exist build32 (\r
+ rmdir /s /q build32\r
+ )\r
+ if exist build (\r
+ rmdir /s /q build\r
+ )\r
\r
echo Making 32-bit LunarGLASS\r
echo *************************\r
cd %SPIRV_TOOLS_DIR%\r
\r
REM Cleanup any old directories lying around.\r
- rmdir /s /q build32\r
- rmdir /s /q build\r
+ if exist build32 (\r
+ rmdir /s /q build32\r
+ )\r
+ if exist build (\r
+ rmdir /s /q build\r
+ )\r
\r
echo Making 32-bit spirv-tools\r
echo *************************\r