#define TEXT_OUT_SPLITTER_PRIVATE_DATA_SIGNATURE EFI_SIGNATURE_32 ('T', 'o', 'S', 'p')\r
\r
typedef struct {\r
+ EFI_GRAPHICS_OUTPUT_PROTOCOL *GraphicsOutput;\r
EFI_UGA_DRAW_PROTOCOL *UgaDraw;\r
EFI_SIMPLE_TEXT_OUT_PROTOCOL *TextOut;\r
BOOLEAN TextOutEnabled;\r
-} TEXT_OUT_AND_UGA_DATA;\r
+} TEXT_OUT_AND_GOP_DATA;\r
+\r
+typedef struct {\r
+ UINT32 HorizontalResolution;\r
+ UINT32 VerticalResolution;\r
+} TEXT_OUT_GOP_MODE;\r
\r
typedef struct {\r
UINT64 Signature;\r
EFI_HANDLE VirtualHandle;\r
EFI_SIMPLE_TEXT_OUT_PROTOCOL TextOut;\r
EFI_SIMPLE_TEXT_OUTPUT_MODE TextOutMode;\r
+\r
+#if (EFI_SPECIFICATION_VERSION < 0x00020000)\r
EFI_UGA_DRAW_PROTOCOL UgaDraw;\r
UINT32 UgaHorizontalResolution;\r
UINT32 UgaVerticalResolution;\r
UINT32 UgaColorDepth;\r
UINT32 UgaRefreshRate;\r
EFI_UGA_PIXEL *UgaBlt;\r
+#else\r
+ EFI_GRAPHICS_OUTPUT_PROTOCOL GraphicsOutput;\r
+ EFI_GRAPHICS_OUTPUT_BLT_PIXEL *GraphicsOutputBlt;\r
+ TEXT_OUT_GOP_MODE *GraphicsOutputModeBuffer;\r
+ UINTN CurrentNumberOfGraphicsOutput;\r
+ BOOLEAN HardwareNeedsStarting;\r
+#endif\r
\r
EFI_CONSOLE_CONTROL_PROTOCOL ConsoleControl;\r
\r
UINTN CurrentNumberOfConsoles;\r
- TEXT_OUT_AND_UGA_DATA *TextOutList;\r
+ TEXT_OUT_AND_GOP_DATA *TextOutList;\r
UINTN TextOutListCount;\r
TEXT_OUT_SPLITTER_QUERY_DATA *TextOutQueryData;\r
UINTN TextOutQueryDataCount;\r
INT32 *TextOutModeMap;\r
\r
- EFI_CONSOLE_CONTROL_SCREEN_MODE UgaMode;\r
+ EFI_CONSOLE_CONTROL_SCREEN_MODE ConsoleOutputMode;\r
\r
UINTN DevNullColumns;\r
UINTN DevNullRows;\r
TEXT_OUT_SPLITTER_PRIVATE_DATA_SIGNATURE \\r
)\r
\r
+#define GRAPHICS_OUTPUT_SPLITTER_PRIVATE_DATA_FROM_THIS(a) \\r
+ CR (a, \\r
+ TEXT_OUT_SPLITTER_PRIVATE_DATA, \\r
+ GraphicsOutput, \\r
+ TEXT_OUT_SPLITTER_PRIVATE_DATA_SIGNATURE \\r
+ )\r
+\r
#define UGA_DRAW_SPLITTER_PRIVATE_DATA_FROM_THIS(a) \\r
CR (a, \\r
TEXT_OUT_SPLITTER_PRIVATE_DATA, \\r
)\r
;\r
\r
-\r
+STATIC\r
EFI_STATUS\r
ConSplitterTextInConstructor (\r
TEXT_IN_SPLITTER_PRIVATE_DATA *Private\r
)\r
;\r
\r
-\r
+STATIC\r
EFI_STATUS\r
ConSplitterTextOutConstructor (\r
TEXT_OUT_SPLITTER_PRIVATE_DATA *Private\r
//\r
// Driver Binding Functions\r
//\r
-\r
+STATIC\r
EFI_STATUS\r
EFIAPI\r
ConSplitterConInDriverBindingSupported (\r
)\r
;\r
\r
-\r
+STATIC\r
EFI_STATUS\r
EFIAPI\r
ConSplitterSimplePointerDriverBindingSupported (\r
)\r
;\r
\r
-\r
+STATIC\r
EFI_STATUS\r
EFIAPI\r
ConSplitterConOutDriverBindingSupported (\r
)\r
;\r
\r
-\r
+STATIC\r
EFI_STATUS\r
EFIAPI\r
ConSplitterStdErrDriverBindingSupported (\r
)\r
;\r
\r
-\r
+STATIC\r
EFI_STATUS\r
EFIAPI\r
ConSplitterConInDriverBindingStart (\r
)\r
;\r
\r
-\r
+STATIC\r
EFI_STATUS\r
EFIAPI\r
ConSplitterSimplePointerDriverBindingStart (\r
)\r
;\r
\r
-\r
+STATIC\r
EFI_STATUS\r
EFIAPI\r
ConSplitterConOutDriverBindingStart (\r
)\r
;\r
\r
-\r
+STATIC\r
EFI_STATUS\r
EFIAPI\r
ConSplitterStdErrDriverBindingStart (\r
)\r
;\r
\r
-\r
+STATIC\r
EFI_STATUS\r
EFIAPI\r
ConSplitterConInDriverBindingStop (\r
)\r
;\r
\r
-\r
+STATIC\r
EFI_STATUS\r
EFIAPI\r
ConSplitterSimplePointerDriverBindingStop (\r
)\r
;\r
\r
-\r
+STATIC\r
EFI_STATUS\r
EFIAPI\r
ConSplitterConOutDriverBindingStop (\r
)\r
;\r
\r
-\r
+STATIC\r
EFI_STATUS\r
EFIAPI\r
ConSplitterStdErrDriverBindingStop (\r
ConSplitterTextOutAddDevice (\r
IN TEXT_OUT_SPLITTER_PRIVATE_DATA *Private,\r
IN EFI_SIMPLE_TEXT_OUT_PROTOCOL *TextOut,\r
+ IN EFI_GRAPHICS_OUTPUT_PROTOCOL *GraphicsOutput,\r
IN EFI_UGA_DRAW_PROTOCOL *UgaDraw\r
)\r
;\r
ConSpliterConsoleControlGetMode (\r
IN EFI_CONSOLE_CONTROL_PROTOCOL *This,\r
OUT EFI_CONSOLE_CONTROL_SCREEN_MODE *Mode,\r
- OUT BOOLEAN *UgaExists,\r
+ OUT BOOLEAN *GopExists,\r
OUT BOOLEAN *StdInLocked\r
)\r
;\r
)\r
;\r
\r
+EFI_STATUS\r
+EFIAPI\r
+ConSpliterGraphicsOutputQueryMode (\r
+ IN EFI_GRAPHICS_OUTPUT_PROTOCOL *This,\r
+ IN UINT32 ModeNumber,\r
+ OUT UINTN *SizeOfInfo,\r
+ OUT EFI_GRAPHICS_OUTPUT_MODE_INFORMATION **Info\r
+ )\r
+;\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+ConSpliterGraphicsOutputSetMode (\r
+ IN EFI_GRAPHICS_OUTPUT_PROTOCOL * This,\r
+ IN UINT32 ModeNumber\r
+ )\r
+;\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+ConSpliterGraphicsOutputBlt (\r
+ IN EFI_GRAPHICS_OUTPUT_PROTOCOL *This,\r
+ IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BltBuffer, OPTIONAL\r
+ IN EFI_GRAPHICS_OUTPUT_BLT_OPERATION BltOperation,\r
+ IN UINTN SourceX,\r
+ IN UINTN SourceY,\r
+ IN UINTN DestinationX,\r
+ IN UINTN DestinationY,\r
+ IN UINTN Width,\r
+ IN UINTN Height,\r
+ IN UINTN Delta OPTIONAL\r
+ )\r
+;\r
+\r
+EFI_STATUS\r
+DevNullGopSync (\r
+ IN TEXT_OUT_SPLITTER_PRIVATE_DATA *Private,\r
+ IN EFI_GRAPHICS_OUTPUT_PROTOCOL *GraphicsOutput,\r
+ IN EFI_UGA_DRAW_PROTOCOL *UgaDraw\r
+ )\r
+;\r
+\r
+#if (EFI_SPECIFICATION < 0x00020000)\r
EFI_STATUS\r
EFIAPI\r
ConSpliterUgaDrawGetMode (\r
IN EFI_UGA_DRAW_PROTOCOL *UgaDraw\r
)\r
;\r
+#endif\r
\r
EFI_STATUS\r
DevNullTextOutOutputString (\r
;\r
\r
EFI_STATUS\r
-DevNullSyncUgaStdOut (\r
+DevNullSyncGopStdOut (\r
IN TEXT_OUT_SPLITTER_PRIVATE_DATA *Private\r
)\r
;\r