From mboxrd@z Thu Jan 1 00:00:00 1970 From: Knut Petersen Subject: [BUG] Cursor code broken Date: Wed, 09 Apr 2014 08:16:30 +0200 Message-ID: <5344E5BE.6060907@t-online.de> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: Received: from mailout04.t-online.de (mailout04.t-online.de [194.25.134.18]) by gabe.freedesktop.org (Postfix) with ESMTP id 80B246EA77 for ; Tue, 8 Apr 2014 23:16:43 -0700 (PDT) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson Cc: intel-gfx List-Id: intel-gfx@lists.freedesktop.org Hi Chris! The intel xorg driver cursor code is broken, at least on my system. The last good commit is 3810cff42bca1badc5844002694a6f582c0f423. Hardware: AOpen i915GMm-hfs with Pentium-M Dothan cpu Software: openSuSE 13.1, kernel 3.14, xorg git master, kde Expected behavior: =============== If the mouse cursor hits a window border, it changes it appearance and stays at the same location. If the left mouse button is depressed the window might be resized. Current behavior: ============= The mouse cursor hits a window border, it does not change its appearance and is relocated a few pixels instead. If the mouse cursor is moved a bit further there is a second unexpected relocation to the opposite direction. This new behavior of the mouse cursor has been implemented for both axes. Resizing is impossible as the mouse cursor cannot be put exactly on the window border. After I realized that the intel driver is the cause of the problem, I bisected. During bisecting I realized that there are two cursor problems after 3810cff42, the one described above that is still present in current git HEAD and a problem with a totally distorted cursor image that already has been solved. In the bisect log below "good" means "cursor handling completely ok", "bad" means "one or both of the cursor problems present". git bisect start # good: [220accd828c5a0054ae9e3b491a434f7a6c750e0] sna: Only enable cursor support if the hw cursor is supported git bisect good 220accd828c5a0054ae9e3b491a434f7a6c750e0 # bad: [3310ee89c1f1a663de5f5b12b8125809a213996f] sna: Avoid discarding damage when applying WHOLE hint to pixmap migration git bisect bad 3310ee89c1f1a663de5f5b12b8125809a213996f # bad: [80792a3f490578735065d9f67ca6ebac00b5bb75] sna: Our cursors are always square. git bisect bad 80792a3f490578735065d9f67ca6ebac00b5bb75 # good: [e3810cff42bca1badc5844002694a6f582c0f423] sna: Move cursor reload into crtc notify git bisect good e3810cff42bca1badc5844002694a6f582c0f423 # bad: [e07f8e2e625fb34f9ad795ca8fffc9a9e88e25b2] sna: Fix 2-color to ARGB cursor conversion git bisect bad e07f8e2e625fb34f9ad795ca8fffc9a9e88e25b2 # bad: [e8be2a438d7a413ba6c64005971ce814b0076fc7] sna: Clear the surrounding areas of small cursors git bisect bad e8be2a438d7a413ba6c64005971ce814b0076fc7 # bad: [25ca8f136cef9e1bdf06967bf8e78c87b54ffce2] sna: Support variable sized cursors git bisect bad 25ca8f136cef9e1bdf06967bf8e78c87b54ffce2 # first bad commit: [25ca8f136cef9e1bdf06967bf8e78c87b54ffce2] sna: Support variable sized cursors # bad: [25ca8f136cef9e1bdf06967bf8e78c87b54ffce2] sna: Support variable sized cursors git bisect bad 25ca8f136cef9e1bdf06967bf8e78c87b54ffce2 # first bad commit: [25ca8f136cef9e1bdf06967bf8e78c87b54ffce2] sna: Support variable sized cursors # bad: [25ca8f136cef9e1bdf06967bf8e78c87b54ffce2] sna: Support variable sized cursors git bisect bad 25ca8f136cef9e1bdf06967bf8e78c87b54ffce2 # first bad commit: [25ca8f136cef9e1bdf06967bf8e78c87b54ffce2] sna: Support variable sized cursors cu, Knut