On Fri, Aug 17, 2018 at 03:15:52PM -0400, Mikulas Patocka wrote:
There's console font corruption when using the mach64 driver in 24bpp mode.
In 24bpp mode, the mach64 accelerator is set up for 8-bpp mode (with horizontal width and stride multiplied by 3). In this mode, the accelerator can't even possibly support color expansion. Consquently, we have to use an unaccelerated function cfb_imageblit for color expansion.
Hmm. I would think it should work just fine since we feed in each bit three times and the hw 24bpp rotate thing should take care of selecting the right component.
- if (M64_HAS(HW_TRIPLE) && image->width % 8 == 0) + if (M64_HAS(HW_TRIPLE) && width % 8 == 0) pix_width |= DP_HOST_TRIPLE_EN; perhaps?
Signed-off-by: Mikulas Patocka mpatocka@redhat.com Cc: stable@vger.kernel.org
drivers/video/fbdev/aty/mach64_accel.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
Index: linux-stable/drivers/video/fbdev/aty/mach64_accel.c
--- linux-stable.orig/drivers/video/fbdev/aty/mach64_accel.c 2018-04-20 18:11:01.000000000 +0200 +++ linux-stable/drivers/video/fbdev/aty/mach64_accel.c 2018-08-13 17:37:04.000000000 +0200 @@ -291,7 +291,8 @@ void atyfb_imageblit(struct fb_info *inf if (!image->width || !image->height) return; if (!par->accel_flags ||
(image->depth != 1 && info->var.bits_per_pixel != image->depth)) {
(image->depth != 1 && info->var.bits_per_pixel != image->depth) ||
cfb_imageblit(info, image); return; }(image->depth == 1 && info->var.bits_per_pixel == 24)) {
dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel