summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* QString::normalized: Replace the initial US-ASCII loop with SIMDThiago Macieira2018-05-151-34/+61
| | | | | | | | We can just reuse the code I added for QtPrivate::isAscii(), adding the update to the ptr parameter in the failed case. Change-Id: I5d0ee9389a794d80983efffd152d277e2adf444d Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* macOS: minor refactoring in handler of global monitorMikhail Svetkin2018-05-151-5/+6
| | | | | | | Use new helper functions for mouse events and buttons Change-Id: Idb74fbd4ffde0c22b3d4bbddb5761567081bdf7c Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
* Remove old debugging hackBogDan Vatra2018-05-151-231/+0
| | | | | | | | | | | | | | Starting with QtCreator 4.6.1* we introduce a new way to debug Qt on Android apps, which doesn't need this support anymore. Of course to debug Qt 5.12+ the user must use QtCreator 4.6.1+ * 429c596395697ff3533e679a848ad26cd1ee97cb [ChangeLog][Android] Remove old debugging way. To be able to debug Qt on Android apps the user must use QtCreator 4.6.1+ Change-Id: I16d08312628c9afb7cfa47eb906b25a87af5ba55 Reviewed-by: hjk <hjk@qt.io>
* Add QT_TR*_N_NOOP() macrosMateusz Starzycki2018-05-153-1/+119
| | | | | | | | | | [ChangeLog][QtCore][Global] Added the QT_TR_N_NOOP(), QT_TRANSLATE_N_NOOP(), and QT_TRANSLATE_N_NOOP3() macros for numeral dependent delayed translation. Change-Id: I57c5b1ad4006267f49a57b0cbc40216b8e0399ff Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Martin Smith <martin.smith@qt.io>
* qtlite: Fix build with -no-feature-cursor or -no-feature-dockwidgetMikhail Svetkin2018-05-152-6/+13
| | | | | Change-Id: Iae8c20172e43fcde816df3b87ad67f4ea2cda804 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Add a note to QDialog::exec() to prefer open() insteadGiuseppe D'Angelo2018-05-151-0/+7
| | | | | | | | | | QDialog::exec() has a number of problems due to spinning an inner event loop (to counteract its being synchronous). We've had QDialog::open() as a better alternative for a long while now, so encourage people to use that instead. Change-Id: I51a69a018dcbf6133adb6c2f69c7caf442008b36 Reviewed-by: Martin Smith <martin.smith@qt.io>
* Merge "Merge remote-tracking branch 'origin/5.11' into dev" into ↵Liang Qi2018-05-1411-46/+225
|\ | | | | | | refs/staging/dev
| * Merge remote-tracking branch 'origin/5.11' into devLiang Qi2018-05-1411-46/+225
| |\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/features/qt_module_headers.prf tests/auto/widgets/itemviews/qheaderview/tst_qheaderview.cpp tests/auto/widgets/kernel/qwidget/BLACKLIST Change-Id: I2a08952d28d1d0e3d73f521a3d44700ce79ff16c
| | * QByteArray::setNum: use the existing latin1 lowercasing tableThiago Macieira2018-05-131-15/+3
| | | | | | | | | | | | | | | | | | | | | Not sure this makes the code faster, but it removes two functions. Change-Id: I5d0ee9389a794d80983efffd152d830da44b1bfe Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| | * QString: fix off-by-one errorThiago Macieira2018-05-101-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | The check for having N valid characters is ptr + N <= end, because ptr + N == end indicates that we have exactly N characters in the string. Change-Id: I5d0ee9389a794d80983efffd152d28d5aa485ce4 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| | * Merge remote-tracking branch 'origin/5.11.0' into 5.11Qt Forward Merge Bot2018-05-097-23/+210
| | |\ | | | | | | | | | | | | Change-Id: Id6e2acd5e31c1ac858ddf1d8873a6f10694141de
| | | * QSysInfo: Correct the \since for {machine,boot}UniqueId()Thiago Macieira2018-04-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code was written before 5.10 was released, but took long to be merged. Change-Id: If90a92b041d3442fa0a4fffd15286fe079b058e1 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| | | * Fix documentation of setBackendConfigurationOptionAndré Klitzing2018-04-252-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduced by mistake in f55c73ede28d4455f555a28e401407326ac9b954 Change-Id: Ieac8fc0a6bb536e5ef3770a22785fe41d4033ee9 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| | | * Merge 5.11 into 5.11.0Oswald Buddenhagen2018-04-2018-236/+213
| | | |\ | | | | | | | | | | | | | | | Change-Id: I11c61dc1259ed66d871ecab2666085ccf37a9342
| | | * | Document libdbus-1 code in Qt D-BusKai Koehne2018-04-203-1/+178
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][Third-Party Code] Libdbus-1 code in Qt D-Bus is now properly documented. The code is licensed under AFL-2.1 OR GPL-2.0-or-later. Change-Id: I38bd6f38175562fff03ae84fc7a5c435de4cb972 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | | * | Also support reset notification on non-nvidiaAllan Sandfeld Jensen2018-04-191-15/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In 5.11 robustness was added for nvidia drivers, this patch extends that to other opengl drivers, and fixes the reported format. Change-Id: Ia81934c3bcf13e7300fb4e75674ea63317039870 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| | * | | Fix build with GCC 8: memset/memcpy/memmove of non-trivialsThiago Macieira2018-05-091-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | qarraydataops.h:73:17: error: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct TCBPoint’; use assignment or value-initialization instead [-Werror=class-memaccess] Change-Id: I5d0ee9389a794d80983efffd152ce10eb557341f Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
| | * | | Fix build without features.completerTasuku Suzuki2018-05-091-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Idc79921f85a920bc8c1280513ce78ee0cb00d415 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | | | | QTableWidget: fix handling of Qt::EditRole/DisplayRole in setItemData()Christian Ehrlicher2018-05-141-3/+6
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QTableModel::setItemData() did not treat Qt::EditRole and Qt::DisplayRole as the same. This lead to inconsistencies between setItemData() and QTableWidgetItem::setData() [ChangeLog][QtWidgets][QTableWidget] Fix handling of Qt::EditRole and Qt::DisplayRole in setItemData(). Change-Id: I456f4c8e654de701dcd579236162b8aaa8ba1e53 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | | | Vulkan: share library loading implementationMorten Johan Sørvig2018-05-148-36/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The macOS, Windows, and XCB implementations are identical and can be moved to QBasicPlatformVulkanInstance. Change-Id: Id84b27ffd87f86afe3798c4ad2743ba05e6190d3 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | | | Vulkan: Share destroySurface() implementationMorten Johan Sørvig2018-05-148-52/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The macOS, Windows, and XCB implementations are identical and can be moved to QBasicPlatformVulkanInstance. Change-Id: I1380b2bd03080710084a1458bdce3a362ba5c287 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | | | QTableWidgetItem: pass role to dataChanged() signalChristian Ehrlicher2018-05-123-10/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QAbstractItemModel::dataChanged() gained an optional role parameter with Qt5 which was not filled within QTableWidgetItem setData() function Task-number: QTBUG-48295 Change-Id: I82289b6db78eeef09d586da267046032984952da Reviewed-by: Samuel Gaist <samuel.gaist@edeltech.ch> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | | | QStyleSheet: fix typo in propertyNameForStandardPixmap for discardChristian Ehrlicher2018-05-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The property name for SP_DialogDiscardButton is missing the 'dialog-' prefix to match the property described in knownStyleHints. Task-number: QTBUG-58674 Change-Id: Ie5b7412765e19defb3644d7cac2fe08bf8119a8d Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | | | Doc: add explanation of return format of QImage::transformed()Eirik Aavitsland2018-05-111-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QImage::transformed() can sometimes return an image with a different image format than the original. This might be unexpected, so explain it in the doc. Task-number: QTBUG-50087 Change-Id: I165fc7b44439b770b542be52d3108fd70bf0ae99 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
* | | | macOS: Add QSurfaceType::MetalSurfaceMorten Johan Sørvig2018-05-114-9/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add API to activate previously added Metal layer implementation. This provides minimal support, and unlike VulkanSurface there is no separate QWindow subclass. What this does do is configure the QWindow to use a Metal layer, and to send expose/update events when the layer content should be redrawn. Qt will also update the layer’s drawableSize and contentsScale when needed. Application code can make use of this by accessing the QWindow layer, which will be a CAMetalLayer: CAMetalLayer *metalLayer = reinterpret_cast<CAMetalLayer *>( reinterpret_cast<NSView *>(window->winId()).layer); Change-Id: I514f5186133c3e610fd4e53ca91fe9c85c6d016e Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | | | QWindowsCARootFetcher: fix compile with QSSLSOCKET_DEBUGMårten Nordheim2018-05-111-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Didn't compile with it when I was moving it out. Change-Id: I3645af71ea3295a61f20000a6bc4716b6e996ce5 Reviewed-by: Jesus Fernandez <Jesus.Fernandez@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | | | QHeaderView: reset cached size hint on reset()Christian Ehrlicher2018-05-101-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QHeaderView::reset() did not reset the cached size hint which could lead to wrong geometries when the model was reset. Task-number: QTBUG-67927 Change-Id: I5100b28a741cc816133a229c422f9abf83f2187e Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
* | | | cups: Fix UI mismatch when a default printer option choice is not availableAlbert Astals Cid2018-05-091-14/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It can happen that the user sets a default printer option choice, using lpoptions or similar, and that is a mistake since that choice is not available because it needs an installable option that is not in the printer. We need to check that and set the internal ppd option not to the value the user gave to lpoptions but to something sane Also rename foundMarkedOption to foundMarkedChoice since we're going through all the choices of a given option in that loop Change-Id: Ic9362d9b4fba33025c4d45eed8ddd203c95836bf Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | | | Revert "qbasicdrag: temporary restore obsolete APIs"Gatis Paeglis2018-05-091-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 0b815aa2f83ca30a3d32b2276c2b39d224b233b1. Inter-module compile issues have been resolved now, see qtwayland/44f3b888a3f88ac8097ff65aec0101dbe6a369ef. Change-Id: I7f9ed4f9d5f0d6431493a8f47ffe8a85141f0e50 Reviewed-by: Liang Qi <liang.qi@qt.io>
* | | | Merge "Merge remote-tracking branch 'origin/5.11' into dev" into ↵Liang Qi2018-05-0816-64/+122
|\ \ \ \ | | | | | | | | | | | | | | | refs/staging/dev
| * | | | Merge remote-tracking branch 'origin/5.11' into devLiang Qi2018-05-0816-64/+122
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/sqldrivers/sqlite/qsql_sqlite.cpp tests/auto/corelib/io/qresourceengine/qresourceengine_test.pro Change-Id: I3169f709cc2a1b75007cb23c02c4c79b74feeb04
| | * | | qlalr: Fix startup crash in static buildsFriedemann Kleint2018-05-086-51/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace the global variables qout, qerr by a functions to delay the initialization. Task-number: QTBUG-68166 Change-Id: Ib023da1bccc7eabc6e633ccb8945e5f209c5765e Reviewed-by: Kevin Funk <kevin.funk@kdab.com> Reviewed-by: Brett Stottlemyer <bstottle@ford.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| | * | | QtGui: Enable synchronous delivery for QWSysIf:::WindowScreenChangedEventFriedemann Kleint2018-05-082-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-67777 Change-Id: I6d52b650fb33283010ef06259da83cdb2fd3483f Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| | * | | Fix building with -no-feature-shortcutJoni Poikelin2018-05-083-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I7576055a6d81d6a7a075ebff16ca6b0ced4e984e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| | * | | Fix build without features.timezoneTasuku Suzuki2018-05-082-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I3f8421103afa61baf415636b4dc8cf93fb477bcc Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| | * | | QShortcutMap: print ambiguous shortcuts when DEBUG_QSHORTCUTMAP is definedMitch Curtis2018-05-071-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is useful to see why shortcuts (in Qt Widgets and Qt Quick) are not behaving as expected. For example: The following shortcuts are about to be activated ambiguously: - QKeySequence("Esc") (belonging to QQuickShortcut(0x7fcd4c8e6a70, name = "exploreViewBackOrCloseShortcut")) - QKeySequence("Esc") (belonging to QQuickPopupItem(0x7fcd4c8e5110)) Change-Id: Id20a3017d69cfe417c2286dccf46b3d5ff0b31b2 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| | * | | TestLib: Fix license headers in qabstractitemmodeltester.*Kai Koehne2018-05-072-10/+32
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Ide05bcdd30cd5f672949aacd5564a4a73c38366d Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | | | configure: change convention of passing libraries to config testsOswald Buddenhagen2018-05-081-7/+0
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | instead of pre-resolving them and passing the final LIBS to qmake, pass raw QMAKE_*_LIBS* assignments and a QMAKE_USE stanza. the immediate benefit of that is that it centralizes the debug/release lib handling, which makes build variant overrides available to all libraries, not just a few selected ones. note that this removes the CONFIG+=build_all from the test projects. turns out that this was ineffective to start with, as config tests are built with an explicit CONFIG-=debug_and_release. we might re-instate it in a non-broken way later on. Change-Id: I2117c5b36937e8230bd571dcee83231515cbe30b Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | | | macOS: Transition to new QPA dag-and-drop APIMikhail Svetkin2018-05-084-25/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new API allows us to pass the mouse buttons and keyboard modifiers along with the QWSI event. Task-number: QTBUG-57168 Change-Id: Ic54c012d1593d922e7dcd31facab2f2c630c7996 Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | | | macOS: Experimental Vulkan support via MoltenVKMorten Johan Sørvig2018-05-089-7/+259
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for QSurface::VulkanSurface and QVulkanWindow. Usage: 1) Build MoltenVK according to instructions 2) Configure Qt: ./configure -I /path/to/MoltenVK/Package/Release/MoltenVK/include 3) export QT_VULKAN_LIB=/path/to/MoltenVK/Package/Release/MoltenVK/macOS/libMoltenVK. Implement support for QSurface::VulkanSurface by enabling layer mode for QNSView and then creating a CAMetalLayer, which the MoltenVK translation layer can run on. MoltenVK provides an implementation of the Vulcan API, which means that the platform integration is similar to other platforms: implement a QCocoaVulkanInstance where we pass the QNSView instance to the vkCreateMacOSSurfaceMVK Vulkan surface constructor function. Using Vulkan directly without QVulkanWindow is possible, but not tested. We currently load libMoltenVK at run-time and use the existing QT_VULKAN_LIB environment variable to set its path. For deployment purposes it would be better to link against MoltenVK.frameworkm, but this Task-number: QTBUG-66966 Change-Id: I04ec6289c40b199dca9fed32902b5d2ad4e9c030 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* | | | qbasicdrag: temporary restore obsolete APIsGatis Paeglis2018-05-081-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... that were removed in 10b3286313c78fa380b5fe676a7c14f3ae84f017. This is needed so we can properly resolved inter module dependencies (update qtwayland to use the new API). Task-number: QTBUG-68151 Change-Id: If9c3b42f76bd2c1d8fc86304cfcc22c18bad9e27 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | | | Windows QPA: Improve debug output of keyboard shortcut handlingFriedemann Kleint2018-05-081-16/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a debug operator for KeyboardLayoutItem and output keys in QWindowsKeyMapper::possibleKeys(). Change-Id: I28215f44da2a9c08a27541ef0e906d37be2bad72 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | | | Get rid of argb32->argb32pm routines in qimageAllan Sandfeld Jensen2018-05-076-355/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We already have better optimized versions in drawhelper. Removing these versions is a performance gain. Change-Id: I431c74e440529648d9bc5e22c0e700a72d376934 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* | | | Optimize intermediate_adder_avx2Allan Sandfeld Jensen2018-05-071-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use 16-bit multiplication as it is twice as fast as 32-bit multiplication. Change-Id: I64b529eaaed4ce2c59c64a0120e93cd132724156 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | | Optimize direct argb32 blend functionsAllan Sandfeld Jensen2018-05-071-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | They were slower than the long path version due to working too hard. This also unduplicates code by using the blend_pixel function. Change-Id: Ibf84b8f749cf40d4c852b459dc76860afd850d32 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* | | | rcc: don't drop entries with missing files in -list modeOswald Buddenhagen2018-05-072-13/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the files may not exist _yet_. this change allows dynamically generating the resource contents. the ignoreErrors parameter is renamed to listMode and made less aggressive, to better reflect the actual usage. Change-Id: I2f6a75a23f1ef903f0d957f9a09f4df0ce2a2b35 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | | | Move default implementation of update requests to QPlatformWindowTor Arne Vestbø2018-05-0712-46/+50
| | | | | | | | | | | | | | | | | | | | Change-Id: I4cbb8d2023068288e298ab21f5cd8bc258825c77 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | | Windows QPA: Use new QPA Dnd APIFriedemann Kleint2018-05-051-29/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-57168 Task-number: QTBUG-56244 Change-Id: I84cf811d9e886369a659ecb33ce1778207660922 Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* | | | qsimd: add support for new x86 CPU featuresThiago Macieira2018-05-054-328/+393
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds detection for: VAES, GFNI, AVX512VBMI2, AVX512VNNI, AVX512BITALG, AVX512VPOPCNTDQ, AVX512_4NNIW, AVX512_4FMAPS. These features were found in the "Intel® Architecture Instruction Set Extensions and Future Features" manual, revision 30. This commit also adds support for RDPID (already in the main manual) and the Control-flow Enforcement Technology, which appears in a separate Intel paper. This new support was done by adding a new generator script so we don't have to maintain two tables in sync, one in qsimd.cpp with the feature names, and the other in qsimd_p.h. Since we now need a lot more bits, it's no longer worth keeping the two halves of the qt_cpu_features variable mostly similar to the main two CPUID results. This commit goes back to keeping things in order, like we used to prior to commit 6a8251a89b6a61258498f4af1ba7b3d5b7f7096c (Qt 5.6) At the time of this commit, GCC 8 has macros for AVX512VPOPCNTDQ, AVX512_4NNIW, AVX512_4FMAPS, AVX512VBMI2 and GFNI. Change-Id: I938b024e38bf4aac9154fffd14f7afae50faaa96 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | | qsimd: remove support for systems without 64-bit atomicsThiago Macieira2018-05-052-17/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We had that as a concession for early toolchains that failed to include the necessary libraries. They must now be up-to-date. Change-Id: I938b024e38bf4aac9154fffd14f7a630ef160cd5 Reviewed-by: Lars Knoll <lars.knoll@qt.io>