VirtualBox

Changeset 8433 in vbox


Ignore:
Timestamp:
Apr 28, 2008 4:51:08 PM (17 years ago)
Author:
vboxsync
Message:

Save current video mode parameters to be able to know them when a new mode is being set (Windows guest).

Location:
trunk/src/VBox/Additions/WINNT/Graphics/Miniport
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/WINNT/Graphics/Miniport/VBoxVideo.cpp

    r8427 r8433  
    569569        {
    570570            if (!xres)
    571                 xres = VideoModes[DeviceExtension->CurrentMode - 1].VisScreenWidth;
     571                xres = DeviceExtension->CurrentModeWidth;
    572572            if (!yres)
    573                 yres = VideoModes[DeviceExtension->CurrentMode - 1].VisScreenHeight;
     573                yres = DeviceExtension->CurrentModeHeight;
    574574            if (!bpp)
    575575            {
    576                 bpp  = VideoModes[DeviceExtension->CurrentMode - 1].BitsPerPlane;
    577 #ifdef DEBUG_frank
    578                 {
    579                     int i;
    580                     dprintf(("VBoxVideo: using bpp=%d from CurrentMode\n", bpp));
    581                     for (i=0; i<MAX_VIDEO_MODES + 2; i++)
    582                     {
    583                         if (   VideoModes[i].VisScreenWidth
    584                             || VideoModes[i].VisScreenHeight
    585                             || VideoModes[i].BitsPerPlane)
    586                         {
    587                             dprintf((" %2d: %4d x %4d @ %2d %s\n",
    588                                     i, VideoModes[i].VisScreenWidth,
    589                                     VideoModes[i].VisScreenHeight, VideoModes[i].BitsPerPlane,
    590                                     i == (DeviceExtension->CurrentMode-1) ? "<==" : ""));
    591                         }
    592                     }
    593                 }
    594 #endif
     576                bpp  = DeviceExtension->CurrentModeBPP;
    595577            }
    596578        }
     
    714696                     xres, yres, bpp));
    715697    }
     698#ifdef DEBUG
     699    {
     700        int i;
     701        dprintf(("VBoxVideo: VideoModes (CurrentMode = %d)\n", DeviceExtension->CurrentMode));
     702        for (i=0; i<MAX_VIDEO_MODES + 2; i++)
     703        {
     704            if (   VideoModes[i].VisScreenWidth
     705                || VideoModes[i].VisScreenHeight
     706                || VideoModes[i].BitsPerPlane)
     707            {
     708                dprintf((" %2d: %4d x %4d @ %2d\n",
     709                        i, VideoModes[i].VisScreenWidth,
     710                        VideoModes[i].VisScreenHeight, VideoModes[i].BitsPerPlane));
     711            }
     712        }
     713    }
     714#endif
    716715}
    717716
     
    19001899             ModeInfo->VisScreenHeight, ModeInfo->BitsPerPlane));
    19011900
     1901    DeviceExtension->CurrentModeWidth  = ModeInfo->VisScreenWidth;
     1902    DeviceExtension->CurrentModeHeight = ModeInfo->VisScreenHeight;
     1903    DeviceExtension->CurrentModeBPP    = ModeInfo->BitsPerPlane;
     1904
    19021905    if (DeviceExtension->iDevice > 0)
    19031906    {
  • trunk/src/VBox/Additions/WINNT/Graphics/Miniport/VBoxVideo.h

    r8155 r8433  
    6666
    6767   ULONG CurrentMode;                          /* Saved information about video modes */
     68   ULONG CurrentModeWidth;
     69   ULONG CurrentModeHeight;
     70   ULONG CurrentModeBPP;
    6871
    6972   ULONG ulFrameBufferOffset;                  /* The framebuffer position in the VRAM. */
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette