mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-11 12:20:15 +01:00
We currently only create one queue per queue family on the device. The device can be shared between multiple zink_screens, so having one lock per screen can still lead to multiple locks per queue. Fix this by allocating queue_lock along with the device. This fixes an issue that was causing crashes with nvk+zink and QtWebEngine with QTWEBENGINE_FORCE_USE_GBM=1 This can be reproduced by resizing the window in either: * anki - https://apps.ankiweb.net/ or * Qt's simplebrowser example https://doc.qt.io/qt-6/qtwebengine-webenginewidgets-simplebrowser-example.html which would then cause this dmesg error: nouveau 0000:01:00.0: anki[92007]: Failed to find syncobj (-> in): handle=40 along with a context loss. With VK_LOADER_LAYERS_ENABLE=VK_LAYER_KHRONOS_validation we would additionally get warnings like: Validation Error: [ UNASSIGNED-Threading-MultipleThreads-Write ] | MessageID = 0xa05b236e vkQueueSubmit(): THREADING ERROR : object of type VkQueue is simultaneously used in current thread 139824449189568 and thread 139823901816512 Objects: 1 [0] VkQueue 0x557a666783e0 Fixes: |
||
|---|---|---|
| .. | ||
| amd | ||
| android_stub | ||
| asahi | ||
| broadcom | ||
| c11 | ||
| compiler | ||
| drm-shim | ||
| egl | ||
| etnaviv | ||
| freedreno | ||
| gallium | ||
| gbm | ||
| getopt | ||
| gfxstream | ||
| glx | ||
| gtest | ||
| imagination | ||
| imgui | ||
| intel | ||
| loader | ||
| mesa | ||
| microsoft | ||
| nouveau | ||
| panfrost | ||
| tool | ||
| util | ||
| virtio | ||
| vulkan | ||
| x11 | ||
| .clang-format | ||
| meson.build | ||