iPXE
GraphicsOutput.h File Reference

Graphics Output Protocol from the UEFI 2.0 specification. More...

Go to the source code of this file.

Data Structures

struct  EFI_PIXEL_BITMASK
struct  EFI_GRAPHICS_OUTPUT_MODE_INFORMATION
struct  EFI_GRAPHICS_OUTPUT_BLT_PIXEL
union  EFI_GRAPHICS_OUTPUT_BLT_PIXEL_UNION
struct  EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE
struct  _EFI_GRAPHICS_OUTPUT_PROTOCOL
 Provides a basic abstraction to set video modes and copy pixels to and from the graphics controller's frame buffer. More...

Macros

#define EFI_GRAPHICS_OUTPUT_PROTOCOL_GUID

Typedefs

typedef struct _EFI_GRAPHICS_OUTPUT_PROTOCOL EFI_GRAPHICS_OUTPUT_PROTOCOL
typedef EFI_STATUS(EFIAPIEFI_GRAPHICS_OUTPUT_PROTOCOL_QUERY_MODE) (IN EFI_GRAPHICS_OUTPUT_PROTOCOL *This, IN UINT32 ModeNumber, OUT UINTN *SizeOfInfo, OUT EFI_GRAPHICS_OUTPUT_MODE_INFORMATION **Info)
 Returns information for an available graphics mode that the graphics device and the set of active video output devices supports.
typedef EFI_STATUS(EFIAPIEFI_GRAPHICS_OUTPUT_PROTOCOL_SET_MODE) (IN EFI_GRAPHICS_OUTPUT_PROTOCOL *This, IN UINT32 ModeNumber)
 Set the video device into the specified mode and clears the visible portions of the output display to black.
typedef EFI_STATUS(EFIAPIEFI_GRAPHICS_OUTPUT_PROTOCOL_BLT) (IN EFI_GRAPHICS_OUTPUT_PROTOCOL *This, IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BltBuffer OPTIONAL, IN EFI_GRAPHICS_OUTPUT_BLT_OPERATION BltOperation, IN UINTN SourceX, IN UINTN SourceY, IN UINTN DestinationX, IN UINTN DestinationY, IN UINTN Width, IN UINTN Height, IN UINTN Delta OPTIONAL)
 Blt a rectangle of pixels on the graphics screen.

Enumerations

enum  EFI_GRAPHICS_PIXEL_FORMAT {
  PixelRedGreenBlueReserved8BitPerColor , PixelBlueGreenRedReserved8BitPerColor , PixelBitMask , PixelBltOnly ,
  PixelFormatMax
}
enum  EFI_GRAPHICS_OUTPUT_BLT_OPERATION {
  EfiBltVideoFill , EfiBltVideoToBltBuffer , EfiBltBufferToVideo , EfiBltVideoToVideo ,
  EfiGraphicsOutputBltOperationMax
}
 actions for BltOperations More...

Functions

 FILE_LICENCE (BSD2_PATENT)
 FILE_SECBOOT (PERMITTED)

Variables

EFI_GUID gEfiGraphicsOutputProtocolGuid

Detailed Description

Graphics Output Protocol from the UEFI 2.0 specification.

Abstraction of a very simple graphics device.

Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file GraphicsOutput.h.

Macro Definition Documentation

◆ EFI_GRAPHICS_OUTPUT_PROTOCOL_GUID

#define EFI_GRAPHICS_OUTPUT_PROTOCOL_GUID
Value:
{ \
0x9042a9de, 0x23dc, 0x4a38, {0x96, 0xfb, 0x7a, 0xde, 0xd0, 0x80, 0x51, 0x6a } \
}

Definition at line 17 of file GraphicsOutput.h.

17#define EFI_GRAPHICS_OUTPUT_PROTOCOL_GUID \
18 { \
19 0x9042a9de, 0x23dc, 0x4a38, {0x96, 0xfb, 0x7a, 0xde, 0xd0, 0x80, 0x51, 0x6a } \
20 }

Typedef Documentation

◆ EFI_GRAPHICS_OUTPUT_PROTOCOL

◆ EFI_GRAPHICS_OUTPUT_PROTOCOL_QUERY_MODE

typedef EFI_STATUS(EFIAPI * EFI_GRAPHICS_OUTPUT_PROTOCOL_QUERY_MODE) (IN EFI_GRAPHICS_OUTPUT_PROTOCOL *This, IN UINT32 ModeNumber, OUT UINTN *SizeOfInfo, OUT EFI_GRAPHICS_OUTPUT_MODE_INFORMATION **Info)

Returns information for an available graphics mode that the graphics device and the set of active video output devices supports.

Parameters
ThisThe EFI_GRAPHICS_OUTPUT_PROTOCOL instance.
ModeNumberThe mode number to return information on.
SizeOfInfoA pointer to the size, in bytes, of the Info buffer.
InfoA pointer to callee allocated buffer that returns information about ModeNumber.
Return values
EFI_SUCCESSValid mode information was returned.
EFI_DEVICE_ERRORA hardware error occurred trying to retrieve the video mode.
EFI_INVALID_PARAMETERModeNumber is not valid.

