diff options
author | Kevin Brace <kevinbrace@gmx.com> | 2020-04-01 09:55:52 -0700 |
---|---|---|
committer | Kevin Brace <kevinbrace@gmx.com> | 2020-04-01 10:06:40 -0700 |
commit | 091cb896182d4326262dec30c614abe535926851 (patch) | |
tree | 0628efb8b5915d6a02921a38c345eef728ab337f | |
parent | 23f1e4a364db5c92a7c548f515e385368b3c6e4a (diff) |
Use only one storage location for HI (Hardware Icon) based cursor
This eliminates duplicated second storage location for HI based cursor.
Signed-off-by: Kevin Brace <kevinbrace@gmx.com>
-rw-r--r-- | src/via_driver.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/via_driver.c b/src/via_driver.c index 34a6e47..55e40e6 100644 --- a/src/via_driver.c +++ b/src/via_driver.c @@ -1420,6 +1420,7 @@ VIAScreenInit(SCREEN_INIT_ARGS_DECL) unsigned int bppSize, alignedPitch; unsigned long alignment; xf86CrtcConfigPtr xf86_config; + struct buffer_object *bo; int cursorWidth, cursorHeight, flags; int cursorSize; int i; @@ -1540,6 +1541,15 @@ VIAScreenInit(SCREEN_INIT_ARGS_DECL) cursorSize = (cursorWidth * cursorHeight) * (32 / 8); alignment = 1024; + /* + * Set cursor location in frame buffer. + */ + bo = drm_bo_alloc(pScrn, cursorSize, alignment, + TTM_PL_FLAG_VRAM); + if (!bo) { + return FALSE; + } + for (i = 0; i < xf86_config->num_crtc; i++) { xf86CrtcPtr crtc = xf86_config->crtc[i]; drmmode_crtc_private_ptr iga = crtc->driver_private; @@ -1547,9 +1557,7 @@ VIAScreenInit(SCREEN_INIT_ARGS_DECL) /* * Set cursor location in frame buffer. */ - iga->cursor_bo = drm_bo_alloc(pScrn, - cursorSize, alignment, - TTM_PL_FLAG_VRAM); + iga->cursor_bo = bo; } if (!xf86_cursors_init(pScreen, |