Bug 4951 - [ATI/radeon] HW cursor becomes SW with EXA
Summary: [ATI/radeon] HW cursor becomes SW with EXA
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/Radeon (show other bugs)
Version: git
Hardware: Other Linux (All)
: high normal
Assignee: Michel Dänzer
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 1690
  Show dependency treegraph
 
Reported: 2005-11-03 04:49 UTC by Michel Dänzer
Modified: 2005-11-07 07:00 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
Proposed fix (4.35 KB, patch)
2005-11-03 05:02 UTC, Michel Dänzer
no flags Details | Splinter Review

Description Michel Dänzer 2005-11-03 04:49:47 UTC
When using EXA, sometimes (in particular after a VT switch) the HW cursor
silently becomes SW. This is highly annoying as the SW cursor interacts badly
with the DRI, Xv and compositing performance and there's no way to go back to HW
cursor without restarting the X server, so I think this should be fixed before
6.9/7.0.
Comment 1 Michel Dänzer 2005-11-03 04:51:03 UTC
I'll attach a proposed fix shortly.
Comment 2 Michel Dänzer 2005-11-03 05:02:05 UTC
Created attachment 3689 [details] [review]
Proposed fix

The basic idea is to check for the condition in RADEONUseHWCursor() and try to
re-allocate the offscreen area for the HW cursor when necessary. As the
condition mostly (only?) seems to occur on VT switches, I tried doing it in
RADEONEnterVT() instead, but exaOffscreenAlloc() doesn't seem to work there
yet.
Comment 3 Michel Dänzer 2005-11-08 02:00:52 UTC
CVSROOT:        /cvs/xorg
Module name:    xc
Changes by:     daenzer@gabe.freedesktop.org    05/11/08 01:44:41

Log message:
  2005-11-08  Michel Daenzer  <michel@daenzer.net>
  
        * programs/Xserver/hw/xfree86/drivers/ati/radeon_cursor.c:
        (RADEONCursorSave), (RADEONCursorAllocEXA), (RADEONUseHWCursor),
        (RADEONUseHWCursorARGB), (RADEONCursorInit):
        * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
        (RADEONScreenInit):
        bugzilla #4951 (https://bugs.freedesktop.org/show_bug.cgi?id=4951)
        attachment #3689 [details] [review] (http://bugs.freedesktop.org/attachment.cgi?id=3689)
        Fix HW cursor getting silently disabled with EXA.

Modified files:
      ./:
        ChangeLog 
      xc/programs/Xserver/hw/xfree86/drivers/ati/:
        radeon_cursor.c radeon_driver.c 
  
  Revision      Changes    Path
  1.1499        +11 -0     xc/ChangeLog
  http://cvs.freedesktop.org/xorg/xc/ChangeLog
  1.9           +48 -28   
xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_cursor.c
 
http://cvs.freedesktop.org/xorg/xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_cursor.c
  1.81          +0 -7     
xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c
 
http://cvs.freedesktop.org/xorg/xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c


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.