diff options
author | Toomas Soome <tsoome@FreeBSD.org> | 2021-12-06 17:21:58 +0000 |
---|---|---|
committer | Toomas Soome <tsoome@FreeBSD.org> | 2021-12-11 11:25:35 +0000 |
commit | 6102f43cf060a592894dcd591c2dfced14581983 (patch) | |
tree | d4e3bba4096d5f229aa34951c6aac934b32fd5d7 /stand/efi | |
parent | faa3605705c67bbb8ff1de70bed9f656e868dfc6 (diff) | |
download | src-6102f43cf060a592894dcd591c2dfced14581983.tar.gz src-6102f43cf060a592894dcd591c2dfced14581983.zip |
loader: framebuffer should only be written into
Reading from Write Combining memory can be very-very slow. Try to use
shadow buffer to avoid such reads.
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D33305
Diffstat (limited to 'stand/efi')
-rw-r--r-- | stand/efi/loader/framebuffer.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/stand/efi/loader/framebuffer.c b/stand/efi/loader/framebuffer.c index adb9dfb62cee..03752b77a24e 100644 --- a/stand/efi/loader/framebuffer.c +++ b/stand/efi/loader/framebuffer.c @@ -622,6 +622,9 @@ efi_find_framebuffer(teken_gfx_t *gfx_state) gfx_state->tg_fb.fb_bpp = fls(efifb.fb_mask_red | efifb.fb_mask_green | efifb.fb_mask_blue | efifb.fb_mask_reserved); + free(gfx_state->tg_shadow_fb); + gfx_state->tg_shadow_fb = malloc(efifb.fb_height * efifb.fb_width * + sizeof(EFI_GRAPHICS_OUTPUT_BLT_PIXEL)); return (0); } |