vcl/inc/skia/utils.hxx | 2 +- vcl/skia/x11/gdiimpl.cxx | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-)
New commits: commit 614d310751d1a32baec85c11637fb3813a9dd749 Author: Luboš Luňák <l.lu...@collabora.com> AuthorDate: Mon Sep 28 15:13:08 2020 +0200 Commit: Luboš Luňák <l.lu...@collabora.com> CommitDate: Tue Sep 29 09:58:16 2020 +0200 disable VSync for Skia/Vulkan on Linux/nVidia It causes freezes. This can be changed later to a blacklist of older drivers once fixed drivers are actually available. Change-Id: I6cc996aee2ae69d5c8fdd9eb5f9f336683350485 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103554 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lu...@collabora.com> diff --git a/vcl/inc/skia/utils.hxx b/vcl/inc/skia/utils.hxx index ed9ae0eaf100..222a413b511e 100644 --- a/vcl/inc/skia/utils.hxx +++ b/vcl/inc/skia/utils.hxx @@ -70,7 +70,7 @@ VCL_DLLPUBLIC void dump(const sk_sp<SkImage>& image, const char* file); VCL_DLLPUBLIC void dump(const sk_sp<SkSurface>& surface, const char* file); #endif -extern uint32_t vendorId; +VCL_DLLPUBLIC extern uint32_t vendorId; inline DriverBlocklist::DeviceVendor getVendor() { diff --git a/vcl/skia/x11/gdiimpl.cxx b/vcl/skia/x11/gdiimpl.cxx index 7a55415ee55a..68571ccb73e7 100644 --- a/vcl/skia/x11/gdiimpl.cxx +++ b/vcl/skia/x11/gdiimpl.cxx @@ -57,6 +57,13 @@ X11SkiaSalGraphicsImpl::createWindowContext(Display* display, Drawable drawable, SkiaZone zone; sk_app::DisplayParams displayParams; displayParams.fColorType = kN32_SkColorType; +#if defined LINUX + // WORKAROUND: VSync causes freezes that can even temporarily freeze the entire desktop. + // This happens even with the latest 450.66 drivers despite them claiming a fix for vsync. + // https://forums.developer.nvidia.com/t/hangs-freezes-when-vulkan-v-sync-vk-present-mode-fifo-khr-is-enabled/67751 + if (SkiaHelper::getVendor() == DriverBlocklist::VendorNVIDIA) + displayParams.fDisableVsync = true; +#endif sk_app::window_context_factory::XlibWindowInfo winInfo; assert(display); winInfo.fDisplay = display; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits