-
Notifications
You must be signed in to change notification settings - Fork 283
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix ordering regression for VK_INSTANCE_LAYERS #1170
Fix ordering regression for VK_INSTANCE_LAYERS #1170
Conversation
CI Vulkan-Loader build queued with queue ID 50980. |
1 similar comment
CI Vulkan-Loader build queued with queue ID 50980. |
CI Vulkan-Loader build # 1886 running. |
CI Vulkan-Loader build # 1886 failed. |
The commit to add VK_LOADER_LAYERS_ENABLE/DISABLE inadvertently broke the ordering guarantees of VK_INSTANCE_LAYERS. This commit restores that order. If both VK_INSTANCE_LAYERS and VK_LOADER_LAYERS_ENABLE add layers, the order will be VK_INSTANCE_LAYERS enabled layers, in the order specified by the env-var, followed by any layers enabled by VK_LOADER_LAYERS_ENABLED enabled in the order they are found on the system. In addition to this, the test framework receieved two changes: * Make env-var folders report their contents in a deterministic order (aka the order the items were added to the framework). This mirrors existing behavior for redirected folders. * Make platform shim resilient to shutdown ordering issues. Namely, set a flag during shutdown so that any interception functions go straight to the real version of the functoin. This works around an issue during the destruction of the FolderManagers for the environment variables, where the readdir shim function was trying to use the FolderManager's data but Address Sanitizer declared that such a use was 'heap use after free'. * Rename set_path to set_fake_path to better indicate its purpose
1fdd8c6
to
5617210
Compare
CI Vulkan-Loader build queued with queue ID 51571. |
1 similar comment
CI Vulkan-Loader build queued with queue ID 51571. |
CI Vulkan-Loader build # 1887 running. |
CI Vulkan-Loader build # 1887 passed. |
Fixed the compilation issue on Windows, would appreciate a review since this is holding up VVL due to lack of order of VK_INSTANCE_LAYERS. |
So the CI runs that failed are the now removed Ubuntu 18 runners... |
The commit to add VK_LOADER_LAYERS_ENABLE/DISABLE inadvertently broke the ordering guarantees of VK_INSTANCE_LAYERS. This commit restores that order. If both VK_INSTANCE_LAYERS and VK_LOADER_LAYERS_ENABLE add layers, the order will be VK_INSTANCE_LAYERS enabled layers, in the order specified by the env-var, followed by any layers enabled by VK_LOADER_LAYERS_ENABLED enabled in the order they are found on the system.
In addition to this, the test framework receieved two changes:
Fixes #1168