X11 上的 Vulkan:vkGetPhysicalDeviceSurfaceCapabilitiesKHR 错误
Vulkan on X11: vkGetPhysicalDeviceSurfaceCapabilitiesKHR error
我正在尝试在 X11 下获取 Vulkan 运行。
我(显然)已经成功创建了实例、设备和表面,并且与表面相关的几个调用也成功了,甚至 return 合理的值(例如 vkGetPhysicalDeviceSurfaceFormatsKHR
return 的两种格式)。但是,当我调用 vkGetPhysicalDeviceSurfaceCapabilitiesKHR
时,我得到以下信息:
X Error of failed request: BadDrawable (invalid Pixmap or Window parameter)
Major opcode of failed request: 14 (X_GetGeometry)
Resource id in failed request: 0x5800009
Serial number of failed request: 42
Current serial number in output stream: 42
X11 Window 是 0x5800009
,如错误中所引用。我正在使用 Vulkan SDK 1.0.5 和 Nvidia 364.12 驱动程序(如果相关)。
预感 Vulkan 正在查询有关尚未创建的 Window
的内容,我在此之前调用了一个 XSync(<display>, false)
,这似乎解决了问题。
我不确定这是否是正常操作所必需的(我不是 X11 专家),或者这是否是 Vulkan 本身的问题。如果有人有更好的解释,我很想听听。
我在 Linux 和 XCB 上遇到了同样的错误,我通过在 xcb_flush 之后调用 xcb_flush =16=]创作。
我在实际创建 window 句柄之前将 ::XDisplay
绑定到 VkSwapchainCreateInfoKHR.dpy
时遇到了同样的错误。只要我在调整大小事件期间保持该结构更新(.dpy
和 .window
),一切都会继续正常工作。
我正在尝试在 X11 下获取 Vulkan 运行。
我(显然)已经成功创建了实例、设备和表面,并且与表面相关的几个调用也成功了,甚至 return 合理的值(例如 vkGetPhysicalDeviceSurfaceFormatsKHR
return 的两种格式)。但是,当我调用 vkGetPhysicalDeviceSurfaceCapabilitiesKHR
时,我得到以下信息:
X Error of failed request: BadDrawable (invalid Pixmap or Window parameter)
Major opcode of failed request: 14 (X_GetGeometry)
Resource id in failed request: 0x5800009
Serial number of failed request: 42
Current serial number in output stream: 42
X11 Window 是 0x5800009
,如错误中所引用。我正在使用 Vulkan SDK 1.0.5 和 Nvidia 364.12 驱动程序(如果相关)。
预感 Vulkan 正在查询有关尚未创建的 Window
的内容,我在此之前调用了一个 XSync(<display>, false)
,这似乎解决了问题。
我不确定这是否是正常操作所必需的(我不是 X11 专家),或者这是否是 Vulkan 本身的问题。如果有人有更好的解释,我很想听听。
我在 Linux 和 XCB 上遇到了同样的错误,我通过在 xcb_flush 之后调用 xcb_flush =16=]创作。
我在实际创建 window 句柄之前将 ::XDisplay
绑定到 VkSwapchainCreateInfoKHR.dpy
时遇到了同样的错误。只要我在调整大小事件期间保持该结构更新(.dpy
和 .window
),一切都会继续正常工作。