Definition at line 107 of file GraphicsOutput.h.

◆ EFI_GRAPHICS_OUTPUT_PROTOCOL_SET_MODE

typedef EFI_STATUS(EFIAPI * EFI_GRAPHICS_OUTPUT_PROTOCOL_SET_MODE) (IN EFI_GRAPHICS_OUTPUT_PROTOCOL *This, IN UINT32 ModeNumber)

Set the video device into the specified mode and clears the visible portions of the output display to black.

Parameters
ThisThe EFI_GRAPHICS_OUTPUT_PROTOCOL instance.
ModeNumberAbstraction that defines the current video mode.
Return values
EFI_SUCCESSThe graphics mode specified by ModeNumber was selected.
EFI_DEVICE_ERRORThe device had an error and could not complete the request.
EFI_UNSUPPORTEDModeNumber is not supported by this device.

Definition at line 128 of file GraphicsOutput.h.

◆ EFI_GRAPHICS_OUTPUT_PROTOCOL_BLT

typedef EFI_STATUS(EFIAPI * EFI_GRAPHICS_OUTPUT_PROTOCOL_BLT) (IN EFI_GRAPHICS_OUTPUT_PROTOCOL *This, IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BltBuffer OPTIONAL, IN EFI_GRAPHICS_OUTPUT_BLT_OPERATION BltOperation, IN UINTN SourceX, IN UINTN SourceY, IN UINTN DestinationX, IN UINTN DestinationY, IN UINTN Width, IN UINTN Height, IN UINTN Delta OPTIONAL)

Blt a rectangle of pixels on the graphics screen.

Blt stands for BLock Transfer.

Parameters
ThisProtocol instance pointer.
BltBufferThe data to transfer to the graphics screen. Size is at least Width*Height*sizeof(EFI_GRAPHICS_OUTPUT_BLT_PIXEL).
BltOperationThe operation to perform when copying BltBuffer on to the graphics screen.
SourceXThe X coordinate of source for the BltOperation.
SourceYThe Y coordinate of source for the BltOperation.
DestinationXThe X coordinate of destination for the BltOperation.
DestinationYThe Y coordinate of destination for the BltOperation.
WidthThe width of a rectangle in the blt rectangle in pixels.
HeightThe height of a rectangle in the blt rectangle in pixels.
DeltaNot used for EfiBltVideoFill or the EfiBltVideoToVideo operation. If a Delta of zero is used, the entire BltBuffer is being operated on. If a subrectangle of the BltBuffer is being used then Delta represents the number of bytes in a row of the BltBuffer.
Return values
EFI_SUCCESSBltBuffer was drawn to the graphics screen.
EFI_INVALID_PARAMETERBltOperation is not valid.
EFI_DEVICE_ERRORThe device had an error and could not complete the request.

Definition at line 213 of file GraphicsOutput.h.

Enumeration Type Documentation

◆ EFI_GRAPHICS_PIXEL_FORMAT

Enumerator
PixelRedGreenBlueReserved8BitPerColor 

A pixel is 32-bits and byte zero represents red, byte one represents green, byte two represents blue, and byte three is reserved.

This is the definition for the physical frame buffer. The byte values for the red, green, and blue components represent the color intensity. This color intensity value range from a minimum intensity of 0 to maximum intensity of 255.

PixelBlueGreenRedReserved8BitPerColor 

A pixel is 32-bits and byte zero represents blue, byte one represents green, byte two represents red, and byte three is reserved.

This is the definition for the physical frame buffer. The byte values for the red, green, and blue components represent the color intensity. This color intensity value range from a minimum intensity of 0 to maximum intensity of 255.

PixelBitMask 

The Pixel definition of the physical frame buffer.

PixelBltOnly 

This mode does not support a physical frame buffer.

PixelFormatMax 

Valid EFI_GRAPHICS_PIXEL_FORMAT enum values are less than this value.

Definition at line 31 of file GraphicsOutput.h.

