Blame SOURCES/0269-grub-core-video-efi_gop.c-Add-support-for-BLT_ONLY-a.patch

d41074
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
d41074
From: Alexander Graf <agraf@suse.de>
d41074
Date: Wed, 1 Feb 2017 23:10:45 +0100
d41074
Subject: [PATCH] grub-core/video/efi_gop.c: Add support for BLT_ONLY adapters
d41074
d41074
EFI GOP has support for multiple different bitness types of frame buffers
d41074
and for a special "BLT only" type which is always defined to be RGBx.
d41074
d41074
Because grub2 doesn't ever directly access the frame buffer but instead
d41074
only renders graphics via the BLT interface anyway, we can easily support
d41074
these adapters.
d41074
d41074
The reason this has come up now is the emerging support for virtio-gpu
d41074
in OVMF. That adapter does not have the notion of a memory mapped frame
d41074
buffer and thus is BLT only.
d41074
d41074
Signed-off-by: Alexander Graf <agraf@suse.de>
d41074
---
d41074
 grub-core/video/efi_gop.c          | 2 ++
d41074
 include/grub/efi/graphics_output.h | 3 ++-
d41074
 2 files changed, 4 insertions(+), 1 deletion(-)
d41074
d41074
diff --git a/grub-core/video/efi_gop.c b/grub-core/video/efi_gop.c
d41074
index 7f9d1c2dfa1..c9e40e8d4e9 100644
d41074
--- a/grub-core/video/efi_gop.c
d41074
+++ b/grub-core/video/efi_gop.c
d41074
@@ -121,6 +121,7 @@ grub_video_gop_get_bpp (struct grub_efi_gop_mode_info *in)
d41074
     {
d41074
     case GRUB_EFI_GOT_BGRA8:
d41074
     case GRUB_EFI_GOT_RGBA8:
d41074
+    case GRUB_EFI_GOT_BLT_ONLY:
d41074
       return 32;
d41074
 
d41074
     case GRUB_EFI_GOT_BITMASK:
d41074
@@ -187,6 +188,7 @@ grub_video_gop_fill_real_mode_info (unsigned mode,
d41074
   switch (in->pixel_format)
d41074
     {
d41074
     case GRUB_EFI_GOT_RGBA8:
d41074
+    case GRUB_EFI_GOT_BLT_ONLY:
d41074
       out->red_mask_size = 8;
d41074
       out->red_field_pos = 0;
d41074
       out->green_mask_size = 8;
d41074
diff --git a/include/grub/efi/graphics_output.h b/include/grub/efi/graphics_output.h
d41074
index 12977741192..e4388127c66 100644
d41074
--- a/include/grub/efi/graphics_output.h
d41074
+++ b/include/grub/efi/graphics_output.h
d41074
@@ -28,7 +28,8 @@ typedef enum
d41074
   {
d41074
     GRUB_EFI_GOT_RGBA8,
d41074
     GRUB_EFI_GOT_BGRA8,
d41074
-    GRUB_EFI_GOT_BITMASK
d41074
+    GRUB_EFI_GOT_BITMASK,
d41074
+    GRUB_EFI_GOT_BLT_ONLY,
d41074
   }
d41074
   grub_efi_gop_pixel_format_t;
d41074