Merge GOP related code from r8->r9.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2085 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@@ -84,33 +84,48 @@ typedef struct {
|
||||
#define TEXT_OUT_SPLITTER_PRIVATE_DATA_SIGNATURE EFI_SIGNATURE_32 ('T', 'o', 'S', 'p')
|
||||
|
||||
typedef struct {
|
||||
EFI_GRAPHICS_OUTPUT_PROTOCOL *GraphicsOutput;
|
||||
EFI_UGA_DRAW_PROTOCOL *UgaDraw;
|
||||
EFI_SIMPLE_TEXT_OUT_PROTOCOL *TextOut;
|
||||
BOOLEAN TextOutEnabled;
|
||||
} TEXT_OUT_AND_UGA_DATA;
|
||||
} TEXT_OUT_AND_GOP_DATA;
|
||||
|
||||
typedef struct {
|
||||
UINT32 HorizontalResolution;
|
||||
UINT32 VerticalResolution;
|
||||
} TEXT_OUT_GOP_MODE;
|
||||
|
||||
typedef struct {
|
||||
UINT64 Signature;
|
||||
EFI_HANDLE VirtualHandle;
|
||||
EFI_SIMPLE_TEXT_OUT_PROTOCOL TextOut;
|
||||
EFI_SIMPLE_TEXT_OUTPUT_MODE TextOutMode;
|
||||
|
||||
#if (EFI_SPECIFICATION_VERSION < 0x00020000)
|
||||
EFI_UGA_DRAW_PROTOCOL UgaDraw;
|
||||
UINT32 UgaHorizontalResolution;
|
||||
UINT32 UgaVerticalResolution;
|
||||
UINT32 UgaColorDepth;
|
||||
UINT32 UgaRefreshRate;
|
||||
EFI_UGA_PIXEL *UgaBlt;
|
||||
#else
|
||||
EFI_GRAPHICS_OUTPUT_PROTOCOL GraphicsOutput;
|
||||
EFI_GRAPHICS_OUTPUT_BLT_PIXEL *GraphicsOutputBlt;
|
||||
TEXT_OUT_GOP_MODE *GraphicsOutputModeBuffer;
|
||||
UINTN CurrentNumberOfGraphicsOutput;
|
||||
BOOLEAN HardwareNeedsStarting;
|
||||
#endif
|
||||
|
||||
EFI_CONSOLE_CONTROL_PROTOCOL ConsoleControl;
|
||||
|
||||
UINTN CurrentNumberOfConsoles;
|
||||
TEXT_OUT_AND_UGA_DATA *TextOutList;
|
||||
TEXT_OUT_AND_GOP_DATA *TextOutList;
|
||||
UINTN TextOutListCount;
|
||||
TEXT_OUT_SPLITTER_QUERY_DATA *TextOutQueryData;
|
||||
UINTN TextOutQueryDataCount;
|
||||
INT32 *TextOutModeMap;
|
||||
|
||||
EFI_CONSOLE_CONTROL_SCREEN_MODE UgaMode;
|
||||
EFI_CONSOLE_CONTROL_SCREEN_MODE ConsoleOutputMode;
|
||||
|
||||
UINTN DevNullColumns;
|
||||
UINTN DevNullRows;
|
||||
@@ -126,6 +141,13 @@ typedef struct {
|
||||
TEXT_OUT_SPLITTER_PRIVATE_DATA_SIGNATURE \
|
||||
)
|
||||
|
||||
#define GRAPHICS_OUTPUT_SPLITTER_PRIVATE_DATA_FROM_THIS(a) \
|
||||
CR (a, \
|
||||
TEXT_OUT_SPLITTER_PRIVATE_DATA, \
|
||||
GraphicsOutput, \
|
||||
TEXT_OUT_SPLITTER_PRIVATE_DATA_SIGNATURE \
|
||||
)
|
||||
|
||||
#define UGA_DRAW_SPLITTER_PRIVATE_DATA_FROM_THIS(a) \
|
||||
CR (a, \
|
||||
TEXT_OUT_SPLITTER_PRIVATE_DATA, \
|
||||
@@ -151,14 +173,14 @@ ConSplitterDriverEntry (
|
||||
)
|
||||
;
|
||||
|
||||
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
ConSplitterTextInConstructor (
|
||||
TEXT_IN_SPLITTER_PRIVATE_DATA *Private
|
||||
)
|
||||
;
|
||||
|
||||
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
ConSplitterTextOutConstructor (
|
||||
TEXT_OUT_SPLITTER_PRIVATE_DATA *Private
|
||||
@@ -168,7 +190,7 @@ ConSplitterTextOutConstructor (
|
||||
//
|
||||
// Driver Binding Functions
|
||||
//
|
||||
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
ConSplitterConInDriverBindingSupported (
|
||||
@@ -178,7 +200,7 @@ ConSplitterConInDriverBindingSupported (
|
||||
)
|
||||
;
|
||||
|
||||
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
ConSplitterSimplePointerDriverBindingSupported (
|
||||
@@ -188,7 +210,7 @@ ConSplitterSimplePointerDriverBindingSupported (
|
||||
)
|
||||
;
|
||||
|
||||
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
ConSplitterConOutDriverBindingSupported (
|
||||
@@ -198,7 +220,7 @@ ConSplitterConOutDriverBindingSupported (
|
||||
)
|
||||
;
|
||||
|
||||
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
ConSplitterStdErrDriverBindingSupported (
|
||||
@@ -208,7 +230,7 @@ ConSplitterStdErrDriverBindingSupported (
|
||||
)
|
||||
;
|
||||
|
||||
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
ConSplitterConInDriverBindingStart (
|
||||
@@ -218,7 +240,7 @@ ConSplitterConInDriverBindingStart (
|
||||
)
|
||||
;
|
||||
|
||||
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
ConSplitterSimplePointerDriverBindingStart (
|
||||
@@ -228,7 +250,7 @@ ConSplitterSimplePointerDriverBindingStart (
|
||||
)
|
||||
;
|
||||
|
||||
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
ConSplitterConOutDriverBindingStart (
|
||||
@@ -238,7 +260,7 @@ ConSplitterConOutDriverBindingStart (
|
||||
)
|
||||
;
|
||||
|
||||
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
ConSplitterStdErrDriverBindingStart (
|
||||
@@ -248,7 +270,7 @@ ConSplitterStdErrDriverBindingStart (
|
||||
)
|
||||
;
|
||||
|
||||
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
ConSplitterConInDriverBindingStop (
|
||||
@@ -259,7 +281,7 @@ ConSplitterConInDriverBindingStop (
|
||||
)
|
||||
;
|
||||
|
||||
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
ConSplitterSimplePointerDriverBindingStop (
|
||||
@@ -270,7 +292,7 @@ ConSplitterSimplePointerDriverBindingStop (
|
||||
)
|
||||
;
|
||||
|
||||
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
ConSplitterConOutDriverBindingStop (
|
||||
@@ -281,7 +303,7 @@ ConSplitterConOutDriverBindingStop (
|
||||
)
|
||||
;
|
||||
|
||||
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
ConSplitterStdErrDriverBindingStop (
|
||||
@@ -333,6 +355,7 @@ EFI_STATUS
|
||||
ConSplitterTextOutAddDevice (
|
||||
IN TEXT_OUT_SPLITTER_PRIVATE_DATA *Private,
|
||||
IN EFI_SIMPLE_TEXT_OUT_PROTOCOL *TextOut,
|
||||
IN EFI_GRAPHICS_OUTPUT_PROTOCOL *GraphicsOutput,
|
||||
IN EFI_UGA_DRAW_PROTOCOL *UgaDraw
|
||||
)
|
||||
;
|
||||
@@ -521,7 +544,7 @@ EFIAPI
|
||||
ConSpliterConsoleControlGetMode (
|
||||
IN EFI_CONSOLE_CONTROL_PROTOCOL *This,
|
||||
OUT EFI_CONSOLE_CONTROL_SCREEN_MODE *Mode,
|
||||
OUT BOOLEAN *UgaExists,
|
||||
OUT BOOLEAN *GopExists,
|
||||
OUT BOOLEAN *StdInLocked
|
||||
)
|
||||
;
|
||||
@@ -534,6 +557,49 @@ ConSpliterConsoleControlSetMode (
|
||||
)
|
||||
;
|
||||
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
ConSpliterGraphicsOutputQueryMode (
|
||||
IN EFI_GRAPHICS_OUTPUT_PROTOCOL *This,
|
||||
IN UINT32 ModeNumber,
|
||||
OUT UINTN *SizeOfInfo,
|
||||
OUT EFI_GRAPHICS_OUTPUT_MODE_INFORMATION **Info
|
||||
)
|
||||
;
|
||||
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
ConSpliterGraphicsOutputSetMode (
|
||||
IN EFI_GRAPHICS_OUTPUT_PROTOCOL * This,
|
||||
IN UINT32 ModeNumber
|
||||
)
|
||||
;
|
||||
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
ConSpliterGraphicsOutputBlt (
|
||||
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
|
||||
)
|
||||
;
|
||||
|
||||
EFI_STATUS
|
||||
DevNullGopSync (
|
||||
IN TEXT_OUT_SPLITTER_PRIVATE_DATA *Private,
|
||||
IN EFI_GRAPHICS_OUTPUT_PROTOCOL *GraphicsOutput,
|
||||
IN EFI_UGA_DRAW_PROTOCOL *UgaDraw
|
||||
)
|
||||
;
|
||||
|
||||
#if (EFI_SPECIFICATION < 0x00020000)
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
ConSpliterUgaDrawGetMode (
|
||||
@@ -578,6 +644,7 @@ DevNullUgaSync (
|
||||
IN EFI_UGA_DRAW_PROTOCOL *UgaDraw
|
||||
)
|
||||
;
|
||||
#endif
|
||||
|
||||
EFI_STATUS
|
||||
DevNullTextOutOutputString (
|
||||
@@ -615,7 +682,7 @@ DevNullTextOutEnableCursor (
|
||||
;
|
||||
|
||||
EFI_STATUS
|
||||
DevNullSyncUgaStdOut (
|
||||
DevNullSyncGopStdOut (
|
||||
IN TEXT_OUT_SPLITTER_PRIVATE_DATA *Private
|
||||
)
|
||||
;
|
||||
|
Reference in New Issue
Block a user