On Wed, 1 Feb 2017, 23:14 Alexander Graf <[email protected]> wrote: > EFI GOP has support for multiple different bitness types of frame buffers > and for a special "BLT only" type which is always defined to be RGBx. > > Because grub2 doesn't ever directly access the frame buffer but instead > only renders graphics via the BLT interface anyway, we can easily support > these adapters. > We do use direct framebuffer.
> > The reason this has come up now is the emerging support for virtio-gpu > in OVMF. That adapter does not have the notion of a memory mapped frame > buffer and thus is BLT only. > > Signed-off-by: Alexander Graf <[email protected]> > --- > grub-core/video/efi_gop.c | 2 ++ > include/grub/efi/graphics_output.h | 3 ++- > 2 files changed, 4 insertions(+), 1 deletion(-) > > diff --git a/grub-core/video/efi_gop.c b/grub-core/video/efi_gop.c > index 7f9d1c2..c9e40e8 100644 > --- a/grub-core/video/efi_gop.c > +++ b/grub-core/video/efi_gop.c > @@ -121,6 +121,7 @@ grub_video_gop_get_bpp (struct grub_efi_gop_mode_info > *in) > { > case GRUB_EFI_GOT_BGRA8: > case GRUB_EFI_GOT_RGBA8: > + case GRUB_EFI_GOT_BLT_ONLY: > return 32; > > case GRUB_EFI_GOT_BITMASK: > @@ -187,6 +188,7 @@ grub_video_gop_fill_real_mode_info (unsigned mode, > switch (in->pixel_format) > { > case GRUB_EFI_GOT_RGBA8: > + case GRUB_EFI_GOT_BLT_ONLY: > out->red_mask_size = 8; > out->red_field_pos = 0; > out->green_mask_size = 8; > diff --git a/include/grub/efi/graphics_output.h > b/include/grub/efi/graphics_output.h > index 1297774..e438812 100644 > --- a/include/grub/efi/graphics_output.h > +++ b/include/grub/efi/graphics_output.h > @@ -28,7 +28,8 @@ typedef enum > { > GRUB_EFI_GOT_RGBA8, > GRUB_EFI_GOT_BGRA8, > - GRUB_EFI_GOT_BITMASK > + GRUB_EFI_GOT_BITMASK, > + GRUB_EFI_GOT_BLT_ONLY, > } > grub_efi_gop_pixel_format_t; > > -- > 1.8.5.6 > > > _______________________________________________ > Grub-devel mailing list > [email protected] > https://lists.gnu.org/mailman/listinfo/grub-devel >
_______________________________________________ Grub-devel mailing list [email protected] https://lists.gnu.org/mailman/listinfo/grub-devel
