forked from Minki/linux
drm/vmwgfx: Fix cursor hotspot issue with Wayland on Fedora
Parts of commit <8fbf9d92a7bc> (“drm/vmwgfx: Implement the cursor_set2 callback v2”) were not moved over when we started atomic mode set development because at that time the DRM did not support cursor hotspots in the fb struct. This patch fixes what was not moved over. Signed-off-by: Sinclair Yeh <syeh@vmware.com> Reviewed-by: Brian Paul <brianp@vmware.com> Tested-by: Brian Paul <brianp@vmware.com>
This commit is contained in:
parent
7b009e7679
commit
14979adb02
@ -384,6 +384,12 @@ vmw_du_cursor_plane_atomic_update(struct drm_plane *plane,
|
||||
|
||||
hotspot_x = du->hotspot_x;
|
||||
hotspot_y = du->hotspot_y;
|
||||
|
||||
if (plane->fb) {
|
||||
hotspot_x += plane->fb->hot_x;
|
||||
hotspot_y += plane->fb->hot_y;
|
||||
}
|
||||
|
||||
du->cursor_surface = vps->surf;
|
||||
du->cursor_dmabuf = vps->dmabuf;
|
||||
|
||||
@ -411,6 +417,9 @@ vmw_du_cursor_plane_atomic_update(struct drm_plane *plane,
|
||||
vmw_cursor_update_position(dev_priv, true,
|
||||
du->cursor_x + hotspot_x,
|
||||
du->cursor_y + hotspot_y);
|
||||
|
||||
du->core_hotspot_x = hotspot_x - du->hotspot_x;
|
||||
du->core_hotspot_y = hotspot_y - du->hotspot_y;
|
||||
} else {
|
||||
DRM_ERROR("Failed to update cursor image\n");
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user