https://bugs.freedesktop.org/show_bug.cgi?id=41158 Summary: RADEON KMS: radeon_crtc_cursor_move is off by one pixel Product: DRI Version: XOrg CVS Platform: Other OS/Version: All Status: NEW Severity: normal Priority: medium Component: DRM/Radeon AssignedTo: dri-devel@xxxxxxxxxxxxxxxxxxxxx ReportedBy: nmiell@xxxxxxxxx Created an attachment (id=51555) --> (https://bugs.freedesktop.org/attachment.cgi?id=51555) test cursor theme, unzip into ~/.icons and configure your desktop environment to use it When the mouse cursor is partially off the top or left edge of the screen, the cursor image is drawn one pixel further to the top or left than the actual position. This manifests itself in two ways: 1) When the cursor transitions from entirely on the screen to partially offscreen, the image jumps two pixels instead of moving by only one pixel. (Due to the transition from a correctly positioned image to an off-by-one image.) 2) It is possible to move the cursor's hotspot off the screen. (Appearance only, of course, as far as X is concerned the hotspot is still in the uppermost or leftmost row of pixels.) This seems obvious when you map out what the function actually does to calculate the xorigin and yorigin values, but some doubt was raised based on the wording of the register descriptions in the manuals. (Instead of speaking of offsets or coordinates, the term "length" is used, and it wasn't clear whether this length included the actual hotspot pixel.) So I tested it empirically by constructing a rather hideous looking cursor theme. It is a 31x31 mouse cursor image with the hotspot on the exact center pixel. The cursor has a one pixel red border. Immediately inside the red border is one pixel of yellow. You will not be able to position the cursor on the screen such that the outer red border is off the top or left but the inner yellow border is still visible. There is a one pixel wide yellow cross in the center of the cursor image, with the center pixel of the cross being the cursor's hotspot. Surrounding the yellow cross is a one pixel red border. When you move the cursor to the upper left pixel, the yellow cross vanishes entirely, which shouldn't be possible because you can't move the mouse cursor's hotspot off of the screen. Neither of these things happen when you use SWcursor. Testing was done on a RS880. I assume Evergreen is broken in the same way, but I'm not sure about pre-Avivo chips. -- Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel