diff options
author | Andrew Chow <achow101-github@achow101.com> | 2020-11-21 01:51:48 -0500 |
---|---|---|
committer | Andrew Chow <achow101-github@achow101.com> | 2020-11-23 12:08:18 -0500 |
commit | 8f7d1b39efbe65ab2747c593cc3560d4a449a333 (patch) | |
tree | 189e1e18d2b12ea23c568943413c4b1d0507a3dc /depends/packages | |
parent | e9a1c9fbdea977edbb4d10d0368cc7c3199bc469 (diff) | |
download | bitcoin-8f7d1b39efbe65ab2747c593cc3560d4a449a333.tar.xz |
Fix QPainter non-determinism on macOS
Aplies a patch to Qt that fixes the non-determinism by modifying Qt. The
source of the non-determinism is how LLVM 8 optimizes qt_intersect_spans
when compiling. The particular optimization that seems to be causing the
problems is that a temp variable is being added for spans->y. For some
reason, when it does this, it chooses different instructions to use when
making that variable. We bypass this problem by patching
qt_intersect_spans to always make and use this local variable.
Diffstat (limited to 'depends/packages')
-rw-r--r-- | depends/packages/qt.mk | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/depends/packages/qt.mk b/depends/packages/qt.mk index 6c77dca8d5..6b062d4515 100644 --- a/depends/packages/qt.mk +++ b/depends/packages/qt.mk @@ -12,7 +12,7 @@ $(package)_patches=fix_qt_pkgconfig.patch mac-qmake.conf fix_configure_mac.patch $(package)_patches+= fix_rcc_determinism.patch fix_riscv64_arch.patch xkb-default.patch no-xlib.patch $(package)_patches+= fix_android_qmake_conf.patch fix_android_jni_static.patch dont_hardcode_pwd.patch $(package)_patches+= freetype_back_compat.patch drop_lrelease_dependency.patch fix_powerpc_libpng.patch -$(package)_patches+= fix_mingw_cross_compile.patch +$(package)_patches+= fix_mingw_cross_compile.patch fix_qpainter_non_determinism.patch # Update OSX_QT_TRANSLATIONS when this is updated $(package)_qttranslations_file_name=qttranslations-$($(package)_suffix) @@ -231,6 +231,7 @@ define $(package)_preprocess_cmds patch -p1 -i $($(package)_patch_dir)/fix_riscv64_arch.patch && \ patch -p1 -i $($(package)_patch_dir)/no-xlib.patch && \ patch -p1 -i $($(package)_patch_dir)/fix_mingw_cross_compile.patch && \ + patch -p1 -i $($(package)_patch_dir)/fix_qpainter_non_determinism.patch &&\ sed -i.old "s|updateqm.commands = \$$$$\$$$$LRELEASE|updateqm.commands = $($(package)_extract_dir)/qttools/bin/lrelease|" qttranslations/translations/translations.pro && \ mkdir -p qtbase/mkspecs/macx-clang-linux &&\ cp -f qtbase/mkspecs/macx-clang/qplatformdefs.h qtbase/mkspecs/macx-clang-linux/ &&\ |