VirtualBox

Changeset 106953 in vbox


Ignore:
Timestamp:
Nov 12, 2024 9:53:05 AM (3 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
165880
Message:

3D: Move declaration of VMSVGA2dGBO into VMSVGA3DSTATE to avoid passing it as an argument. bugref:10580

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

Legend:

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

    r106934 r106953  
    13621362
    13631363/* SVGA_3D_CMD_DEFINE_GB_SURFACE 1097 */
    1364 static void vmsvga3dCmdDefineGBSurface(PVGASTATECC pThisCC, SVGA3dCmdDefineGBSurface const *pCmd, bool fVMSVGA2dGBO)
     1364static void vmsvga3dCmdDefineGBSurface(PVGASTATECC pThisCC, SVGA3dCmdDefineGBSurface const *pCmd)
    13651365{
    13661366    //DEBUG_BREAKPOINT_TEST();
     
    13931393        vmsvga3dSurfaceDefine(pThisCC, pCmd->sid, pCmd->surfaceFlags, pCmd->format,
    13941394                              pCmd->multisampleCount, multisamplePattern, qualityLevel, pCmd->autogenFilter,
    1395                               pCmd->numMipLevels, &pCmd->size, /* arraySize = */ 0, /* bufferByteStride = */ 0, /* fAllocMipLevels = */ fVMSVGA2dGBO);
     1395                              pCmd->numMipLevels, &pCmd->size, /* arraySize = */ 0, /* bufferByteStride = */ 0, /* fAllocMipLevels = */ false);
    13961396    }
    13971397}
     
    50165016
    50175017        uint32_t const cCopyBoxes = (cbCmd - sizeof(pCmd)) / sizeof(SVGA3dCopyBox);
    5018         vmsvga3dSurfaceCopy(pThisCC, pCmd->dest, pCmd->src, cCopyBoxes, (SVGA3dCopyBox *)(pCmd + 1), pThis->svga.fVMSVGA2dGBO);
     5018        vmsvga3dSurfaceCopy(pThisCC, pCmd->dest, pCmd->src, cCopyBoxes, (SVGA3dCopyBox *)(pCmd + 1));
    50195019        break;
    50205020    }
     
    54555455        SVGA3dCmdDefineGBSurface *pCmd = (SVGA3dCmdDefineGBSurface *)pvCmd;
    54565456        VMSVGAFIFO_CHECK_3D_CMD_MIN_SIZE_BREAK(sizeof(*pCmd));
    5457         vmsvga3dCmdDefineGBSurface(pThisCC, pCmd, pThis->svga.fVMSVGA2dGBO);
     5457        vmsvga3dCmdDefineGBSurface(pThisCC, pCmd);
    54585458        break;
    54595459    }
  • trunk/src/VBox/Devices/Graphics/DevVGA-SVGA3d-dx-dx11.cpp

    r106522 r106953  
    40614061        AssertRCReturn(rc, rc);
    40624062
    4063         if (!VMSVGA3DSURFACE_HAS_HW_SURFACE(pSurface))
     4063        if (!VMSVGA3DSURFACE_HAS_HW_SURFACE(pSurface) && !pState->fVMSVGA2dGBO)
    40644064        {
    40654065            /* Create the actual texture. */
  • trunk/src/VBox/Devices/Graphics/DevVGA-SVGA3d-internal.h

    r106926 r106953  
    10761076    /** Surfaces indexed by ID.  Grown as needed. */
    10771077    PVMSVGA3DSURFACE       *papSurfaces;
     1078
     1079    bool fVMSVGA2dGBO;
    10781080#ifdef VMSVGA3D_DX
    10791081    /** DX contexts indexed by ID.  Grown as needed. */
  • trunk/src/VBox/Devices/Graphics/DevVGA-SVGA3d.cpp

    r106932 r106953  
    384384    Assert(!VMSVGA3DSURFACE_HAS_HW_SURFACE(pSurface));
    385385
    386     if (fAllocMipLevels)
     386    if (fAllocMipLevels || pState->fVMSVGA2dGBO)
    387387    {
    388388        rc = vmsvga3dSurfaceAllocMipLevels(pSurface);
     
    14481448}
    14491449
    1450 int vmsvga3dSurfaceCopy(PVGASTATECC pThisCC, SVGA3dSurfaceImageId dest, SVGA3dSurfaceImageId src, uint32_t cCopyBoxes, SVGA3dCopyBox *pBox, bool fVMSVGA2dGBO)
    1451 {
    1452     PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
    1453 
    1454     if (!fVMSVGA2dGBO)
     1450int vmsvga3dSurfaceCopy(PVGASTATECC pThisCC, SVGA3dSurfaceImageId dest, SVGA3dSurfaceImageId src, uint32_t cCopyBoxes, SVGA3dCopyBox *pBox)
     1451{
     1452    PVMSVGAR3STATE const pSvgaR3State = pThisCC->svga.pSvgaR3State;
     1453    PVMSVGA3DSTATE const p3dState     = pThisCC->svga.p3dState;
     1454    AssertReturn(pSvgaR3State && p3dState, VERR_INVALID_STATE);
     1455
     1456    if (!p3dState->fVMSVGA2dGBO)
    14551457    {
    14561458        AssertReturn(pSvgaR3State->pFuncs3D, VERR_NOT_IMPLEMENTED);
     
    14591461    else
    14601462    {
    1461         PVMSVGA3DSTATE pState = pThisCC->svga.p3dState;
    1462         AssertReturn(pState, VERR_INVALID_STATE);
    1463         return vmsvga3dSurfaceCopySysMem(pState, dest, src, cCopyBoxes, pBox);
     1463        return vmsvga3dSurfaceCopySysMem(p3dState, dest, src, cCopyBoxes, pBox);
    14641464    }
    14651465}
     
    19781978    pThisCC->svga.p3dState = p3dState;
    19791979
     1980    p3dState->fVMSVGA2dGBO = pThis->svga.fVMSVGA2dGBO;
    19801981    if (pThis->svga.fVMSVGA2dGBO)
    19811982        return VINF_SUCCESS;
  • trunk/src/VBox/Devices/Graphics/DevVGA-SVGA3d.h

    r106926 r106953  
    120120int vmsvga3dSurfaceDestroy(PVGASTATECC pThisCC, uint32_t sid);
    121121int vmsvga3dSurfaceCopy(PVGASTATECC pThisCC, SVGA3dSurfaceImageId dest, SVGA3dSurfaceImageId src,
    122                         uint32_t cCopyBoxes, SVGA3dCopyBox *pBox, bool fVMSVGA2dGBO);
     122                        uint32_t cCopyBoxes, SVGA3dCopyBox *pBox);
    123123int vmsvga3dSurfaceStretchBlt(PVGASTATE pThis, PVGASTATECC pThisCC,
    124124                              SVGA3dSurfaceImageId const *pDstSfcImg, SVGA3dBox const *pDstBox,
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