Using validation layers produces erros (and potentially segfaults) for valid usage when using GLFW. Error that results: VUID_Undefined(ERROR / SPEC): msgNum: 0 - Instance Extension VK_KHR_xcb_surface is not supported by this layer. Using this extension may adversely affect validation results and/or produce undefined behavior. Objects: 1 [0] 0, type: 0, name: NULL VUID-vkGetPhysicalDeviceSurfaceSupportKHR-surface-parameter(ERROR / SPEC): msgNum: 0 - Invalid SurfaceKHR Object 0x80098b020. The Vulkan spec states: surface must be a valid VkSurfaceKHR handle (https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VUID-vkGetPhysicalDeviceSurfaceSupportKHR-surface-parameter) Removing the CMAKE_OFF settings got X11 and XCB and providing options copied from the graphics/vulkan-loader seems to provide a least suprising solution (defaulting these 2 options to off leaves behaviour as before). This has been tested for compiling for all 4 option combinations also. (I'm sure the wayland option could also be transferred but testing that is outside my configuration)
Created attachment 214380 [details] Patch
A commit references this bug: Author: jbeich Date: Wed Jan 6 18:45:35 UTC 2021 New revision: 560551 URL: https://svnweb.freebsd.org/changeset/ports/560551 Log: graphics/vulkan-validation-layers: minor cleanup - Expose WSI support[1] - Update description - Convert to USES=xorg - Prefer standard _DESC - Simplify _DEPENDS - Drop excessive newlines PR: 246376 [1] Submitted by: beldin@beldin.org (based on) [1] Changes: head/graphics/vulkan-validation-layers/Makefile head/graphics/vulkan-validation-layers/pkg-descr
A commit references this bug: Author: jbeich Date: Wed Jan 6 18:49:26 UTC 2021 New revision: 560555 URL: https://svnweb.freebsd.org/changeset/ports/560555 Log: MFH: r560551 graphics/vulkan-validation-layers: minor cleanup - Expose WSI support[1] - Update description - Convert to USES=xorg - Prefer standard _DESC - Simplify _DEPENDS - Drop excessive newlines PR: 246376 [1] Submitted by: beldin@beldin.org (based on) [1] Changes: _U branches/2021Q1/ branches/2021Q1/graphics/vulkan-validation-layers/Makefile branches/2021Q1/graphics/vulkan-validation-layers/pkg-descr
Thanks for the patch. I could reproduce (see below) but was confused by "WSI_* in here are leftover ..." comment. $ VK_INSTANCE_LAYERS=VK_LAYER_KHRONOS_validation vkcube-wayland VUID-vkGetPhysicalDeviceSurfaceSupportKHR-surface-parameter(ERROR / SPEC): msgNum: -2145442690 - Validation Error: [ VUID-vkGetPhysicalDeviceSurfaceSupportKHR-surface-parameter ] Object 0: VK_NULL_HANDLE, type = VK_OBJECT_TYPE_INSTANCE; | MessageID = 0x801f247e | Invalid VkSurfaceKHR Object 0x800a22360. The Vulkan spec states: surface must be a valid VkSurfaceKHR handle (https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VUID-vkGetPhysicalDeviceSurfaceSupportKHR-surface-parameter) Objects: 1 [0] 0, type: 1, name: NULL Assertion failed: (object_table.contains(object)), function FindObject, file Vulkan-ValidationLayers-1.2.165/layers/generated/thread_safety.h, line 144.