GOP (Graphic Output Protocol) driver 是 EFI架構下取代傳統VBIOS 黑箱的 EFI Driver, 另外for embedded system bootloader 上的graphic driver叫EPOG(embedded Pre-OS Graphic).
Protocol 主要包含3個function 及 1個data structure
GOP Driver 的共有GUID
#define EFI_GRAPHICS_OUTPUT_PROTOCOL_GUID \ {0x9042a9de,0x23dc,0x4a38, \ 0x96,0xfb,0x7a,0xde,0xd0,0x80,0x51,0x6a}
typedef struct EFI_GRAPHICS_OUTPUT_PROTCOL { EFI_GRAPHICS_OUTPUT_PROTOCOL_QUERY_MODE QueryMode; EFI_GRAPHICS_OUTPUT_PROTOCOL_SET_MODE SetMode; EFI_GRAPHICS_OUTPUT_PROTOCOL_BLT Blt; EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE *Mode; } EFI_GRAPHICS_OUTPUT_PROTOCOL;
- QueryMode: Returns information for an available graphics mode that the graphics device and the set of active video output devices supports.(是詢問graphic controller 和 系統所有接上的顯示器所支援的顯示模式)
- SetMode:Set the video device into the specified mode and clears the visible portions of the output display to black. 則是設定顯示裝置一個特定的顯示模式
- Blt:Software abstraction to draw on the video device's frame buffer.則是直接透過寫入framebuffer 畫矩形圖片
取材UEFI spec 2.3 chap. 11.9
留言