Conversation
|
In Qt >= 5.13, one can override the OS default settings for the display of keyboard shortcuts: https://doc.qt.io/qt-5/qstylehints.html#showShortcutsInContextMenus-prop 0e837d9 sets this to true: |
|
I noticed this issue, which makes it unfit to merge: qt6.mp4It is unrelated to the removal of expandedTo. Can you reproduce this @maxpietsch ? |
|
What QT version are you using? I can't even configure it with homebrew's latest qt (6.1.1) due to a missing link to the Edit: I get the same issue with |
mrview_qt6.mp4 |
|
Weird... What happens when you resize if the dock widget is blank? |
|
A horizontal resize does not change the behaviour. However, if one undocks the widgets after the first successful open as a docked tool, all works including closing and reopening them. |
|
OK. We may have to revisit the size handling for dock widgets... |
I used 6.1.1 as follows: |
|
what about this output: ? |
|
Issues confirmed on Linux with Qt6 (6.1.2). I'll have a quick look into it... |
|
OK, I think the empty tool issue is a bug in Qt6 when using vertically-arranged tabs for the dock widgets. @bjeurissen, @maxpietsch: give this last commit a go, see if it fixes the issue for you (does for me on Linux). |
|
Horizontal tabs work on macOS, Qt 6.1.1. However, a few issues I noticed:
|
These clash with custom memory allocators in Qt6, and haven't been required in our builds for a long time since we no longer compile with -march=native by default. Besides, there's a good chance that these memory alignment issues are no longer relevant for Eigen 3.4 - would require testing...
|
OK, I've had a quick go at looking into Qt6 support for the latest It did require one major change though: the last commit removes all checks and balances for AVX512 support (which requires 32 byte alignment rather than the default 16). I've been thinking about doing this for a while since we don't compile with AVX512 support by default, and haven't for a long time. My own testing showed a relatively minor difference in performance, and you'll find lots of criticism of AVX512 online (basically it's very power-hungry and often causes performance regressions due to heating-induced CPU throttling). Removing all this code has the distinct advantage of simplifying the code base somewhat, and not having to explain why our code is peppered with these So I don't think it's a great loss... I hope everyone is OK with that? |
|
Inconsequential correction: Eigen report that AVX512 may require 64-byte alignment:
If you've done the testing and not seen a worthwhile improvement in performance with AVX512, I've no issue with removing it; it'll already be absent from the pre-compiled binaries. More generally, I've not delved into the allocation alignment topic as much as you have, so I'll trust your judgement. |
|
Also, I think FFTW might use AVX512; might want to double-check that |
Works on macOS Monterey without any of the previous issues! |
configure: fix Qt parameter parsing for MacOS
Ouch. I'm pretty sure we never targeted such large alignment requirements... In fact, looking back at the code, we only ever aligned at 16 bytes... I think we would already have been in trouble with AVX / AVX512 if anyone had ever tried to compile with these instructions...
Good point. Though if that's the case, it would have been an issue already: we link against the pre-compiled library, so we have no control over whether it decides to use these instructions. I'm assuming that the FFTW libraries will only use these instructions if it's detected it's running on hardware that supports them, and if it does that, it'll already have done all its required checks and balances. But you're right, there's a chance that if we pass a structure that doesn't have the expected alignment, when it would have had the expected alignment with the previous |
|
640443c will hopefully make this play with qt<5.14 and consequently fix the failing CI on linux and windows. |





Support qt6