VirtualBox

Changeset 51511 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Jun 3, 2014 2:19:13 PM (11 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
94127
Message:

DevVGA: use actual fRenderVRAM value (fixed a regression from r94031)

File:
1 edited

Legend:

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

    r51461 r51511  
    17001700 */
    17011701static int vga_draw_text(PVGASTATE pThis, bool full_update, bool fFailOnResize, bool reset_dirty,
    1702         PDMIDISPLAYCONNECTOR *pDrv, bool fRenderVRAM)
     1702        PDMIDISPLAYCONNECTOR *pDrv)
    17031703{
    17041704    int cx, cy, cheight, cw, ch, cattr, height, width, ch_attr;
     
    18441844                fgcol = palette[cattr & 0x0f];
    18451845                if (cw != 9) {
    1846                     if (fRenderVRAM)
     1846                    if (pThis->fRenderVRAM)
    18471847                        vga_draw_glyph8(d1, linesize,
    18481848                                        font_ptr, cheight, fgcol, bgcol, dscan);
     
    18511851                    if (ch >= 0xb0 && ch <= 0xdf && (pThis->ar[0x10] & 0x04))
    18521852                        dup9 = 1;
    1853                     if (fRenderVRAM)
     1853                    if (pThis->fRenderVRAM)
    18541854                        vga_draw_glyph9(d1, linesize,
    18551855                                        font_ptr, cheight, fgcol, bgcol, dup9);
     
    18681868                        d = d1 + (linesize * line_start << dscan);
    18691869                        if (cw != 9) {
    1870                             if (fRenderVRAM)
     1870                            if (pThis->fRenderVRAM)
    18711871                                vga_draw_glyph8(d, linesize,
    18721872                                                cursor_glyph, h, fgcol, bgcol, dscan);
    18731873                        } else {
    1874                             if (fRenderVRAM)
     1874                            if (pThis->fRenderVRAM)
    18751875                                vga_draw_glyph9(d, linesize,
    18761876                                                cursor_glyph, h, fgcol, bgcol, 1);
     
    21552155 */
    21562156static int vmsvga_draw_graphic(PVGASTATE pThis, bool full_update, bool fFailOnResize, bool reset_dirty,
    2157                 PDMIDISPLAYCONNECTOR *pDrv, bool fRenderVRAM)
     2157                PDMIDISPLAYCONNECTOR *pDrv)
    21582158{
    21592159    int y, page_min, page_max, linesize, y_start;
     
    22332233            if (page1 > page_max)
    22342234                page_max = page1;
    2235             if (fRenderVRAM)
     2235            if (pThis->fRenderVRAM)
    22362236                vga_draw_line(pThis, d, pThis->CTX_SUFF(vram_ptr) + addr, width);
    22372237            if (pThis->cursor_draw_line)
     
    22672267 */
    22682268static int vga_draw_graphic(PVGASTATE pThis, bool full_update, bool fFailOnResize, bool reset_dirty,
    2269                 PDMIDISPLAYCONNECTOR *pDrv, bool fRenderVRAM)
     2269                PDMIDISPLAYCONNECTOR *pDrv)
    22702270{
    22712271    int y1, y2, y, page_min, page_max, linesize, y_start, double_scan;
     
    23452345        ||  height         != (int)pThis->last_height
    23462346        ||  pThis->get_bpp(pThis)  != (int)pThis->last_bpp
    2347         || (offsets_changed && !fRenderVRAM))
     2347        || (offsets_changed && !pThis->fRenderVRAM))
    23482348    {
    23492349        if (fFailOnResize)
     
    23582358    }
    23592359
    2360     if (fRenderVRAM)
     2360    if (pThis->fRenderVRAM)
    23612361    {
    23622362        /* Do not update the destination buffer if it is not big enough.
     
    24202420            if (page1 > page_max)
    24212421                page_max = page1;
    2422             if (fRenderVRAM)
     2422            if (pThis->fRenderVRAM)
    24232423                vga_draw_line(pThis, d, pThis->CTX_SUFF(vram_ptr) + addr, width);
    24242424            if (pThis->cursor_draw_line)
     
    24612461}
    24622462
    2463 static void vga_draw_blank(PVGASTATE pThis, int full_update, PDMIDISPLAYCONNECTOR *pDrv, bool fRenderVRAM)
     2463static void vga_draw_blank(PVGASTATE pThis, int full_update, PDMIDISPLAYCONNECTOR *pDrv)
    24642464{
    24652465    int i, w, val;
     
    24792479    w = pThis->last_scr_width * ((pDrv->cBits + 7) >> 3);
    24802480    d = pDrv->pu8Data;
    2481     if (fRenderVRAM)
     2481    if (pThis->fRenderVRAM)
    24822482    {
    24832483        for(i = 0; i < (int)pThis->last_scr_height; i++) {
     
    25032503
    25042504static int vga_update_display(PVGASTATE pThis, bool fUpdateAll, bool fFailOnResize, bool reset_dirty,
    2505         PDMIDISPLAYCONNECTOR *pDrv, int32_t *pcur_graphic_mode, bool fRenderVRAM)
     2505        PDMIDISPLAYCONNECTOR *pDrv, int32_t *pcur_graphic_mode)
    25062506{
    25072507    int rc = VINF_SUCCESS;
     
    25582558            if (pThis->svga.fEnabled) {
    25592559                *pcur_graphic_mode = GMODE_SVGA;
    2560                 rc = vmsvga_draw_graphic(pThis, 1, false, reset_dirty, pDrv, fRenderVRAM);
     2560                rc = vmsvga_draw_graphic(pThis, 1, false, reset_dirty, pDrv);
    25612561            }
    25622562            else
     
    25642564            if (pThis->gr[6] & 1) {
    25652565                *pcur_graphic_mode = GMODE_GRAPH;
    2566                 rc = vga_draw_graphic(pThis, 1, false, reset_dirty, pDrv, fRenderVRAM);
     2566                rc = vga_draw_graphic(pThis, 1, false, reset_dirty, pDrv);
    25672567            } else {
    25682568                *pcur_graphic_mode = GMODE_TEXT;
    2569                 rc = vga_draw_text(pThis, 1, false, reset_dirty, pDrv, fRenderVRAM);
     2569                rc = vga_draw_text(pThis, 1, false, reset_dirty, pDrv);
    25702570            }
    25712571
     
    25972597        switch(graphic_mode) {
    25982598        case GMODE_TEXT:
    2599             rc = vga_draw_text(pThis, full_update, fFailOnResize, reset_dirty, pDrv, fRenderVRAM);
     2599            rc = vga_draw_text(pThis, full_update, fFailOnResize, reset_dirty, pDrv);
    26002600            break;
    26012601        case GMODE_GRAPH:
    2602             rc = vga_draw_graphic(pThis, full_update, fFailOnResize, reset_dirty, pDrv, fRenderVRAM);
     2602            rc = vga_draw_graphic(pThis, full_update, fFailOnResize, reset_dirty, pDrv);
    26032603            break;
    26042604#ifdef VBOX_WITH_VMSVGA
    26052605        case GMODE_SVGA:
    2606             rc = vmsvga_draw_graphic(pThis, full_update, fFailOnResize, reset_dirty, pDrv, fRenderVRAM);
     2606            rc = vmsvga_draw_graphic(pThis, full_update, fFailOnResize, reset_dirty, pDrv);
    26072607            break;
    26082608#endif
    26092609        case GMODE_BLANK:
    26102610        default:
    2611             vga_draw_blank(pThis, full_update, pDrv, fRenderVRAM);
     2611            vga_draw_blank(pThis, full_update, pDrv);
    26122612            break;
    26132613        }
     
    46114611
    46124612    rc = vga_update_display(pThis, false, false, true,
    4613             pThis->pDrv, &pThis->graphic_mode, pThis->fRenderVRAM);
     4613            pThis->pDrv, &pThis->graphic_mode);
    46144614    PDMCritSectLeave(&pThis->CritSect);
    46154615    return rc;
     
    46444644
    46454645    return vga_update_display(pThis, true, false, true,
    4646             pThis->pDrv, &pThis->graphic_mode, pThis->fRenderVRAM);
     4646            pThis->pDrv, &pThis->graphic_mode);
    46474647}
    46484648
     
    47724772            int32_t cur_graphic_mode = -1;
    47734773
     4774            bool fSavedRenderVRAM = pThis->fRenderVRAM;
     4775            pThis->fRenderVRAM = true;
     4776
    47744777            /*
    47754778             * Make the screenshot.
     
    47814784             */
    47824785            rc = vga_update_display(pThis, false, true, false,
    4783                     &Connector, &cur_graphic_mode, 1);
     4786                    &Connector, &cur_graphic_mode);
     4787
     4788            pThis->fRenderVRAM = fSavedRenderVRAM;
    47844789
    47854790            if (rc == VINF_SUCCESS)
Note: See TracChangeset for help on using the changeset viewer.

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