push:
pull_request:
branches:
- - master
+ - main
jobs:
linux:
Setup Homebrew and components
-- Follow instructions on [brew.sh](http://brew.sh) to get Homebrew installed.
-
- /usr/bin/ruby -e "$(curl -fsSL \
- https://raw.githubusercontent.com/Homebrew/install/master/install)"
-
- Ensure Homebrew is at the beginning of your PATH:
export PATH=/usr/local/bin:$PATH
[submitting a pull request](https://help.github.com/articles/using-pull-requests/).
* Please read and adhere to the style and process
[guidelines](#coding-conventions-and-formatting) enumerated below.
-* Please base your fixes on the master branch.
+* Please base your fixes on the `main` branch.
SDK branches are generally not updated except for critical fixes needed to
repair an SDK release.
* Provide one or more tests which show a failure for the issue before your changes
corresponding generated output to keep the repository self-consistent. This requirement is enforced by both
Travis CI and AppVeyor test configurations. Regenerate source files after modifying any of the generator
scripts and before building and testing your changes. More details can be found in
-[BUILD.md](https://github.com/KhronosGroup/Vulkan-Loader/blob/master/BUILD.md#generated-source-code).
+[BUILD.md](BUILD.md#generated-source-code).
#### Testing Your Changes
This project provides the Khronos official Vulkan ICD desktop loader for Windows, Linux, and MacOS.
-## master to main upcoming change (January 23, 2023)
+## Default branch changed to 'main' (January 23, 2023)
-See https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/5084 for details.
+As discussed in https://github.com/KhronosGroup/Vulkan-Loader/issues/1107, the default branch of this repository is now 'main'. This change should be largely transparent to repository users, since github rewrites many references to the old 'master' branch to 'main'. However, if you have a checked-out local clone, you may wish to take the following steps as recommended by github:
+
+```sh
+git branch -m master main
+git fetch origin
+git branch -u origin/main main
+git remote set-head origin -a
+```
## CI Build Status
-[](https://github.com/KhronosGroup/Vulkan-Loader/actions)
+[](https://github.com/KhronosGroup/Vulkan-Loader/actions)
## Introduction
While not necessary for validation anymore, VkConfig does use meta layers to
group layers together based on user's preferences.
More can be found out about this functionality through both the
-[VkConfig documentation](https://github.com/LunarG/VulkanTools/blob/master/vkconfig/README.md)
+[VkConfig documentation](https://github.com/LunarG/VulkanTools/blob/main/vkconfig/README.md)
and the section later on the [Override Layer](#override-layer).
Meta-layers are detailed more in the
#### Override Layer
The "Override Layer" is a special implicit meta-layer created by the
-[VkConfig](https://github.com/LunarG/VulkanTools/blob/master/vkconfig/README.md)
+[VkConfig](https://github.com/LunarG/VulkanTools/blob/main/vkconfig/README.md)
tool and available by default when the tool is running.
Once VkConfig exits, the override layer is removed, and the system should
return to standard Vulkan behavior.
This can be accomplished in one of two ways:
1. Selecting specific layer paths using the
-[VkConfig](https://github.com/LunarG/VulkanTools/blob/master/vkconfig/README.md)
+[VkConfig](https://github.com/LunarG/VulkanTools/blob/main/vkconfig/README.md)
tool shipped with the Vulkan SDK.
2. Directing the loader to look for layers in specific files and/or folders by using the
`VK_LAYER_PATH` environment variable.
This can be also be accomplished in one of two ways:
1. Selecting specific layers using the
-[VkConfig](https://github.com/LunarG/VulkanTools/blob/master/vkconfig/README.md)
+[VkConfig](https://github.com/LunarG/VulkanTools/blob/main/vkconfig/README.md)
tool shipped with the Vulkan SDK.
2. Directing the loader to look for additional layers by name using the
`VK_INSTANCE_LAYERS` environment variable.
possibly including crashes or corruption.
</td>
<td><small>
- <a href="https://github.com/KhronosGroup/VK-GL-CTS/blob/master/external/openglcts/README.md">
+ <a href="https://github.com/KhronosGroup/VK-GL-CTS/blob/main/external/openglcts/README.md">
Vulkan CTS Documentation</a>
</small>
</td>
loader.
More details on VkConfig can be found in its
-[GitHub documentation](https://github.com/LunarG/VulkanTools/blob/master/vkconfig/README.md).
+[GitHub documentation](https://github.com/LunarG/VulkanTools/blob/main/vkconfig/README.md).
<br/>
<br/>
layer is disabled.
The override meta-layer is primarily enabled when using the
-[VkConfig](https://github.com/LunarG/VulkanTools/blob/master/vkconfig/README.md)
+[VkConfig](https://github.com/LunarG/VulkanTools/blob/main/vkconfig/README.md)
tool included in the Vulkan SDK.
It is typically only available while the VkConfig tool is actually executing.
Please refer to that documentation for more information.
#### Layer Manifest File Version 1.2.0
The ability to define the layer settings as defined by the
-[layer manifest schema](https://github.com/LunarG/VulkanTools/blob/master/vkconfig_core/layers/layers_schema.json).
+[layer manifest schema](https://github.com/LunarG/VulkanTools/blob/main/vkconfig_core/layers/layers_schema.json).
The ability to briefly document the layer thanks to the fields:
* "introduction": Presentation of the purpose of the layer in a paragraph.
These changes were made to enable third-party layers to expose their features
within
-[Vulkan Configurator](https://github.com/LunarG/VulkanTools/blob/master/vkconfig/README.md)
+[Vulkan Configurator](https://github.com/LunarG/VulkanTools/blob/main/vkconfig/README.md)
or other tools.
#### Layer Manifest File Version 1.1.2
<td>A layer <b>must</b> have a valid JSON manifest file for the
loader to process that ends with the ".json" suffix.
It is recommended validating the layer manifest file against
- <a href="https://github.com/LunarG/VulkanTools/blob/master/vkconfig_core/layers/layers_schema.json">
+ <a href="https://github.com/LunarG/VulkanTools/blob/main/vkconfig_core/layers/layers_schema.json">
the layer schema</a> prior to publication.</br>
The <b>only</b> exception is on Android which determines layer
functionality through the introspection functions defined in
<td>Yes</td>
<td>No</td>
<td><small>
- <a href="https://github.com/KhronosGroup/VK-GL-CTS/blob/master/external/openglcts/README.md">
+ <a href="https://github.com/KhronosGroup/VK-GL-CTS/blob/main/external/openglcts/README.md">
Vulkan CTS Documentation</a>
</small>
</td>
GREEN='\033[0;32m'
NC='\033[0m' # No Color
-FILES_TO_CHECK=$(git diff --name-only master | grep -v -E "^include/vulkan" | grep -E ".*\.(cpp|cc|c\+\+|cxx|c|h|hpp)$")
+FILES_TO_CHECK=$(git diff --name-only main | grep -v -E "^include/vulkan" | grep -E ".*\.(cpp|cc|c\+\+|cxx|c|h|hpp)$")
if [ -z "${FILES_TO_CHECK}" ]; then
echo -e "${GREEN}No source code to check for formatting.${NC}"
exit 0
fi
-FORMAT_DIFF=$(git diff -U0 master -- ${FILES_TO_CHECK} | python ./scripts/clang-format-diff.py -p1 -style=file)
+FORMAT_DIFF=$(git diff -U0 main -- ${FILES_TO_CHECK} | python ./scripts/clang-format-diff.py -p1 -style=file)
if [ -z "${FORMAT_DIFF}" ]; then
echo -e "${GREEN}All source code in PR properly formatted.${NC}"
'--ref',
dest='ref',
default='',
- help="Override 'commit' with git reference. E.g., 'origin/master'")
+ help="Override 'commit' with git reference. E.g., 'origin/main'")
parser.add_argument(
'--no-build',
dest='do_build',