VirtualBox

Changeset 83256 in vbox


Ignore:
Timestamp:
Mar 11, 2020 10:57:46 AM (5 years ago)
Author:
vboxsync
Message:

VMSVGA: Reversed bit order of converted cursor AND mask to match VBVA expectations.

File:
1 edited

Legend:

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

    r83156 r83256  
    27522752                {
    27532753                    uint8_t bDst = 0;
    2754                     uint8_t fBit = 1;
     2754                    uint8_t fBit = 0x80;
    27552755                    do
    27562756                    {
     
    27602760                              | (pThis->last_palette[idxPal] >> 16)) & 0xff) > 0xfc)
    27612761                            bDst |= fBit;
    2762                         fBit <<= 1;
     2762                        fBit >>= 1;
    27632763                        x++;
    27642764                    } while (x < cx && (x & 7));
     
    27752775                {
    27762776                    uint8_t bDst = 0;
    2777                     uint8_t fBit = 1;
     2777                    uint8_t fBit = 0x80;
    27782778                    do
    27792779                    {
    27802780                        if ((pbSrc[x * 2] | (pbSrc[x * 2 + 1] & 0x7f)) >= 0xfc)
    27812781                            bDst |= fBit;
    2782                         fBit <<= 1;
     2782                        fBit >>= 1;
    27832783                        x++;
    27842784                    } while (x < cx && (x & 7));
     
    27952795                {
    27962796                    uint8_t bDst = 0;
    2797                     uint8_t fBit = 1;
     2797                    uint8_t fBit = 0x80;
    27982798                    do
    27992799                    {
    28002800                        if ((pbSrc[x * 2] | pbSrc[x * 2 + 1]) >= 0xfc)
    28012801                            bDst |= fBit;
    2802                         fBit <<= 1;
     2802                        fBit >>= 1;
    28032803                        x++;
    28042804                    } while (x < cx && (x & 7));
     
    28152815                {
    28162816                    uint8_t bDst = 0;
    2817                     uint8_t fBit = 1;
     2817                    uint8_t fBit = 0x80;
    28182818                    do
    28192819                    {
    28202820                        if ((pbSrc[x * 3] | pbSrc[x * 3 + 1] | pbSrc[x * 3 + 2]) >= 0xfc)
    28212821                            bDst |= fBit;
    2822                         fBit <<= 1;
     2822                        fBit >>= 1;
    28232823                        x++;
    28242824                    } while (x < cx && (x & 7));
     
    28352835                {
    28362836                    uint8_t bDst = 0;
    2837                     uint8_t fBit = 1;
     2837                    uint8_t fBit = 0x80;
    28382838                    do
    28392839                    {
    28402840                        if ((pbSrc[x * 4] | pbSrc[x * 4 + 1] | pbSrc[x * 4 + 2] | pbSrc[x * 4 + 3]) >= 0xfc)
    28412841                            bDst |= fBit;
    2842                         fBit <<= 1;
     2842                        fBit >>= 1;
    28432843                        x++;
    28442844                    } while (x < cx && (x & 7));
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