Skip to content

Conversation

@charles-lunarg
Copy link
Collaborator

If multiple layers share the same name, the loader should remove them as the application cannot specify which of the duplicate layers should be loaded when vkCreateInstance is called. This mirrors the behavior of vkCreateInstance which removes duplicate layers before loading. By de-duplicating during vkEnumerateInstanceLayerProperties and vkEnumerateInstanceExtensionProperties, it prevents situations where the duplicate layers differed in available instance extensions and the extension would be reported as unavailable during vkCreateInstance because the layer chosen to load didn't have the extension.

If multiple layers share the same name, the loader should remove them as the application cannot specify which
of the duplicate layers should be loaded when vkCreateInstance is called. This mirrors the behavior of
vkCreateInstance which removes duplicate layers before loading.
By de-duplicating during vkEnumerateInstanceLayerProperties and vkEnumerateInstanceExtensionProperties,
it prevents situations where the duplicate layers differed in available instance extensions and the extension would be reported as unavailable during vkCreateInstance because the layer chosen to load didn't have the extension.
@ci-tester-lunarg
Copy link

CI Vulkan-Loader build queued with queue ID 624921.

Copy link
Contributor

@spencer-lunarg spencer-lunarg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 to making Mike happy

@ci-tester-lunarg
Copy link

CI Vulkan-Loader build # 3374 running.

@ci-tester-lunarg
Copy link

CI Vulkan-Loader build # 3374 passed.

@charles-lunarg charles-lunarg merged commit 28a23db into KhronosGroup:main Jan 16, 2026
44 checks passed
@charles-lunarg charles-lunarg deleted the fix_duplicate_layers_in_global_funcs branch January 16, 2026 22:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants