+STATIC\r
+VOID\r
+QemuVideoBochsAddMode (\r
+ QEMU_VIDEO_PRIVATE_DATA *Private,\r
+ UINT32 AvailableFbSize,\r
+ UINT32 Width,\r
+ UINT32 Height\r
+ )\r
+{\r
+ QEMU_VIDEO_MODE_DATA *ModeData = Private->ModeData + Private->MaxMode;\r
+ UINTN RequiredFbSize;\r
+\r
+ RequiredFbSize = (UINTN)Width * Height * 4;\r
+ if (RequiredFbSize > AvailableFbSize) {\r
+ DEBUG ((\r
+ DEBUG_INFO,\r
+ "Skipping Bochs Mode %dx%d, 32-bit (not enough vram)\n",\r
+ Width,\r
+ Height\r
+ ));\r
+ return;\r
+ }\r
+\r
+ ModeData->InternalModeIndex = (UINT32)Private->MaxMode;\r
+ ModeData->HorizontalResolution = Width;\r
+ ModeData->VerticalResolution = Height;\r
+ ModeData->ColorDepth = 32;\r
+ DEBUG ((\r
+ DEBUG_INFO,\r
+ "Adding Bochs Internal Mode %d: %dx%d, %d-bit\n",\r
+ ModeData->InternalModeIndex,\r
+ ModeData->HorizontalResolution,\r
+ ModeData->VerticalResolution,\r
+ ModeData->ColorDepth\r
+ ));\r
+\r
+ Private->MaxMode++;\r
+}\r
+\r