Re: [PATCH 6/8] drm/mgag200: Rewrite cursor handling

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi

Am 05.06.19 um 11:58 schrieb Gerd Hoffmann:
> On Tue, Jun 04, 2019 at 05:41:59PM +0200, Thomas Zimmermann wrote:
>> The cursor handling in mgag200 is complicated to understand. It touches a
>> number of different BOs, but doesn't really use all of them.
>>
>> Rewriting the cursor update reduces the amount of cursor state. There are
>> two BOs for double-buffered HW updates. The source BO updates the one that
>> is currently not displayed and then switches buffers. Explicit BO locking
>> has been removed from the code. BOs are simply pinned and unpinned in video
>> RAM.
> 
> Cursors are not that big after all, so maybe pin the two BOs for
> double-buffering permanently in vram to simplify things further?
> 
> Also factoring out the code which updates the two BOs to a separate
> function should help making the code more readable.

The cursor handling in the ast driver is similar, but uses one single BO
to hold both cursor buffers. I'm thinking about how to turn both
implementations into a generic helper for legacy cursors (i.e., low
number of colors or palette). This would also be helpful for my work on
fbdev porting.

One idea is to adapt deferred I/O. DRM would expose an ARGB shadow
buffer to userspace and let the mmap implementation update the HW
buffers (including dithering, palette setup, etc.).

Best regards
Thomas

> But even as-is the patch is a step into the right direction.
> 
> Acked-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
> 
> cheers,
>   Gerd
> 

-- 
Thomas Zimmermann
Graphics Driver Developer
SUSE Linux GmbH, Maxfeldstrasse 5, 90409 Nuernberg, Germany
GF: Felix Imendörffer, Mary Higgins, Sri Rasiah
HRB 21284 (AG Nürnberg)

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel

[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux