VirtualBox

Changeset 63822 in vbox for trunk/src/VBox/Devices


Ignore:
Timestamp:
Sep 14, 2016 6:18:20 AM (8 years ago)
Author:
vboxsync
Message:

include,Main,DevVGA: bugref:8387: support for guest request to blank the virtual monitor (VBVA_SCREEN_F_BLANK2)

Location:
trunk/src/VBox/Devices/Graphics
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Graphics/DevVGA_VBVA.cpp

    r63562 r63822  
    21372137    else if (u32Index == VBOX_VBVA_CONF32_SCREEN_FLAGS)
    21382138    {
    2139         pConf32->u32Value = VBVA_SCREEN_F_ACTIVE | VBVA_SCREEN_F_DISABLED | VBVA_SCREEN_F_BLANK;
     2139        pConf32->u32Value =  VBVA_SCREEN_F_ACTIVE
     2140                           | VBVA_SCREEN_F_DISABLED
     2141                           | VBVA_SCREEN_F_BLANK
     2142                           | VBVA_SCREEN_F_BLANK2;
    21402143    }
    21412144    else if (u32Index == VBOX_VBVA_CONF32_MAX_RECORD_SIZE)
  • trunk/src/VBox/Devices/Graphics/DevVGA_VDMA.cpp

    r63562 r63822  
    14761476{
    14771477    const uint32_t u32ViewIndex = pScreen->u32ViewIndex;
    1478     const bool fDisabled = RT_BOOL(pScreen->u16Flags & VBVA_SCREEN_F_DISABLED);
    1479 
    1480     if (fDisabled)
     1478    const uint16_t u16Flags = pScreen->u16Flags;
     1479
     1480    if (u16Flags & VBVA_SCREEN_F_DISABLED)
    14811481    {
    14821482        if (   u32ViewIndex < pVGAState->cMonitors
     
    14911491    else
    14921492    {
     1493        if (u16Flags & VBVA_SCREEN_F_BLANK2)
     1494        {
     1495            /* Special case for blanking using current video mode.
     1496             * Only 'u16Flags' field is relevant.
     1497             */
     1498            RT_ZERO(*pScreen);
     1499            pScreen->u16Flags = u16Flags;
     1500            return VINF_SUCCESS;
     1501        }
     1502
    14931503        if (   u32ViewIndex < pVGAState->cMonitors
    14941504            && pScreen->u16BitsPerPixel <= 32
     
    15611571            continue;
    15621572
    1563         if (!fDisable || !CurView.u32ViewSize)
     1573        /* The view does not change if _BLANK2 is set. */
     1574        if (   (!fDisable || !CurView.u32ViewSize)
     1575            && !RT_BOOL(Screen.u16Flags & VBVA_SCREEN_F_BLANK2))
    15641576        {
    15651577            View.u32ViewIndex = Screen.u32ViewIndex;
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