Comment 107 for bug 586325

Revision history for this message
In , Chris Halse Rogers (raof) wrote :

The patch is still slightly broken:

In intel_crtc_update_cursor you have
...
if (crtc->fb) {
 base = intel_crtc->cursor_addr;
 if (x > crtc->fb->width)
  base = 0;
...
with x a signed int and crtc->fb->width an unsigned integer, and similarly for y and height. This makes the cursor disappear near the far left and top of the screen (as (unsigned)-1 > 1440) - there's no guarantee the hot point is the top-left of the image, and indeed for me it's not.

Also, reading the docs it seems that it's required that CUR*BASE be written to update any of the cursor regs (vol 3, p142). I presume that I'm reading it incorrectly, since the cursor appears to update fine without doing that.