VirtualBox

Changeset 20985 in vbox for trunk


Ignore:
Timestamp:
Jun 26, 2009 3:37:23 PM (16 years ago)
Author:
vboxsync
Message:

video hw accel: colorkey support in guest driver, checking gl caps (version & extension) in QGL gramebuffer, some bugfixes

Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/VBoxVideo.h

    r20906 r20985  
    364364} VBOXVHWA_SURFACEDESC;
    365365
    366 typedef struct _VBOXVHWA_BLTDESC
     366typedef struct _VBOXVHWA_BLTFX
    367367{
    368368    uint32_t flags;
     
    370370    uint32_t rotationOp;
    371371    uint32_t rotation;
     372    uint32_t fillColor;
     373    uint32_t Reserved;
    372374    VBOXVHWA_COLORKEY DstCK;
    373375    VBOXVHWA_COLORKEY SrcCK;
    374 } VBOXVHWA_BLTDESC;
    375 
    376 typedef struct _VBOXVHWA_OVERLAYDESC
     376} VBOXVHWA_BLTFX;
     377
     378typedef struct _VBOXVHWA_OVERLAYFX
    377379{
    378380    uint32_t flags;
     
    382384    VBOXVHWA_COLORKEY DstCK;
    383385    VBOXVHWA_COLORKEY SrcCK;
    384 } VBOXVHWA_OVERLAYDESC;
     386} VBOXVHWA_OVERLAYFX;
    385387
    386388#define VBOXVHWA_CAPS_BLT             0x00000001
     
    388390#define VBOXVHWA_CAPS_BLTFOURCC       0x00000004
    389391#define VBOXVHWA_CAPS_BLTSTRETCH      0x00000008
     392#define VBOXVHWA_CAPS_BLTQUEUE        0x00000010
    390393
    391394#define VBOXVHWA_CAPS_OVERLAY         0x00000100
     
    393396#define VBOXVHWA_CAPS_OVERLAYSTRETCH  0x00000400
    394397
    395 #define VBOXVHWA_CAPS_COLORKEY        0x00001000
    396 //#define VBOXVHWA_CAPS_COLORKEYHWASSIST         0x00002000 /* always set COLORKEYHWASSIST in case host reports colorkey support */
     398#define VBOXVHWA_CAPS_COLORKEY        0x00010000
     399#define VBOXVHWA_CAPS_COLORKEYHWASSIST         0x00020000
     400
    397401
    398402#define VBOXVHWA_CAPS2_COPYFOURCC   0x00000001
     
    400404#define VBOXVHWA_SCAPS_FLIP             0x00000001
    401405#define VBOXVHWA_SCAPS_PRIMARYSURFACE   0x00000002
     406#define VBOXVHWA_SCAPS_OFFSCREENPLAIN   0x00000004
    402407#define VBOXVHWA_SCAPS_OVERLAY          0x00000008
     408#define VBOXVHWA_SCAPS_VISIBLE          0x00000010
     409#define VBOXVHWA_SCAPS_VIDEOMEMORY      0x00000020
     410#define VBOXVHWA_SCAPS_LOCALVIDMEM      0x00000040
     411
    403412
    404413#define VBOXVHWA_PF_RGB                 0x00000001
     
    423432#define VBOXVHWA_SD_WIDTH               0x00000400
    424433
     434#define VBOXVHWA_CKEYCAPS_DESTBLT                  0x00000001
     435#define VBOXVHWA_CKEYCAPS_DESTBLTCLRSPACE          0x00000002
     436#define VBOXVHWA_CKEYCAPS_DESTBLTCLRSPACEYUV       0x00000004
     437#define VBOXVHWA_CKEYCAPS_DESTBLTYUV               0x00000008
     438#define VBOXVHWA_CKEYCAPS_DESTOVERLAY              0x00000010
     439#define VBOXVHWA_CKEYCAPS_DESTOVERLAYCLRSPACE      0x00000020
     440#define VBOXVHWA_CKEYCAPS_DESTOVERLAYCLRSPACEYUV   0x00000040
     441#define VBOXVHWA_CKEYCAPS_DESTOVERLAYONEACTIVE     0x00000080
     442#define VBOXVHWA_CKEYCAPS_DESTOVERLAYYUV           0x00000100
     443#define VBOXVHWA_CKEYCAPS_NOCOSTOVERLAY            0x00000200
     444#define VBOXVHWA_CKEYCAPS_SRCBLT                   0x00000400
     445#define VBOXVHWA_CKEYCAPS_SRCBLTCLRSPACE           0x00000800
     446#define VBOXVHWA_CKEYCAPS_SRCBLTCLRSPACEYUV        0x00001000
     447#define VBOXVHWA_CKEYCAPS_SRCBLTYUV                0x00002000
     448#define VBOXVHWA_CKEYCAPS_SRCOVERLAY               0x00004000
     449#define VBOXVHWA_CKEYCAPS_SRCOVERLAYCLRSPACE       0x00008000
     450#define VBOXVHWA_CKEYCAPS_SRCOVERLAYCLRSPACEYUV    0x00010000
     451#define VBOXVHWA_CKEYCAPS_SRCOVERLAYONEACTIVE      0x00020000
     452#define VBOXVHWA_CKEYCAPS_SRCOVERLAYYUV            0x00040000
     453
     454
     455#define VBOXVHWA_BLT_COLORFILL                      0x00000400
     456#define VBOXVHWA_BLT_DDFX                           0x00000800
     457#define VBOXVHWA_BLT_EXTENDED_FLAGS                 0x40000000
     458#define VBOXVHWA_BLT_EXTENDED_LINEAR_CONTENT        0x00000004
     459#define VBOXVHWA_BLT_EXTENDED_PRESENTATION_STRETCHFACTOR 0x00000010
     460#define VBOXVHWA_BLT_KEYDESTOVERRIDE                0x00004000
     461#define VBOXVHWA_BLT_KEYSRCOVERRIDE                 0x00010000
     462#define VBOXVHWA_BLT_LAST_PRESENTATION              0x20000000
     463#define VBOXVHWA_BLT_PRESENTATION                   0x10000000
     464#define VBOXVHWA_BLT_ROP                            0x00020000
     465
     466
     467
    425468
    426469#define VBOXVHWA_OFFSET64_VOID        (~0L)
     
    534577            uint32_t flags;
    535578            uint32_t reserved;
    536             VBOXVHWA_BLTDESC desc;
     579            VBOXVHWA_BLTFX desc;
    537580        } in;
    538581    } u;
     
    553596            uint32_t flags;
    554597            uint32_t reserved;
    555             VBOXVHWA_OVERLAYDESC desc;
     598            VBOXVHWA_OVERLAYFX desc;
    556599        } in;
    557600    } u;
  • trunk/src/VBox/Additions/WINNT/Graphics/Display/dd.c

    r20692 r20985  
    14331433            pBody->SrcGuestSurfInfo = (uint64_t)pSrcDesc;
    14341434
     1435            pBody->u.in.flags = vboxVHWAFromDDBLTs(lpBlt->dwFlags);
     1436            vboxVHWAFromDDBLTFX(&pBody->u.in.desc, &lpBlt->bltFX);
     1437
    14351438            ASMAtomicIncU32(&pSrcDesc->cPendingBltsSrc);
    14361439            ASMAtomicIncU32(&pDestDesc->cPendingBltsDst);
     
    15971600        return false;
    15981601
     1602    pHALInfo->ddCaps.dwCaps |= vboxVHWAToDDCAPS(pDev->vhwaInfo.caps);
     1603
    15991604    if(VBOXVHWA_CAP(pDev, VBOXVHWA_CAPS_BLT))
    16001605    {
     
    16041609                     rops,
    16051610                     sizeof(ropListNT)/sizeof(ropListNT[0]));
    1606 
    1607         // The most basic DirectDraw functionality
    1608         pHALInfo->ddCaps.dwCaps |=   DDCAPS_BLT
    1609                                      | DDCAPS_BLTQUEUE;
    1610         if(VBOXVHWA_CAP(pDev, VBOXVHWA_CAPS_BLTCOLORFILL))
    1611         {
    1612             pHALInfo->ddCaps.dwCaps |= DDCAPS_BLTCOLORFILL;
    1613         }
    16141611    }
    16151612
     
    16171614
    16181615
    1619     pHALInfo->ddCaps.ddsCaps.dwCaps |=   DDSCAPS_OFFSCREENPLAIN
    1620                                          | DDSCAPS_PRIMARYSURFACE;
    1621     if(pDev->vhwaInfo.surfaceCaps & VBOXVHWA_SCAPS_FLIP)
    1622     {
    1623         pHALInfo->ddCaps.ddsCaps.dwCaps |= DDSCAPS_FLIP;
    1624     }
     1616    pHALInfo->ddCaps.ddsCaps.dwCaps |= vboxVHWAToDDSCAPS(pDev->vhwaInfo.surfaceCaps);
     1617
    16251618//disabled
    16261619//    pHALInfo->ddCaps.dwCaps |= DDCAPS_3D           |
     
    16451638    // might get restricted by apps to run in fullscreen only
    16461639    pHALInfo->ddCaps.dwCaps2 |= DDCAPS2_CANRENDERWINDOWED;
     1640
     1641    // Also permit surfaces wider than the display buffer.
     1642    pHALInfo->ddCaps.dwCaps2 |= DDCAPS2_WIDESURFACES;
    16471643//#endif
    16481644
     
    16691665    // 3. Mirroring in X and Y
    16701666    // 4. ColorKeying from a source color and a source color space
    1671     if(VBOXVHWA_CAP(pDev, VBOXVHWA_CAPS_BLT)
     1667    if((VBOXVHWA_CAP(pDev, VBOXVHWA_CAPS_BLT) || VBOXVHWA_CAP(pDev, VBOXVHWA_CAPS_OVERLAY))
    16721668            && VBOXVHWA_CAP(pDev, VBOXVHWA_CAPS_BLTSTRETCH))
    16731669    {
    1674         pHALInfo->ddCaps.dwCaps |= DDCAPS_BLTSTRETCH;
    1675 
    16761670        // Special effects caps
    16771671        //TODO: filter them out
     
    17011695    }
    17021696
    1703     if(VBOXVHWA_CAP(pDev, VBOXVHWA_CAPS_BLT)
     1697    if((VBOXVHWA_CAP(pDev, VBOXVHWA_CAPS_BLT) || VBOXVHWA_CAP(pDev, VBOXVHWA_CAPS_OVERLAY))
    17041698            && VBOXVHWA_CAP(pDev, VBOXVHWA_CAPS_COLORKEY))
    17051699    {
    1706         pHALInfo->ddCaps.dwCaps |= DDCAPS_COLORKEY;
    1707 //                               | DDCAPS_CANBLTSYSMEM
    1708 
    1709         // ColorKey caps
    1710         //TODO: filter them out
    1711         pHALInfo->ddCaps.dwCKeyCaps |= DDCKEYCAPS_SRCBLT         |
    1712                                       DDCKEYCAPS_SRCBLTCLRSPACE |
    1713                                       DDCKEYCAPS_DESTBLT        |
    1714                                       DDCKEYCAPS_DESTBLTCLRSPACE;
    1715 
    1716         pHALInfo->ddCaps.dwCKeyCaps |=  DDCKEYCAPS_SRCBLTCLRSPACEYUV
    1717                                         | DDCKEYCAPS_DESTBLTCLRSPACEYUV;
    1718 
    1719 #if 0
    1720         DDCKEYCAPS_DESTBLT Supports transparent blitting with a color key that identifies the replaceable bits of the destination surface for RGB colors.
    1721         DDCKEYCAPS_DESTBLTCLRSPACE Supports transparent blitting with a color space that identifies the replaceable bits of the destination surface for RGB colors.
    1722         DDCKEYCAPS_DESTBLTCLRSPACEYUV Supports transparent blitting with a color space that identifies the replaceable bits of the destination surface for YUV colors.
    1723         DDCKEYCAPS_DESTBLTYUV Supports transparent blitting with a color key that identifies the replaceable bits of the destination surface for YUV colors.
    1724 
    1725         DDCKEYCAPS_SRCBLT Supports transparent blitting using the color key for the source with this surface for RGB colors.
    1726         DDCKEYCAPS_SRCBLTCLRSPACE Supports transparent blitting using a color space for the source with this surface for RGB colors.
    1727         DDCKEYCAPS_SRCBLTCLRSPACEYUV Supports transparent blitting using a color space for the source with this surface for YUV colors.
    1728         DDCKEYCAPS_SRCBLTYUV Supports transparent blitting using the color key for the source with this surface for YUV colors.
    1729 #endif
    1730 
    1731     }
    1732 
    1733     if(VBOXVHWA_CAP(pDev, VBOXVHWA_CAPS_OVERLAY)
    1734             && VBOXVHWA_CAP(pDev, VBOXVHWA_CAPS_COLORKEY))
    1735     {
    1736 #if 0
    1737         DDCKEYCAPS_DESTOVERLAY Supports overlaying with color keying of the replaceable bits of the destination surface being overlaid for RGB colors.
    1738         DDCKEYCAPS_DESTOVERLAYCLRSPACE Supports a color space as the color key for the destination of RGB colors.
    1739         DDCKEYCAPS_DESTOVERLAYCLRSPACEYUV Supports a color space as the color key for the destination of YUV colors.
    1740         DDCKEYCAPS_DESTOVERLAYONEACTIVE Supports only one active destination color key value for visible overlay surfaces.
    1741         DDCKEYCAPS_DESTOVERLAYYUV Supports overlaying using color keying of the replaceable bits of the destination surface being overlaid for YUV colors.
    1742         DDCKEYCAPS_NOCOSTOVERLAY Indicates that there are no bandwidth tradeoffs for using the color key with an overlay.
    1743 
    1744         DDCKEYCAPS_SRCOVERLAY Supports overlaying using the color key for the source with this overlay surface for RGB colors.
    1745         DDCKEYCAPS_SRCOVERLAYCLRSPACE Supports overlaying using a color space as the source color key for the overlay surface for RGB colors.
    1746         DDCKEYCAPS_SRCOVERLAYCLRSPACEYUV Supports overlaying using a color space as the source color key for the overlay surface for YUV colors.
    1747         DDCKEYCAPS_SRCOVERLAYONEACTIVE Supports only one active source color key value for visible overlay surfaces.
    1748         DDCKEYCAPS_SRCOVERLAYYUV Supports overlaying using the color key for the source with this overlay surface for YUV colors.
    1749 #endif
    1750     }
     1700        pHALInfo->ddCaps.dwCKeyCaps = vboxVHWAToDDCKEYCAPS(pDev->vhwaInfo.colorKeyCaps);
     1701    }
     1702
    17511703//    pHALInfo->ddCaps.dwSVBCaps = DDCAPS_BLT;
    17521704
     
    17771729//    pHALInfo->ddCaps.ddsCaps.dwCaps |= DDSCAPS_MIPMAP;
    17781730
    1779         pHALInfo->ddCaps.ddsCaps.dwCaps |= DDSCAPS_LOCALVIDMEM;
    1780 
    17811731    {
    17821732//#ifdef SUPPORT_VIDEOPORT
     
    17971747            pHALInfo->ddCaps.dwMaxVisibleOverlays = pDev->vhwaInfo.numOverlays;
    17981748            pHALInfo->ddCaps.dwCurrVisibleOverlays = 0;
    1799 
    1800             pHALInfo->ddCaps.dwCaps |=  DDCAPS_OVERLAY          |
    1801                                         DDCAPS_OVERLAYFOURCC    |
    1802                                         DDCAPS_OVERLAYSTRETCH   |
    1803                                         DDCAPS_COLORKEYHWASSIST |
    1804                                         DDCAPS_OVERLAYCANTCLIP;
    1805 
    1806             pHALInfo->ddCaps.dwCKeyCaps |= DDCKEYCAPS_SRCOVERLAY           |
    1807                                            DDCKEYCAPS_SRCOVERLAYONEACTIVE  |
    1808                                            DDCKEYCAPS_SRCOVERLAYYUV        |
    1809                                            DDCKEYCAPS_DESTOVERLAY          |
    1810                                            DDCKEYCAPS_DESTOVERLAYONEACTIVE |
    1811                                            DDCKEYCAPS_DESTOVERLAYYUV;
    1812 
    1813             pHALInfo->ddCaps.ddsCaps.dwCaps |= DDSCAPS_OVERLAY;
    1814 
    1815             pHALInfo->ddCaps.dwFXCaps |= DDFXCAPS_OVERLAYSHRINKX   |
    1816                                          DDFXCAPS_OVERLAYSHRINKXN  |
    1817                                          DDFXCAPS_OVERLAYSHRINKY   |
    1818                                          DDFXCAPS_OVERLAYSHRINKYN  |
    1819                                          DDFXCAPS_OVERLAYSTRETCHX  |
    1820                                          DDFXCAPS_OVERLAYSTRETCHXN |
    1821                                          DDFXCAPS_OVERLAYSTRETCHY  |
    1822                                          DDFXCAPS_OVERLAYSTRETCHYN;
    18231749
    18241750            // Indicates that Perm3 has no stretch ratio limitation
     
    18341760//#endif
    18351761//#endif
    1836 
    1837     // Also permit surfaces wider than the display buffer.
    1838     pHALInfo->ddCaps.dwCaps2 |= DDCAPS2_WIDESURFACES;
    18391762
    18401763
  • trunk/src/VBox/Additions/WINNT/Graphics/Display/driver.h

    r20906 r20985  
    315315uint32_t vboxVHWASupportedDDSCAPS(uint32_t caps);
    316316uint32_t vboxVHWASupportedDDPFS(uint32_t caps);
     317
     318uint32_t vboxVHWAUnsupportedDDCEYCAPS(uint32_t caps);
     319uint32_t vboxVHWASupportedDDCEYCAPS(uint32_t caps);
     320
     321uint32_t vboxVHWAToDDBLTs(uint32_t caps);
     322uint32_t vboxVHWAFromDDBLTs(uint32_t caps);
     323
     324void vboxVHWAFromDDBLTFX(VBOXVHWA_BLTFX *pVHWABlt, DDBLTFX *pDdBlt);
     325
     326void vboxVHWAFromDDCOLORKEY(VBOXVHWA_COLORKEY *pVHWACKey, DDCOLORKEY  *pDdCKey);
     327
    317328uint32_t vboxVHWAFromDDCAPS(uint32_t caps);
    318329uint32_t vboxVHWAToDDCAPS(uint32_t caps);
     
    321332uint32_t vboxVHWAFromDDPFS(uint32_t caps);
    322333uint32_t vboxVHWAToDDPFS(uint32_t caps);
     334uint32_t vboxVHWAFromDDCKEYCAPS(uint32_t caps);
     335uint32_t vboxVHWAToDDCKEYCAPS(uint32_t caps);
    323336int vboxVHWAFromDDPIXELFORMAT(VBOXVHWA_PIXELFORMAT *pVHWAFormat, DDPIXELFORMAT *pDdFormat);
    324337int vboxVHWAFromDDSURFACEDESC(VBOXVHWA_SURFACEDESC *pVHWADesc, DDSURFACEDESC *pDdDesc);
  • trunk/src/VBox/Frontends/VirtualBox/include/VBoxFrameBuffer.h

    r20906 r20985  
    399399    {}
    400400
    401     uint32_t upper() {return mUpper; }
    402     uint32_t lower() {return mLower; }
     401    uint32_t upper() const {return mUpper; }
     402    uint32_t lower() const {return mLower; }
    403403private:
    404404    uint32_t mUpper;
     
    406406};
    407407
     408class VBoxVHWAColorComponent
     409{
     410public:
     411    VBoxVHWAColorComponent() :
     412        mMask(0),
     413        mRange(0),
     414        mOffset(32),
     415        mcBits(0)
     416    {}
     417
     418    VBoxVHWAColorComponent(uint32_t aMask);
     419
     420    uint32_t mask() const { return mMask; }
     421    uint32_t range() const { return mRange; }
     422    uint32_t offset() const { return mOffset; }
     423    uint32_t cBits() const { return mcBits; }
     424    uint32_t colorVal(uint32_t col) const { return (col & mMask) >> mOffset; }
     425    float colorValNorm(uint32_t col) const { return ((float)colorVal(col))/mRange; }
     426private:
     427    uint32_t mMask;
     428    uint32_t mRange;
     429    uint32_t mOffset;
     430    uint32_t mcBits;
     431};
     432
    408433class VBoxVHWAColorFormat
    409434{
    410435public:
    411436
    412     VBoxVHWAColorFormat(GLint aInternalFormat, GLenum aFormat, GLenum aType, uint32_t aDataFormat) :
    413         mInternalFormat(aInternalFormat),
    414         mFormat(aFormat),
    415         mType(aType),
    416         mDataFormat(aDataFormat)
    417     {}
     437//    VBoxVHWAColorFormat(GLint aInternalFormat, GLenum aFormat, GLenum aType, uint32_t aDataFormat);
     438    VBoxVHWAColorFormat(uint32_t bitsPerPixel, uint32_t r, uint32_t g, uint32_t b);
    418439
    419440    GLint internalFormat() const {return mInternalFormat; }
    420441    GLenum format() const {return mFormat; }
    421442    GLenum type() const {return mType; }
     443    bool isValid() const {return mBitsPerPixel != 0; }
    422444    uint32_t dataFormat() const {return mDataFormat;}
    423 
    424     void pixel2Normalized(uint32_t pix, float &r, float &g, float &b);
    425     uint32_t r(uint32_t pix);
    426     uint32_t g(uint32_t pix);
    427     uint32_t b(uint32_t pix);
    428 
    429 private:
     445    uint32_t bitsPerPixel() const { return mBitsPerPixel; }
     446    void pixel2Normalized(uint32_t pix, float *r, float *g, float *b) const;
     447//    uint32_t r(uint32_t pix);
     448//    uint32_t g(uint32_t pix);
     449//    uint32_t b(uint32_t pix);
     450
     451private:
     452    void VBoxVHWAColorFormat::init(uint32_t bitsPerPixel, uint32_t r, uint32_t g, uint32_t b);
     453
    430454    GLint mInternalFormat;
    431455    GLenum mFormat;
     
    433457    uint32_t mDataFormat;
    434458
    435     uint32_t mRMask;
    436     uint32_t mGMask;
    437     uint32_t mBMask;
    438     uint32_t mRRange;
    439     uint32_t mGRange;
    440     uint32_t mBRange;
    441 
     459    uint32_t mBitsPerPixel;
     460
     461    VBoxVHWAColorComponent mR;
     462    VBoxVHWAColorComponent mG;
     463    VBoxVHWAColorComponent mB;
    442464};
    443465
     
    458480    static void globalInit();
    459481
    460     int blt(const QRect * aDstRect, VBoxVHWASurfaceBase * aSrtSurface, const QRect * aSrcRect, uint32_t flags, struct _VBOXVHWA_BLTDESC * pBltInfo);
     482    int blt(const QRect * aDstRect, VBoxVHWASurfaceBase * aSrtSurface, const QRect * aSrcRect, const VBoxVHWAColorKey * pDstCKeyOverride, const VBoxVHWAColorKey * pSrcCKeyOverride);
    461483
    462484    virtual int lock(const QRect * pRect, uint32_t flags);
     
    486508
    487509    ulong  bytesPerPixel() { return mBytesPerPixel; }
     510    ulong  bitsPerPixel() { return mColorFormat.bitsPerPixel(); }
    488511    ulong  bytesPerLine() { return mBytesPerLine; }
    489512
     
    508531#ifdef VBOX_WITH_VIDEOHWACCEL
    509532    virtual class VBoxVHWAGlProgramMngr * getGlProgramMngr() = 0;
     533    static int setCKey(class VBoxVHWAGlProgramVHWA * pProgram, const VBoxVHWAColorFormat * pFormat, const VBoxVHWAColorKey * pCKey);
    510534#endif
    511535private:
     
    572596    void init(uchar *pvMem);
    573597
    574     int unlock()
    575     {
    576         int rc = VBoxVHWASurfaceBase::unlock();
    577         if(!mBuffer)
    578             performDisplay();
    579         return rc;
    580     }
     598//    int unlock()
     599//    {
     600//        int rc = VBoxVHWASurfaceBase::unlock();
     601//        if(!mBuffer)
     602//            performDisplay();
     603//        return rc;
     604//    }
    581605#ifdef VBOX_WITH_VIDEOHWACCEL
    582606    class VBoxVHWAGlProgramMngr * getGlProgramMngr();
     
    599623    uchar *vboxAddress() { return pDisplay ? pDisplay->address() : NULL; }
    600624    uchar *vboxVRAMAddressFromOffset(uint64_t offset);
    601     ulong vboxBitsPerPixel() { return mBitsPerPixel; }
     625    ulong vboxBitsPerPixel() { return pDisplay->bitsPerPixel(); }
    602626    ulong vboxBytesPerLine() { return pDisplay ? pDisplay->bytesPerLine() : NULL; }
    603627
     
    616640//    void resizeGL (int height, int width);
    617641
    618     void paintGL() { (this->*mpfnOp)(mOpContext);}
     642    void paintGL() { (this->*mpfnOp)(mOpContext); }
    619643
    620644    void initializeGL();
     
    657681    void *mOpContext;
    658682
    659     ulong  mBitsPerPixel;
     683//    ulong  mBitsPerPixel;
    660684    ulong  mPixelFormat;
    661685    bool   mUsesGuestVRAM;
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