KhronosGroup / KhronosGroup/Vulkan-Loader

Loader still adds a layer that fails negotation

Open
#1,708 0 comments 0 reactions 1 assignee Claimed by @charles-lunarg View on GitHub
bug
Dominant language
C
Stars
695
Forks
343
Avg merge
1d 1h
Merged PRs (30d)
17

Description

I think there's a bug in the Vulkan loader. I've modified GFXReconstruct so that it fails during the `vkNegotiateLoaderLayerInterface` call with an error (VK_ERROR_INITIALIZATION_FAILED), and the loader is still adding the layer to the instance stack.

I think it should just continue after it fails `loader_get_layer_interface_version` in loader.c.

The problem is that even if the layer fails the negotiation, the loader still tries to load the GetInstanceProcAddr function from the OS, which is incorrect.

To reproduce, simply modify any layer to return `VK_ERROR_INITIALIZATION_FAILED` during the negotiation process (or modify the loader to pretend it gets that failure from any layer present).

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.