switch (Private->Variant) {\r
case QEMU_VIDEO_CIRRUS_5430:\r
case QEMU_VIDEO_CIRRUS_5446:\r
- InitializeCirrusGraphicsMode (Private, &QemuVideoCirrusModes[ModeData->ModeNumber]);\r
+ InitializeCirrusGraphicsMode (Private, &QemuVideoCirrusModes[ModeData->InternalModeIndex]);\r
break;\r
case QEMU_VIDEO_BOCHS_MMIO:\r
case QEMU_VIDEO_BOCHS:\r
- InitializeBochsGraphicsMode (Private, &QemuVideoBochsModes[ModeData->ModeNumber]);\r
+ InitializeBochsGraphicsMode (Private, &QemuVideoBochsModes[ModeData->InternalModeIndex]);\r
break;\r
default:\r
ASSERT (FALSE);\r
ModeData = Private->ModeData;\r
VideoMode = &QemuVideoCirrusModes[0];\r
for (Index = 0; Index < QEMU_VIDEO_CIRRUS_MODE_COUNT; Index ++) {\r
- ModeData->ModeNumber = Index;\r
+ ModeData->InternalModeIndex = Index;\r
ModeData->HorizontalResolution = VideoMode->Width;\r
ModeData->VerticalResolution = VideoMode->Height;\r
ModeData->ColorDepth = VideoMode->ColorDepth;\r
ModeData->RefreshRate = VideoMode->RefreshRate;\r
DEBUG ((EFI_D_INFO,\r
- "Adding Cirrus Video Mode %d: %dx%d, %d-bit, %d Hz\n",\r
- ModeData->ModeNumber,\r
+ "Adding Mode %d as Cirrus Internal Mode %d: %dx%d, %d-bit, %d Hz\n",\r
+ (INT32) (ModeData - Private->ModeData),\r
+ ModeData->InternalModeIndex,\r
ModeData->HorizontalResolution,\r
ModeData->VerticalResolution,\r
ModeData->ColorDepth,\r
ModeData = Private->ModeData;\r
VideoMode = &QemuVideoBochsModes[0];\r
for (Index = 0; Index < QEMU_VIDEO_BOCHS_MODE_COUNT; Index ++) {\r
- ModeData->ModeNumber = Index;\r
+ ModeData->InternalModeIndex = Index;\r
ModeData->HorizontalResolution = VideoMode->Width;\r
ModeData->VerticalResolution = VideoMode->Height;\r
ModeData->ColorDepth = VideoMode->ColorDepth;\r
ModeData->RefreshRate = 60;\r
DEBUG ((EFI_D_INFO,\r
- "Adding Bochs Video Mode %d: %dx%d, %d-bit, %d Hz\n",\r
- ModeData->ModeNumber,\r
+ "Adding Mode %d as Bochs Internal Mode %d: %dx%d, %d-bit, %d Hz\n",\r
+ (INT32) (ModeData - Private->ModeData),\r
+ ModeData->InternalModeIndex,\r
ModeData->HorizontalResolution,\r
ModeData->VerticalResolution,\r
ModeData->ColorDepth,\r
// QEMU Vide Graphical Mode Data\r
//\r
typedef struct {\r
- UINT32 ModeNumber;\r
+ UINT32 InternalModeIndex; // points into card-specific mode table\r
UINT32 HorizontalResolution;\r
UINT32 VerticalResolution;\r
UINT32 ColorDepth;\r
UINT64 OriginalPciAttributes;\r
EFI_GRAPHICS_OUTPUT_PROTOCOL GraphicsOutput;\r
EFI_DEVICE_PATH_PROTOCOL *GopDevicePath;\r
+\r
+ //\r
+ // The next three fields match the client-visible\r
+ // EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE.Mode and\r
+ // EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE.MaxMode fields.\r
+ //\r
UINTN CurrentMode;\r
UINTN MaxMode;\r
QEMU_VIDEO_MODE_DATA *ModeData;\r
+\r
UINT8 *LineBuffer;\r
QEMU_VIDEO_VARIANT Variant;\r
} QEMU_VIDEO_PRIVATE_DATA;\r
\r
///\r
-/// Video Mode structure\r
+/// Card-specific Video Mode structures\r
///\r
typedef struct {\r
UINT32 Width;\r