Protocols — Console Support
Version 1.10 12/01/02 10-27
10.5 UGA Draw Protocol
The interface structure for the UGA Draw Protocol is defined in this section. A unique UGA Draw
Protocol must represent each video frame buffer in the system.
EFI_UGA_DRAW_PROTOCOL
Summary
Provides a basic abstraction to set video modes and copy pixels to and from the graphics
controller’s frame buffer.
GUID
#define EFI_UGA_DRAW_PROTOCOL_GUID \
{ 0x982c298b,0xf4fa,0x41cb,0xb8,0x38,0x77,0xaa,0x68,0x8f,0xb8,0x39 }
Protocol Interface Structure
typedef struct EFI_UGA_DRAW_PROTCOL {
EFI_UGA_DRAW_PROTOCOL_GET_MODE GetMode;
EFI_UGA_DRAW_PROTOCOL_SET_MODE SetMode;
EFI_UGA_DRAW_PROTOCOL_BLT Blt;
} EFI_UGA_DRAW_PROTOCOL;
Parameters
GetMode Returns information about the geometry and configuration of the
graphics controller’s current frame buffer configuration.
SetMode Set the graphics device into a given mode and clears the frame
buffer to black.
Blt Software abstraction to draw on the video device’s frame buffer.
Description
The EFI_UGA_DRAW_PROTOCOL provides a software abstraction to allow pixels to be drawn
directly to the frame buffer. The EFI_UGA_DRAW_PROTOCOL is designed to be lightweight and
to support the basic needs of graphics output prior to Operating System boot.
A video device can support an arbitrary number of geometries, but it must support the following
mode to conform to this specification:
• 800 x 600 with 32-bit color with a 60 Hz refresh rate.