On Thu, Jun 13, 2013 at 3:17 AM, Christopher Harvey <charvey@xxxxxxxxxx> wrote: > On Wed, Jun 05 2013, Christopher Harvey <charvey@xxxxxxxxxx> wrote: >> G200 cards support, at best, 16 colour palleted images for the cursor >> so we do a conversion in the cursor_set function, and reject cursors >> with more than 16 colours, or cursors with partial transparency. Xorg >> falls back gracefully to software cursors in this case. >> >> We can't disable/enable the cursor hardware without causing momentary >> corruption around the cursor. Instead, once the cursor is on we leave >> it on, and simulate turning the cursor off by moving it >> offscreen. This works well. >> >> Since we can't disable -> update -> enable the cursors, we double >> buffer cursor icons, then just move the base address that points to >> the old cursor, to the new. This also works well, but uses an extra >> page of memory. >> >> The cursor buffers are lazily-allocated on first cursor_set. This is >> to make sure they don't take priority over any framebuffers in case of >> limited memory. >> >> Here is a representation of how the bitmap for the cursor is mapped in G200 memory : >> >> Each line of color cursor use 6 Slices of 8 bytes. Slices 0 to 3 >> are used for the 4bpp bitmap, slice 4 for XOR mask and slice 5 for >> AND mask. Each line has the following format: >> >> // Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 >> // >> // S0: P00-01 P02-03 P04-05 P06-07 P08-09 P10-11 P12-13 P14-15 >> // S1: P16-17 P18-19 P20-21 P22-23 P24-25 P26-27 P28-29 P30-31 >> // S2: P32-33 P34-35 P36-37 P38-39 P40-41 P42-43 P44-45 P46-47 >> // S3: P48-49 P50-51 P52-53 P54-55 P56-57 P58-59 P60-61 P62-63 >> // S4: X63-56 X55-48 X47-40 X39-32 X31-24 X23-16 X15-08 X07-00 >> // S5: A63-56 A55-48 A47-40 A39-32 A31-24 A23-16 A15-08 A07-00 >> // >> // S0 to S5 = Slices 0 to 5 >> // P00 to P63 = Bitmap - pixels 0 to 63 >> // X00 to X63 = always 0 - pixels 0 to 63 >> // A00 to A63 = transparent markers - pixels 0 to 63 >> // 1 means colour, 0 means transparent >> >> Signed-off-by: Christopher Harvey <charvey@xxxxxxxxxx> >> Signed-off-by: Mathieu Larouche <mathieu.larouche@xxxxxxxxxx> >> Acked-by: Julia Lemire <jlemire@xxxxxxxxxx> >> Tested-by: Julia Lemire <jlemire@xxxxxxxxxx> > > ping. I've applied this to drm-next, Dave. _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel