Bug 11796

Summary: RandR 1.2 driver interface conversion of two colour cursors to ARGB broken on big endian platforms
Product: xorg Reporter: Michel Dänzer <michel>
Component: Server/DDX/XorgAssignee: Xorg Project Team <xorg-team>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium CC: airlied, alexdeucher, alexm, brice.goglin, bugzi11.fdo.tormod, chrschmitt, hvr, lu_zero, magnade, mattst88, nicholas
Version: git   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 8888, 10101    
Attachments:
Description Flags
Possible fix
none
Minimally invasive workaround for big endian platforms
none
Added comment
none
patch for bigendian cursor issue none

Description Michel Dänzer 2007-08-01 10:25:00 UTC
Title says it all really. Commit 0f057ebb272f0ee0b51b9ab37d4b07da0924fec4 fixed it for me but unfortunately broke other setups so it had to be reverted.
Comment 1 Michel Dänzer 2007-08-23 03:43:40 UTC
Created attachment 11220 [details] [review]
Possible fix

This patch (and not setting HARDWARE_CURSOR_BIT_ORDER_MSBFIRST on big endian platforms) fixes it for me with the radeon driver and doesn't break intel. Not sure it's the correct fix or even a good one though, opinions?
Comment 2 Michel Dänzer 2007-08-24 01:43:34 UTC
On second thought, this probably breaks radeon on little endian platforms...
Comment 3 Michel Dänzer 2007-09-05 02:17:45 UTC
Created attachment 11430 [details] [review]
Minimally invasive workaround for big endian platforms

This patch has no effect on little endian platforms but allows the radeon driver to work on big endian platforms. Does this look acceptable for 1.4?
Comment 4 Michel Dänzer 2007-09-05 02:21:34 UTC
Created attachment 11431 [details] [review]
Added comment
Comment 5 Christian Schmitt 2007-09-26 02:28:23 UTC
This patch did not work on my G4. Cursor is still bugged.
Comment 6 Michel Dänzer 2007-09-26 02:39:40 UTC
(In reply to comment #5)
> This patch did not work on my G4. Cursor is still bugged.

You also need to disable the setting of HARDWARE_CURSOR_BIT_ORDER_MSBFIRST in radeon_cursor.c.
Comment 7 Christian Schmitt 2007-09-26 03:54:02 UTC
(In reply to comment #6)

> You also need to disable the setting of HARDWARE_CURSOR_BIT_ORDER_MSBFIRST in
> radeon_cursor.c.
> 

That solved it. Cursor looks allright again. Thanks. Hope to see it upstream soon.
Comment 8 Christian Schmitt 2007-09-28 07:11:52 UTC
Created attachment 11802 [details] [review]
patch for bigendian cursor issue

For the sake of completeness I attach the patch that makes the latest ati driver work on my G4 machine.
Comment 9 Alex Deucher 2007-10-04 06:24:08 UTC
*** Bug 12672 has been marked as a duplicate of this bug. ***
Comment 10 Brice Goglin 2008-01-04 05:32:37 UTC
Did any fix get applied here? Would the xserver patch be acceptable for 1.4.1?
Comment 11 Michel Dänzer 2008-01-04 05:42:35 UTC
(In reply to comment #10)
> Did any fix get applied here? 

No.

> Would the xserver patch be acceptable for 1.4.1?

No, it was rejected.
Comment 12 Benjamin Herrenschmidt 2008-02-23 23:47:31 UTC
Michel, are you sure your initial patch was incorrect ? It looks to me
like it's actually the proper fix, along with removing the bogus bit
from the radeon driver for BE, no ?
Comment 13 Michel Dänzer 2008-02-24 02:58:46 UTC
(In reply to comment #12)

I was worried about breaking radeon on little endian, but looking at it now that might not be the case. If somebody could confirm that, the patch at least probably doesn't make the existing code any worse...
Comment 14 Nick Lewycky 2008-02-24 11:37:18 UTC
I just tested out a combination of both Michel's first patch and chrschmitt's patch on my iBook (bigendian radeon) and it works properly.

We'll still need someone to test it out on a little endian radeon box though.
Comment 15 Christian Schmitt 2008-02-25 00:39:26 UTC
Both patches work great here for months on my iBook G4 (radeon), even with the Git version of the drivers. Would be great to finally see them applied upstream. BTW: the patch is not from me. I just got the link to it moths ago from a developer.
Comment 16 Matt Turner 2008-03-10 15:10:20 UTC
Both patches work fine here on my AMD64 box with R480. Using xorg-server-1.3.0.0-r5 from portage, and xf86-video-ati from git.
Comment 17 Matt Turner 2008-03-10 15:36:38 UTC
The first patch alone works on my i965 X61 Thinkpad also :). Running xorg-server-1.4.0.90-r2 from portage.

So, it appears it *is* the correct fix?
Comment 18 Matt Turner 2008-03-17 09:49:06 UTC
Can we give this bug some love?
Comment 19 Alex Deucher 2008-03-19 16:17:37 UTC
Committed.
xserver: 267352579612155adfd4743432d6569b2cdeebde
radeon: 5e3b21284482df9974c9a58f248f0100def2bb0c
Comment 20 Michel Dänzer 2008-03-20 01:50:55 UTC
(In reply to comment #19)
> Committed.
> xserver: 267352579612155adfd4743432d6569b2cdeebde

Thanks, but it looks like you pushed the second attachment, while we were talking about the first one.
Comment 21 Alex Deucher 2008-03-20 06:18:21 UTC
(In reply to comment #20)
> (In reply to comment #19)
> > Committed.
> > xserver: 267352579612155adfd4743432d6569b2cdeebde
> 
> Thanks, but it looks like you pushed the second attachment, while we were
> talking about the first one.
> 

Sorry fixed: da973e962d09854b571320dee7dd9569060bc39e
Comment 22 Alex Deucher 2008-05-19 13:02:54 UTC
*** Bug 16019 has been marked as a duplicate of this bug. ***

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.