Bug 246376

Summary: devel/vulkan-validation-layers: throws error with valid GLFW usage
Product: Ports & Packages Reporter: beldin
Component: Individual Port(s)Assignee: Jan Beich <jbeich>
Status: Closed FIXED    
Severity: Affects Only Me CC: fernape, val
Priority: --- Keywords: patch
Version: LatestFlags: jbeich: maintainer-feedback+
jbeich: merge-quarterly+
Hardware: Any   
OS: Any   
Attachments:
Description Flags
Patch none

Description beldin 2020-05-11 16:53:48 UTC
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)
Comment 1 beldin 2020-05-11 16:54:28 UTC
Created attachment 214380 [details]
Patch
Comment 2 commit-hook freebsd_committer freebsd_triage 2021-01-06 18:45:42 UTC
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
Comment 3 commit-hook freebsd_committer freebsd_triage 2021-01-06 18:49:44 UTC
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
Comment 4 Jan Beich freebsd_committer freebsd_triage 2021-01-06 18:56:31 UTC
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.