31 {
32 ///
33 /// A pixel is 32-bits and byte zero represents red, byte one represents green,
34 /// byte two represents blue, and byte three is reserved. This is the definition
35 /// for the physical frame buffer. The byte values for the red, green, and blue
36 /// components represent the color intensity. This color intensity value range
37 /// from a minimum intensity of 0 to maximum intensity of 255.
38 ///
40 ///
41 /// A pixel is 32-bits and byte zero represents blue, byte one represents green,
42 /// byte two represents red, and byte three is reserved. This is the definition
43 /// for the physical frame buffer. The byte values for the red, green, and blue
44 /// components represent the color intensity. This color intensity value range
45 /// from a minimum intensity of 0 to maximum intensity of 255.
46 ///
48 ///
49 /// The Pixel definition of the physical frame buffer.
50 ///
52 ///
53 /// This mode does not support a physical frame buffer.
54 ///
56 ///
57 /// Valid EFI_GRAPHICS_PIXEL_FORMAT enum values are less than this value.
58 ///
EFI_GRAPHICS_PIXEL_FORMAT
@ PixelBitMask
The Pixel definition of the physical frame buffer.
@ PixelRedGreenBlueReserved8BitPerColor
A pixel is 32-bits and byte zero represents red, byte one represents green, byte two represents blue,...
@ PixelBlueGreenRedReserved8BitPerColor
A pixel is 32-bits and byte zero represents blue, byte one represents green, byte two represents red,...
@ PixelBltOnly
This mode does not support a physical frame buffer.
@ PixelFormatMax
Valid EFI_GRAPHICS_PIXEL_FORMAT enum values are less than this value.

◆ EFI_GRAPHICS_OUTPUT_BLT_OPERATION

actions for BltOperations

Enumerator
EfiBltVideoFill 

Write data from the BltBuffer pixel (0, 0) directly to every pixel of the video display rectangle (DestinationX, DestinationY) (DestinationX + Width, DestinationY + Height).

Only one pixel will be used from the BltBuffer. Delta is NOT used.

EfiBltVideoToBltBuffer 

Read data from the video display rectangle (SourceX, SourceY) (SourceX + Width, SourceY + Height) and place it in the BltBuffer rectangle (DestinationX, DestinationY ) (DestinationX + Width, DestinationY + Height).

If DestinationX or DestinationY is not zero then Delta must be set to the length in bytes of a row in the BltBuffer.

EfiBltBufferToVideo 

Write data from the BltBuffer rectangle (SourceX, SourceY) (SourceX + Width, SourceY + Height) directly to the video display rectangle (DestinationX, DestinationY) (DestinationX + Width, DestinationY + Height).

If SourceX or SourceY is not zero then Delta must be set to the length in bytes of a row in the BltBuffer.

EfiBltVideoToVideo 

Copy from the video display rectangle (SourceX, SourceY) (SourceX + Width, SourceY + Height) to the video display rectangle (DestinationX, DestinationY) (DestinationX + Width, DestinationY + Height).

The BltBuffer and Delta are not used in this mode.

EfiGraphicsOutputBltOperationMax 

Definition at line 149 of file GraphicsOutput.h.

149 {
150 ///
151 /// Write data from the BltBuffer pixel (0, 0)
152 /// directly to every pixel of the video display rectangle
153 /// (DestinationX, DestinationY) (DestinationX + Width, DestinationY + Height).
154 /// Only one pixel will be used from the BltBuffer. Delta is NOT used.
155 ///
157
158 ///
159 /// Read data from the video display rectangle
160 /// (SourceX, SourceY) (SourceX + Width, SourceY + Height) and place it in
161 /// the BltBuffer rectangle (DestinationX, DestinationY )
162 /// (DestinationX + Width, DestinationY + Height). If DestinationX or
163 /// DestinationY is not zero then Delta must be set to the length in bytes
164 /// of a row in the BltBuffer.
165 ///
167
168 ///
169 /// Write data from the BltBuffer rectangle
170 /// (SourceX, SourceY) (SourceX + Width, SourceY + Height) directly to the
171 /// video display rectangle (DestinationX, DestinationY)
172 /// (DestinationX + Width, DestinationY + Height). If SourceX or SourceY is
173 /// not zero then Delta must be set to the length in bytes of a row in the
174 /// BltBuffer.
175 ///
177
178 ///
179 /// Copy from the video display rectangle (SourceX, SourceY)
180 /// (SourceX + Width, SourceY + Height) to the video display rectangle
181 /// (DestinationX, DestinationY) (DestinationX + Width, DestinationY + Height).
182 /// The BltBuffer and Delta are not used in this mode.
183 ///
185
EFI_GRAPHICS_OUTPUT_BLT_OPERATION
actions for BltOperations
@ EfiBltVideoToBltBuffer
Read data from the video display rectangle (SourceX, SourceY) (SourceX + Width, SourceY + Height) and...
@ EfiBltBufferToVideo
Write data from the BltBuffer rectangle (SourceX, SourceY) (SourceX + Width, SourceY + Height) direct...
@ EfiGraphicsOutputBltOperationMax
@ EfiBltVideoFill
Write data from the BltBuffer pixel (0, 0) directly to every pixel of the video display rectangle (De...
@ EfiBltVideoToVideo
Copy from the video display rectangle (SourceX, SourceY) (SourceX + Width, SourceY + Height) to the v...

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( BSD2_PATENT )

◆ FILE_SECBOOT()

FILE_SECBOOT ( PERMITTED )

Variable Documentation

◆ gEfiGraphicsOutputProtocolGuid

EFI_GUID gEfiGraphicsOutputProtocolGuid
extern