summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-04-224-20/+82
|\| | | | | | | | | | | | | | | Change-Id: Id32f0ae002772444c0b61cd132ef81f96fe3b895
| * | | Windows QPA: Fix ambiguous shortcut overload warnings for ALT-keysFriedemann Kleint2018-04-201-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the match with the least modifiers (prefer Shift+9 over Alt + Shift + 9) resulting in more missing modifiers. Task-number: QTBUG-67200 Change-Id: I90463c0dfaadda29dcd24a08ba35c91fac8bd04c Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
| * | | Windows QPA: Fix duplicate/missing native eventsFriedemann Kleint2018-04-204-18/+69
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add utility functions to QWindowsContext input messages sent to native event filters (event dispatcher and window system interface). Do not send input and similar events to the event dispatcher since QEventDispatcherWin32::processEvents() also sends them. Note though that QEventDispatcherWin32 does not receive all windows messages. In QWindowsKeyMapper, send the WM_CHAR/WM_IMECHAR events from where the messages are removed. Task-number: QTBUG-67095 Change-Id: I5f61294fcb3aee7e0eacd840a2010d128cd02a5d Reviewed-by: Andre de la Rocha <andre.rocha@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | | q{cocoa,ppd}printdevice: Fix string comparisonMichael Weghorn2018-04-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 'QPrint::Color' should be returned in case 'ColorModel' is NOT set to 'Gray'. However, the logic was inverted before, since 'qstrcmp()' returns 0 if the two strings match. Also, eliminate a redundant condition: The left-hand side of the '||' already makes sure that 'colorModel' is non-null, so there's no need to check again. (Corresponding cppcheck warning: "Redundant condition: colorModel. '!A || (A && B)' is equivalent to '!A || B'") Change-Id: I965c29e8c020bc9c47a53678e23d94f05be3fd53 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
* | | Merge "Merge remote-tracking branch 'origin/5.11' into dev" into ↵Qt Forward Merge Bot2018-04-209-36/+60
|\ \ \ | | | | | | | | | | | | refs/staging/dev
| * | | Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-04-209-36/+60
| |\| | | | | | | | | | | | | | Change-Id: I0bea38585382b5d9c8d7a013bf6bcb3a6008d159
| | * | iOS: Use the non deprecated application:openURL functionAndy Shaw2018-04-181-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In iOS 9.0, the original application:openURL function was deprecated and replaced with a newer one. As iOS 9.0 is no longer supported we can safely switch to the new one. This is also required to prevent a crash when the LSSupportsOpeningDocumentsInPlace and UIFileSharingEnabled keys are set to true in the Info.plist file. Change-Id: I59a7ee82e3ddb2777ef78e28b964ef8666c629af Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| | * | QCocoaPlatformTheme: Fix tooltip background colorGabriel de Dietrich2018-04-181-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It use to be yellowish in the past, but modern versions of macOS show it light gray. Change-Id: I8cca5cbb37c73a6dfc79e633a746b9a7d7bced05 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| | * | Do not ignore MenuItem on macOSJan Arve Saether2018-04-181-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The idea was probably to ignore it since macOS already provides accessibility for a menu item in its native system menu. However, a Qt Quick Controls2 Menu will instead show a non-native menu, which should not be ignored. Task-number: QTBUG-63522 Change-Id: Ib5ae16ad991ebd7a18fa73b8f576f20b1c14d4c8 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
| | * | iOS: Trigger manual layout of root view controller when coming out of backgroundTor Arne Vestbø2018-04-186-31/+55
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When rotating the device when the application is in the background iOS will ask the root view controller to layout its views when then foregrounding the application, but at that point the application state is still in the suspended state, meaning we block any view resizing or rendering. To ensure the views are resized correctly, we trigger a manual layout after the application comes out of the suspended state. Task-number: QTBUG-67719 Change-Id: I1ef0a4133d4b94edaac7b0f3cb4e49e367eb76d4 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | / Cocoa Helpers: Add qt_objc_cast() functionGabriel de Dietrich2018-04-202-4/+11
|/ / | | | | | | | | | | | | | | | | | | This generalizes what qnsview_cast() does to any Objective-C class. Notice that this is a loose cast, using isKindOfClass: instead of isMemberOfClass:. Change-Id: I745f548e474f2f9eef89f370d7d45496f0c51434 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | Cocoa QPA: Clean up 0 as pointerGabriel de Dietrich2018-04-1936-199/+195
| | | | | | | | | | | | | | | | We use nil for Objective-C null pointers and nullptr everywhere else, including CoreFoundation and similar opaque types. Change-Id: Id75c59413dec54bf4d8e83cf7ed0ff7f3d8bb480 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | Cocoa Menus: Allow separators in app menuGabriel de Dietrich2018-04-195-11/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | We extend QCocoaNSMenuItem with separator items capabilities and use it as any other custom item in the app menu. Addition and removal of items in the app menu remains very basic because that menu doesn't exist as such. Instead, it's hinted through the QAction's menu role. Change-Id: Ia13bfcc008c75e49fd21705d2528da5a85ed1c73 Task-number: QTBUG-63756 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | QCocoaMenuLoader: Add app specific items after PreferencesGabriel de Dietrich2018-04-191-6/+9
| | | | | | | | | | | | | | | | | | | | This is in accordance with the macOS HIG which state that, "in general, a Preferences menu item should be the first app-specific menu item." See https://developer.apple.com/macos/human-interface-guidelines/menus/menu-bar-menus/ Change-Id: Ie2b6ce274995a7d0b0e934c6a68241500a39f7aa Task-number: QTBUG-63756 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | Cocoa Menus: Use the responder chain for menu items target/actionGabriel de Dietrich2018-04-1913-223/+280
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We start by setting the menu item target to nil. Then, -[qt_itemFired:] action is now in QNSView, which itself is naturally inserted in the responder chain. This removes the need to track and change the menu item's target/action when we're displaying a native dialog. Part of this is possible because we now derive our own QCocoaNSMenuItem class from NSMenuItem. We use -[respondsToSelector:] to decide whether the QNSView in the responder chain should respond to cut:, copy:, etc. And we only return YES when the view is first responder. The invocation to these action is forwarded to the same views' -[qt_itemFired:]. Message forwarding is done via forwardInvocation:, but experiments have shown that it can be done by the sole means of respondsToSelector: and direct invocation from cut:, copy:, etc. See the usage of the macro QT_COCOA_DYNAMIC_MENU_ITEM_ACTION. Menu validation also happens in QNSView and looks for modal windows. Therefore, -[worksWhenModal] is no longer necessary. Also, since the target is no longer set, the logic as documented in NSMenuItem.target won't work anymore. Most items from QCocoaMenuLoader also become QCocoaNSMenuItem and get the same target/action, which removes a bit of duplicated (and outdated) code. A particular case is the Quit item, which gets the terminate: action set until an actual menu item is added. Tested with texedit and standard dialogs examples together with menus, menurama and bigmenucreator manual tests. We also renamed some functions and variables to reflect common naming practices. Change-Id: I9b51d3be3467a666d8c3dcf8585edbc821e0282e Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | QCocoaTheme: Include CoreServices rather than CarbonGabriel de Dietrich2018-04-182-2/+2
| | | | | | | | | | | | | | | | | | | | And add CoreServices as framework dependency. The standard pixmaps depend on CoreServices, or LaunchServices to be accurate. Change-Id: Ib97e521f3e950586a352bf9b30f827ce3fda8efd Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | WinRT: Add Windows UI Automation supportAndre de la Rocha2018-04-1748-10/+5930
| | | | | | | | | | | | | | | | | | | | | | | | | | Adds support to accessibility tools and programmatic UI control to the WinRT platform through Windows UI Automation, using the AutomationPeer API. [ChangeLog][winrt][feature] Added support to Windows UI Automation to the WinRT QPA, allowing Qt-based UWP applications to operate with accessibility and programmatic UI control tools. Change-Id: If0a8edbebc7c16c4896d749f2d7e11809b4b37b3 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* | Provide QPlatformWindow::hasPendingUpdateRequest() helper functionTor Arne Vestbø2018-04-172-9/+6
| | | | | | | | | | | | | | So that platform plugins don't need to dive into QWindowPrivate. Change-Id: Ia2d94b3e9236e4a68857e6afe7af063f1b0d0aeb Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | macOS: Add logging when delivering update requestsTor Arne Vestbø2018-04-173-1/+8
| | | | | | | | | | Change-Id: I2144e39c69fe79c0a31d5fb708abe4b20169d27a Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | iOS: Don't assume our UIWindow is a QUIWindowTor Arne Vestbø2018-04-171-1/+2
| | | | | | | | | | Change-Id: I6494e4a476273b131aedcf409abdb1ffffa5b62e Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | Android: Cleanup the threading handlingBogDan Vatra2018-04-152-125/+108
| | | | | | | | | | | | | | | | Make sure all the call that are coming from Android UI thread are delegate to Qt thread. Change-Id: Ice1a25d01d107d7221b88c65b96dc1459c7f77f0 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | Make sure we finish composing before we do any operations on textBogDan Vatra2018-04-151-0/+6
| | | | | | | | | | | | | | | | We must finish composing before we move cursor or we do operation on text like cut, copy, paste and select all Change-Id: Ibb09f2c3e526e237b77689a1c2d253aecd563237 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* | Release left button before showing the popup context menuBogDan Vatra2018-04-153-0/+23
| | | | | | | | | | | | | | | | If we release the left button after the popup context menu is visible, the left button will hide the menu immediately. Change-Id: Ie6edf85beb683fd83247e90e7edb4faa5aff6d35 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | Android: rewrite edit context menuBogDan Vatra2018-04-154-15/+29
| | | | | | | | | | | | | | | | | | | | | | | | - get rid of the old tool bar with edit controls which was also dropped by Google after they realized that is not intuitive at all. - we now introduce a nice context menu as we see in modern Android devices. This menu works on all Android devices starting with API 16. [ChangeLog][Android] Say hello to Android edit context menu Change-Id: I00d0d83fe8876335c72d7b183db4c1b53746d6b7 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-04-159-59/+81
|\| | | | | | | Change-Id: I8c353b4c53e90434453c76691eac39a894d23b49
| * xcb: prevent crash with pixmap cursors on XRender-less X serversGatis Paeglis2018-04-143-8/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We were using xcb_render_* APIs without checking if the server even supports this extension. Attempting to use an extension which is not present will always result in a crash. This patch adds the required guards and refactors how we detect presence of XRender extension. Also instead of falling back to some odd-looking bitmapped version just leave the current cursor unchanged. That is how we did it in Qt4 AFAICT. Task-number: QTBUG-66935 Change-Id: I4f27f1d65a77563ec34f3e0e94492c9236d7f9a6 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| * xcb: fix bitmap cursor loading performance regressionGatis Paeglis2018-04-144-45/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... introduced by 422838685c31d9b57133a8711bfd5db92095d96d. Instead of completely droping caching for bitmap cursors we can do the same what is done in libXcursor - have a fixed size cache, with oldest entries eventually being replaced with new bitmaps. This fixes the original issue, where the hash was growing indefinitely until running out of file descriptors and won't have the performance penalty as in 422838685c31d9b57133a8711bfd5db92095d96d. Task-number: QTBUG-66897 Change-Id: I14f80b46f97fd0e2c920e17a31ffbc0441cd9d22 Reviewed-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Robin Burchell <robin.burchell@crimson.no> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| * xcb: cleanup the code for detecting when to create/destroy SHM segmentGatis Paeglis2018-04-141-6/+8
| | | | | | | | | | | | | | | | | | | | | | - removed the check for "m_segmentSize > 0" as according to the code it will never be <= 0. - wrap the entire logic in connection()->hasShm() { .. } as that is when the logic becomes relevant. This makes the code more readable. Change-Id: I572420df8e29cc46593f8a13c250f8c05c6a9108 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| * winrt: QWinRTEGLContext: add isValid functionalityOliver Wolff2018-04-132-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | QPlatformOpenGLContext::isValid always returns true but it is possible that creation of the context fails in QWinRTEGLContext. This case should be reflected in isValid because other places (like QOpenGLContext::isValid()) rely on it and not having proper information about the validity of the context might lead to crashes. Task-number: QTBUG-67568 Change-Id: If989ca47cdf7b27c44961beee5d97a4647184b0a Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* | Cocoa: Add QNSView Metal Layer supportMorten Johan Sørvig2018-04-123-3/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make sure the layer is updated on window resize and screen change. Add a support test and print a warning if we try to create a Metal layer without Metal system support. This test should ideally be done earlier, before configuring the QWindow to use Metal. Link against the Metal framework: The minimum deployment target is already 10.11 so this does not add additional deployment requirements. Change-Id: I0a38e824d0b6042bb52520dfaf0958ce21bb40b8 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into devLiang Qi2018-04-112-1/+3
|\| | | | | | | | | | | | | Conflicts: src/plugins/platforms/ios/quiview.mm Change-Id: I0fd0adeca1590fffddd577873172f6d987a60412
| * glx: Fix loading OpenGL library when libGL.so symlink is missingDmitry Shachnev2018-04-101-0/+2
| | | | | | | | | | | | | | | | Task-number: QTBUG-67537 Change-Id: Ib59bc27582f44b0c6b04efa57c44d877e1685bbb Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * iOS: Remove sending of duplicate touch events after broken mergeTor Arne Vestbø2018-04-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | The merge in 0f315adf9199ef resulted in keeping both code paths, in effect sending two touch events for each native touch event, and also re-introduced the bug fixed by sending the touch events asynchronously in some cases. Change-Id: Id81f02d9597f4e0baeaddbdf9057fa32b6c31b2f Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | QNSView: Remove useless QWindow pointer checkGabriel de Dietrich2018-04-101-3/+1
| | | | | | | | | | | | | | | | | | It seems that's the only place we were doing any check. We can remove it since it's not supposed to happen, and it would have crashed already if it had. Change-Id: Ic2034d2d278899f30a7d07284057e63a12e8eb10 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | iOS: Send window-system event also when embedded in native iOS appTor Arne Vestbø2018-04-103-33/+51
| | | | | | | | | | | | | | | | | | | | The iOS event dispatcher has been split into two; one dealing with the QPA event processing, which we should always do, and one dealing with the longjumping that we do when running the user's main on a separate stack. Change-Id: I1f819db33c608aad130ff23cbbadcf84363a32d2 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-04-102-56/+52
|\| | | | | | | Change-Id: I0120f804522c0c652e9537b6e9fe08189f071ed2
| * xcb: various coding style cleanups in qxcbbackingstoreGatis Paeglis2018-04-092-37/+33
| | | | | | | | | | | | | | | | | | | | | | - Pass QXcbBackingStoreImage a pointer to QXcbBackingStore. This allow for simpler QXcbBackingStoreImage ctor. - Use member initializers. Change-Id: Ia992390060bb30e1184813cd0d115a8bf0fbc237 Reviewed-by: Błażej Szczygieł <spaz16@wp.pl> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| * xcb: rename two classes in qxcbbackingstoreGatis Paeglis2018-04-092-23/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | QXcbShmImage to QXcbBackingStoreImage as it is an image that might or might not have SHM capability. The current name implies that it always uses SHM. QXcbShmGraphicsBuffer to QXcbGraphicsBuffer as it has nothing to do with SHM. Change-Id: I57ced75891e8b10515142769278a7f3f40da91ef Reviewed-by: Alexander Volkov <a.volkov@rusbitech.ru> Reviewed-by: Błażej Szczygieł <spaz16@wp.pl> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | xcb: minor cleanups around QT_CONFIG(xcb_xlib)Gatis Paeglis2018-04-093-26/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Remove unused createVisualInfoForDefaultVisualId() function. This amends dff3c0f14f3c3a7288c456028d5bec23bee5406a. - Inline QXcbConnection::xlib_display(). - Don't nest QT_CONFIG(xcb_native_painting) in QT_CONFIG(xcb_xlib). configure.json already checks for the dependencies, we don't need to do that again in *.h/*.cpp. Change-Id: If39912e67ce9baa31faf091bebe120bac5cf6876 Reviewed-by: Alexander Volkov <a.volkov@rusbitech.ru> Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* | eglfs/kms: also set windowing properties on planesLionel CHAZALLON2018-04-091-0/+4
| | | | | | | | | | | | | | | | | | The 0 values should be default for X,Y both on plane and crtc. But atomic implementation can have flaws on some devices so we don't assume they are defaulted right and set them to 0. Change-Id: I2f7dc98fdba523eb46eb86b97568d18b6cfd1277 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-04-063-1/+10
|\| | | | | | | Change-Id: Ic811cd444e523b904211797112bba6aaec85dddd
| * Make nvidia resets opt-in based on QSurfaceFormat::ResetNotificationDavid Edmundson2018-04-051-1/+1
| | | | | | | | | | | | | | | | | | | | We can't be sure every user will check the return value from makeCurrent and reset appropriately. Even though after a reset a user will be left with the same garbage as before, it's safer than a potential infinite loop. Change-Id: I5b328c654ad2a89c5b8c4399e2eb38150f4f384b Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| * Support graphics reset status for offscreen surfaces in XCB-GLXDavid Edmundson2018-04-051-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | I originally didn't to match the ANGLE code, however it's important for all surfaces to be able to know to reset if their makeContext fails. This is espcially relevant on some Linux nvidia drivers which has a bug where while(glGetError()) won't ever clear whilst a reset is in progress. Change-Id: Iae3502168cda748c601a9aee1497e40c6d82cd83 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| * Windows QPA: Fix override cursor not working when re-entering the windowFriedemann Kleint2018-04-052-0/+3
| | | | | | | | | | | | | | | | | | Return early from QWindowsWindow::applyCursor() when an override cursor is set. Task-number: QTBUG-67467 Change-Id: I0d3ceead8bbbd3c6295c216a944a1ef15b6f8190 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | QNSView: Remove isMenuView propertyGabriel de Dietrich2018-04-053-13/+3
| | | | | | | | | | | | | | This is always NO and no longer needed. Change-Id: I32a3dca6cc427cb074ee3d58bf2202f57af4c623 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-04-051-3/+5
|\| | | | | | | Change-Id: I954bd6418bc862a04691240c0f1766f6ce033640
| * Cocoa: Make QMacNativeWidget paint correctlyMorten Johan Sørvig2018-04-031-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | QWindows with transparent pixels (of which QMacNativeWidget is an example) must be composited, even if they are content views. This will display the NSWindow background instead of solid black for the areas where the Qt backingstore has transparent pixels. Change-Id: Ibee1327e11bc64975900b4c5d632dd5f103da4c8 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | eglfs/kms: Add framebuffer scaling ability with KMS atomicLionel CHAZALLON2018-04-043-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit will add the possibility to have a different sizes between framebuffer and videomode using DRM atomic, which is not possible with DRM legacy. The main goal of this change is to allow to get decent performance on embedded devices which can support high resolution display (ie UHD), and which don't have a GPU able to achieve decent framerate in such resolutions. This patch adds a "size" member to the output configuration in KMS configuration file. The GBM framebuffer will be created with that size and the GBM screen will report that size so that EGLFS can do everything normally. Scaling planes with different size than the video mode size is not something supported consistently with DRM legacy, so that feature will be only available when using the DRM atomic API. This was tested on Rock64 device, both with drm legacy and atomic. Change-Id: I8ba5bae35e61fcb7d9fc58234504bdfd647b43f6 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> Reviewed-by: Lionel CHAZALLON <longchair@hotmail.com>
* | Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-03-311-11/+7
|\| | | | | | | Change-Id: I33b47095efdfe0ba698c6a88ca41ec911f432208
| * Windows: handle multiple transient children when closing windowsMauro Persano2018-03-291-11/+7
| | | | | | | | | | | | | | | | | | | | On Windows, we must update the transient children of a window that's about to be destroyed or its transient children will be destroyed as well. This is already being done in the case of a single transient child, but there are still problems when there are more than one. Change-Id: Ib0de6767bf43dca508ecdb87cbdfedb59e9146e8 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>