VirtualBox

Changeset 78589 in vbox for trunk/src/VBox


Ignore:
Timestamp:
May 20, 2019 9:55:47 AM (6 years ago)
Author:
vboxsync
Message:

Devices/Graphics: use more vmsvga3d helpers, minor cleanups

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

Legend:

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

    r77114 r78589  
    44484448int vmsvga3dSetRenderTarget(PVGASTATE pThis, uint32_t cid, SVGA3dRenderTargetType type, SVGA3dSurfaceImageId target)
    44494449{
    4450     PVMSVGA3DCONTEXT            pContext;
    4451     PVMSVGA3DSTATE              pState = pThis->svga.p3dState;
    4452     PVMSVGA3DSURFACE            pRenderTarget;
     4450    PVMSVGA3DSTATE pState = pThis->svga.p3dState;
    44534451
    44544452    AssertReturn(pState, VERR_NO_MEMORY);
    4455     AssertReturn(type < SVGA3D_RT_MAX, VERR_INVALID_PARAMETER);
    4456 
    4457     Log(("vmsvga3dSetRenderTarget cid=%x type=%x surface id=%x\n", cid, type, target.sid));
    4458 
    4459     if (    cid >= pState->cContexts
    4460         ||  pState->papContexts[cid]->id != cid)
    4461     {
    4462         Log(("vmsvga3dSetRenderTarget invalid context id!\n"));
    4463         return VERR_INVALID_PARAMETER;
    4464     }
    4465     pContext = pState->papContexts[cid];
     4453    AssertReturn((unsigned)type < SVGA3D_RT_MAX, VERR_INVALID_PARAMETER);
     4454
     4455    LogFunc(("cid=%x type=%x sid=%x\n", cid, type, target.sid));
     4456
     4457    PVMSVGA3DCONTEXT pContext;
     4458    int rc = vmsvga3dContextFromCid(pState, cid, &pContext);
     4459    AssertRCReturn(rc, rc);
     4460
    44664461    VMSVGA3D_SET_CURRENT_CONTEXT(pState, pContext);
    44674462
     
    44984493    }
    44994494
    4500     AssertReturn(target.sid < SVGA3D_MAX_SURFACE_IDS, VERR_INVALID_PARAMETER);
    4501     AssertReturn(target.sid < pState->cSurfaces && pState->papSurfaces[target.sid]->id == target.sid, VERR_INVALID_PARAMETER);
    4502     pRenderTarget = pState->papSurfaces[target.sid];
     4495    PVMSVGA3DSURFACE pRenderTarget;
     4496    rc = vmsvga3dSurfaceFromSid(pState, target.sid, &pRenderTarget);
     4497    AssertRCReturn(rc, rc);
    45034498
    45044499    switch (type)
     
    47884783    GLenum                      val = ~(GLenum)0; /* Shut up MSC. */
    47894784    GLenum                      currentStage = ~(GLenum)0;
    4790     PVMSVGA3DCONTEXT            pContext;
    47914785    PVMSVGA3DSTATE              pState = pThis->svga.p3dState;
    47924786    AssertReturn(pState, VERR_NO_MEMORY);
     
    47944788    Log(("vmsvga3dSetTextureState %x cTextureState=%d\n", cid, cTextureStates));
    47954789
    4796     if (    cid >= pState->cContexts
    4797         ||  pState->papContexts[cid]->id != cid)
    4798     {
    4799         Log(("vmsvga3dSetTextureState invalid context id!\n"));
    4800         return VERR_INVALID_PARAMETER;
    4801     }
    4802     pContext = pState->papContexts[cid];
     4790    PVMSVGA3DCONTEXT pContext;
     4791    int rc = vmsvga3dContextFromCid(pState, cid, &pContext);
     4792    AssertRCReturn(rc, rc);
     4793
    48034794    VMSVGA3D_SET_CURRENT_CONTEXT(pState, pContext);
    48044795
     
    51035094int vmsvga3dSetMaterial(PVGASTATE pThis, uint32_t cid, SVGA3dFace face, SVGA3dMaterial *pMaterial)
    51045095{
    5105     PVMSVGA3DCONTEXT      pContext;
    5106     PVMSVGA3DSTATE        pState = pThis->svga.p3dState;
     5096    PVMSVGA3DSTATE pState = pThis->svga.p3dState;
    51075097    AssertReturn(pState, VERR_NO_MEMORY);
    5108     GLenum                oglFace;
    5109 
    5110     Log(("vmsvga3dSetMaterial cid=%x face %d\n", cid, face));
    5111 
    5112     if (    cid >= pState->cContexts
    5113         ||  pState->papContexts[cid]->id != cid)
    5114     {
    5115         Log(("vmsvga3dSetMaterial invalid context id!\n"));
    5116         return VERR_INVALID_PARAMETER;
    5117     }
    5118     pContext = pState->papContexts[cid];
     5098
     5099    LogFunc(("cid=%x face %d\n", cid, face));
     5100
     5101    PVMSVGA3DCONTEXT pContext;
     5102    int rc = vmsvga3dContextFromCid(pState, cid, &pContext);
     5103    AssertRCReturn(rc, rc);
     5104
    51195105    VMSVGA3D_SET_CURRENT_CONTEXT(pState, pContext);
    51205106
     5107    GLenum oglFace;
    51215108    switch (face)
    51225109    {
     
    51565143int vmsvga3dSetLightData(PVGASTATE pThis, uint32_t cid, uint32_t index, SVGA3dLightData *pData)
    51575144{
    5158     PVMSVGA3DCONTEXT      pContext;
    5159     PVMSVGA3DSTATE        pState = pThis->svga.p3dState;
     5145    PVMSVGA3DSTATE pState = pThis->svga.p3dState;
    51605146    AssertReturn(pState, VERR_NO_MEMORY);
    5161     float                 QuadAttenuation;
    5162 
    5163     Log(("vmsvga3dSetLightData cid=%x index=%d type=%d\n", cid, index, pData->type));
    5164 
    5165     if (    cid >= pState->cContexts
    5166         ||  pState->papContexts[cid]->id != cid)
    5167     {
    5168         Log(("vmsvga3dSetLightData invalid context id!\n"));
    5169         return VERR_INVALID_PARAMETER;
    5170     }
    5171     pContext = pState->papContexts[cid];
     5147
     5148    LogFunc(("vmsvga3dSetLightData cid=%x index=%d type=%d\n", cid, index, pData->type));
     5149
     5150    PVMSVGA3DCONTEXT pContext;
     5151    int rc = vmsvga3dContextFromCid(pState, cid, &pContext);
     5152    AssertRCReturn(rc, rc);
     5153
    51725154    VMSVGA3D_SET_CURRENT_CONTEXT(pState, pContext);
    51735155
     
    51985180    glLightfv(GL_LIGHT0 + index, GL_AMBIENT, pData->ambient);
    51995181
     5182    float QuadAttenuation;
    52005183    if (pData->range * pData->range >= FLT_MIN)
    52015184        QuadAttenuation = 1.4f / (pData->range * pData->range);
     
    53255308    default:
    53265309        Log(("Unsupported light type!!\n"));
    5327         return VERR_INVALID_PARAMETER;
     5310        rc = VERR_INVALID_PARAMETER;
     5311        break;
    53285312    }
    53295313
     
    53315315    glPopMatrix();
    53325316
    5333     return VINF_SUCCESS;
     5317    return rc;
    53345318}
    53355319
    53365320int vmsvga3dSetLightEnabled(PVGASTATE pThis, uint32_t cid, uint32_t index, uint32_t enabled)
    53375321{
    5338     PVMSVGA3DCONTEXT      pContext;
    5339     PVMSVGA3DSTATE        pState = pThis->svga.p3dState;
     5322    PVMSVGA3DSTATE pState = pThis->svga.p3dState;
    53405323    AssertReturn(pState, VERR_NO_MEMORY);
    53415324
    5342     Log(("vmsvga3dSetLightEnabled cid=%x %d -> %d\n", cid, index, enabled));
    5343 
    5344     if (    cid >= pState->cContexts
    5345         ||  pState->papContexts[cid]->id != cid)
    5346     {
    5347         Log(("vmsvga3dSetLightEnabled invalid context id!\n"));
    5348         return VERR_INVALID_PARAMETER;
    5349     }
    5350     pContext = pState->papContexts[cid];
     5325    LogFunc(("cid=%x %d -> %d\n", cid, index, enabled));
     5326
     5327    PVMSVGA3DCONTEXT pContext;
     5328    int rc = vmsvga3dContextFromCid(pState, cid, &pContext);
     5329    AssertRCReturn(rc, rc);
     5330
    53515331    VMSVGA3D_SET_CURRENT_CONTEXT(pState, pContext);
    53525332
     
    53595339    if (enabled)
    53605340    {
    5361         /* Load the default settings if none have been set yet. */
    5362         if (!pContext->state.aLightData[index].fValidData)
    5363             vmsvga3dSetLightData(pThis, cid, index, (SVGA3dLightData *)&vmsvga3d_default_light);
     5341        if (index < SVGA3D_MAX_LIGHTS)
     5342        {
     5343           /* Load the default settings if none have been set yet. */
     5344           if (!pContext->state.aLightData[index].fValidData)
     5345               vmsvga3dSetLightData(pThis, cid, index, (SVGA3dLightData *)&vmsvga3d_default_light);
     5346        }
    53645347        glEnable(GL_LIGHT0 + index);
    53655348    }
  • trunk/src/VBox/Devices/Graphics/DevVGA-SVGA3d-win.cpp

    r76553 r78589  
    38803880int vmsvga3dSetRenderTarget(PVGASTATE pThis, uint32_t cid, SVGA3dRenderTargetType type, SVGA3dSurfaceImageId target)
    38813881{
    3882     HRESULT                     hr;
    3883     PVMSVGA3DCONTEXT            pContext;
    3884     PVMSVGA3DSTATE              pState = pThis->svga.p3dState;
    3885     PVMSVGA3DSURFACE            pRenderTarget;
     3882    HRESULT        hr;
     3883    PVMSVGA3DSTATE pState = pThis->svga.p3dState;
    38863884
    38873885    AssertReturn(pState, VERR_NO_MEMORY);
    3888     AssertReturn(type < SVGA3D_RT_MAX, VERR_INVALID_PARAMETER);
     3886    AssertReturn((unsigned)type < SVGA3D_RT_MAX, VERR_INVALID_PARAMETER);
    38893887
    38903888    LogFunc(("cid=%x type=%x sid=%x\n", cid, type, target.sid));
    38913889
     3890    PVMSVGA3DCONTEXT pContext;
    38923891    int rc = vmsvga3dContextFromCid(pState, cid, &pContext);
    38933892    AssertRCReturn(rc, rc);
     
    39503949    }
    39513950
     3951    PVMSVGA3DSURFACE pRenderTarget;
    39523952    rc = vmsvga3dSurfaceFromSid(pState, target.sid, &pRenderTarget);
    39533953    AssertRCReturn(rc, rc);
     
    42614261    default:
    42624262        AssertFailed();
    4263         return 0;
     4263        return D3DTA_DIFFUSE;
    42644264    }
    42654265}
     
    42864286    default:
    42874287        AssertFailed();
    4288         return 0;
     4288        return D3DTTFF_DISABLE;
    42894289    }
    42904290}
     
    45494549        /* Record the texture state for vm state saving. */
    45504550        if (   currentStage < RT_ELEMENTS(pContext->state.aTextureStates)
    4551             && pTextureState[i].name < RT_ELEMENTS(pContext->state.aTextureStates[0]))
     4551            && (unsigned)pTextureState[i].name < RT_ELEMENTS(pContext->state.aTextureStates[0]))
    45524552        {
    45534553            pContext->state.aTextureStates[currentStage][pTextureState[i].name] = pTextureState[i];
     
    45884588{
    45894589    HRESULT               hr;
    4590     D3DMATERIAL9          material;
    4591     PVMSVGA3DCONTEXT      pContext;
    45924590    PVMSVGA3DSTATE        pState = pThis->svga.p3dState;
    45934591    AssertReturn(pState, VERR_NO_MEMORY);
     
    45954593    LogFunc(("cid=%x face %d\n", cid, face));
    45964594
     4595    PVMSVGA3DCONTEXT      pContext;
    45974596    int rc = vmsvga3dContextFromCid(pState, cid, &pContext);
    45984597    AssertRCReturn(rc, rc);
    45994598
    4600     AssertReturn(face < SVGA3D_FACE_MAX, VERR_INVALID_PARAMETER);
     4599    AssertReturn((unsigned)face < SVGA3D_FACE_MAX, VERR_INVALID_PARAMETER);
    46014600
    46024601    /* Save for vm state save/restore. */
     
    46114610        Log(("Unsupported face %d!!\n", face));
    46124611
     4612    D3DMATERIAL9 material;
    46134613    material.Diffuse.r     = pMaterial->diffuse[0];
    46144614    material.Diffuse.g     = pMaterial->diffuse[1];
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