Bug 11725

Summary: Transient virtical bar seen when panning in MergedFB mode
Product: xorg Reporter: henry.zhao <henry.zhao>
Component: Driver/RadeonAssignee: xf86-video-ati maintainers <xorg-driver-ati>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium    
Version: 7.2 (2007.02)   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 11749    
Attachments:
Description Flags
Patch to fix the problem none

Description henry.zhao@oracle.com 2007-07-25 18:12:10 UTC
In MergedFB mode, a transient vertical bar is seen during LCD/DFP screen panning
when cursor moves downward hitting bottom. The bar goes across the whole
height of the screen, with a width of approximately 60 pixels on a 1680 wide 
screen. The bar disappears as soon as cursor movement stops.

The problem is not observed when

* In single mode (non-MergedFB mode); or
* on CRT (analog) monitor; or
* software cursor is used.

Version of driver: xf86-video-ati-6.6.192.
Comment 1 Michel Dänzer 2007-07-26 00:12:36 UTC
At what points exactly does the effect start and stop? It sounds like it could be due to the HW cursor being positioned outside of the viewport.
Comment 2 henry.zhao@oracle.com 2007-07-26 02:48:16 UTC

(In reply to comment #1)
> At what points exactly does the effect start and stop? It sounds like it could
> be due to the HW cursor being positioned outside of the viewport.
> 

When cursor moves downwards to pan the screen. The vertical bar stars when
cursor hits the bottom of the screen, dispears when cursor stops moving.
Comment 3 Michel Dänzer 2007-07-26 03:30:59 UTC
(In reply to comment #2)
> The vertical bar stars when cursor hits the bottom of the screen

The cursor image or the hot spot (which is located where in the image)?
Comment 4 henry.zhao@oracle.com 2007-07-26 15:47:53 UTC
(In reply to comment #3)
> (In reply to comment #2)
> > The vertical bar stars when cursor hits the bottom of the screen
> 
> The cursor image or the hot spot (which is located where in the image)?
> 

The vertical bar starts when the hot spot (the tip of the arrow) hits the
bottom of the screen.  Horizontally the verical bar is positioned where
the cursor is. More info:

(1) You have to move cursor downward fast to reproduce the problem.
(2) The vertical bar appears only on LCD/DFP screen, not on CRT screen,
    even in MergedFB mode the latter has the same image and the same
    cursor movement pattern is observed on both screens.
Comment 5 Michel Dänzer 2007-07-27 00:49:57 UTC
(In reply to comment #4)
> The vertical bar starts when the hot spot (the tip of the arrow) hits the
> bottom of the screen.  Horizontally the verical bar is positioned where
> the cursor is. More info:
> 
> (1) You have to move cursor downward fast to reproduce the problem.

Then it's probably indeed related to the cursor being outside of the CRTC viewport. Sounds like the MergedFB cursor code doesn't disable the HW cursor when it should.
Comment 6 henry.zhao@oracle.com 2007-08-04 20:39:25 UTC
Created attachment 10995 [details] [review]
Patch to fix the problem

In RADEONSetCursorPositionMerged(), while total_y2 is the vertial boundary 
condition (VDisplay - 1) of CRT2 for cursor of Scrn2, total_y1 could be
(VDisplay - 1) of CRT1 or CRT2, depending on how they are merged. The patch
ensures total_y1 be (VDisplay - 1) of CRT1.
Comment 7 Michel Dänzer 2007-08-22 01:05:35 UTC
Alex, can you review this?
Comment 8 Alex Deucher 2007-08-22 06:21:34 UTC
Yes the patch looks fine.  Feel free to commit it.
Comment 9 Dave Airlie 2007-08-23 02:10:41 UTC
committed to 6.7 branch

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.