Some tests require Vulkan extension VK_KHR_surface, which is not exposed by Mesa unless at least a platform is configured.
Hopefully this should at last make llvmpipe 24 not crash in d3d12.
From: Giovanni Mascellani gmascellani@codeweavers.com
Some tests require Vulkan extension VK_KHR_surface, which is not exposed by Mesa unless at least a platform is configured. --- gitlab/image.docker | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/gitlab/image.docker b/gitlab/image.docker index 9807e3060..e46e0a15d 100644 --- a/gitlab/image.docker +++ b/gitlab/image.docker @@ -35,7 +35,9 @@ RUN export DEBIAN_FRONTEND=noninteractive; \ libxcb1-dev libxcb1-dev:i386 \ libxcb-util-dev libxcb-util-dev:i386 \ libxcb-icccm4-dev libxcb-icccm4-dev:i386 \ - libxcb-keysyms1-dev libxcb-keysyms1-dev:i386 && \ + libxcb-keysyms1-dev libxcb-keysyms1-dev:i386 \ + libx11-xcb-dev libxcb-dri2-0-dev libxcb-dri3-dev libxcb-present-dev \ + libxcb-shm0-dev libxshmfence-dev libxrandr-dev && \ apt-get build-dep -y spirv-tools && \ apt-get build-dep -y -ai386 spirv-tools && \
@@ -75,7 +77,9 @@ RUN export DEBIAN_FRONTEND=noninteractive; \ cd mesa && \ mkdir build && \ cd build && \ - meson setup --buildtype release -Dprefix=/opt/mesa24 -Dplatforms= -Dvideo-codecs= -Dvulkan-drivers=swrast -Dgallium-drivers=swrast -Dopengl=true -Degl=enabled -Dglvnd=true -Dshared-glapi=enabled -Dglx=disabled -Dgles1=disabled -Dgles2=disabled .. && \ + meson setup --buildtype release -Dprefix=/opt/mesa24 -Dplatforms=x11 -Dvideo-codecs= -Dvulkan-drivers=swrast \ + -Dgallium-drivers=swrast -Dopengl=true -Degl=enabled -Dglvnd=true -Dshared-glapi=enabled -Dglx=disabled \ + -Dgles1=disabled -Dgles2=disabled .. && \ meson install && \ cd ../.. && \ rm -fr mesa && \
This merge request was approved by Giovanni Mascellani.
In principle I think this is fine, but is it necessary? I assume the issue here is that D3D12CreateDeviceVKD3D() passes "VK_KHR_surface" and "VK_KHR_swapchain" as required extensions to vkd3d_create_device(); could we just make those optional? (Possibly gated by "api_version".)