VirtualBox

Ignore:
Timestamp:
May 13, 2022 4:50:32 PM (3 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
151439
Message:

WDDM: 64 bit surfaceFlags. bugref:9845

Location:
trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/gallium
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/gallium/SvgaRender.cpp

    r94927 r95010  
    393393
    394394
    395 /* SVGA_3D_CMD_DEFINE_GB_SURFACE 1097 */
    396 static NTSTATUS procCmdDefineGBSurface(PVBOXWDDM_EXT_VMSVGA pSvga, PVMSVGACONTEXT pSvgaContext, SVGA3dCmdHeader *pHeader)
    397 {
    398     SVGA3dCmdDefineGBSurface *pCmd = (SVGA3dCmdDefineGBSurface *)&pHeader[1];
    399     RT_NOREF(pSvga, pSvgaContext, pCmd);
    400     return STATUS_SUCCESS;
    401 }
    402 
    403 
    404395/* SVGA_3D_CMD_DESTROY_GB_SURFACE 1098 */
    405396static NTSTATUS procCmdDestroyGBSurface(PVBOXWDDM_EXT_VMSVGA pSvga, PVMSVGACONTEXT pSvgaContext, SVGA3dCmdHeader *pHeader)
     
    681672
    682673
    683 /* SVGA_3D_CMD_DEFINE_GB_SURFACE_V2 1134 */
    684 static NTSTATUS procCmdDefineGBSurface_v2(PVBOXWDDM_EXT_VMSVGA pSvga, PVMSVGACONTEXT pSvgaContext, SVGA3dCmdHeader *pHeader)
    685 {
    686     SVGA3dCmdDefineGBSurface_v2 *pCmd = (SVGA3dCmdDefineGBSurface_v2 *)&pHeader[1];
    687     RT_NOREF(pSvga, pSvgaContext, pCmd);
    688     return STATUS_SUCCESS;
    689 }
    690 
    691 
    692674/* SVGA_3D_CMD_DEFINE_GB_MOB64 1135 */
    693675static NTSTATUS procCmdDefineGBMob64(PVBOXWDDM_EXT_VMSVGA pSvga, PVMSVGACONTEXT pSvgaContext, SVGA3dCmdHeader *pHeader)
     
    15481530
    15491531
    1550 /* SVGA_3D_CMD_DEFINE_GB_SURFACE_V3 1239 */
    1551 static NTSTATUS procCmdDefineGBSurface_v3(PVBOXWDDM_EXT_VMSVGA pSvga, PVMSVGACONTEXT pSvgaContext, SVGA3dCmdHeader *pHeader)
    1552 {
    1553     SVGA3dCmdDefineGBSurface_v3 *pCmd = (SVGA3dCmdDefineGBSurface_v3 *)&pHeader[1];
    1554     RT_NOREF(pSvga, pSvgaContext, pCmd);
    1555     return STATUS_SUCCESS;
    1556 }
    1557 
    1558 
    15591532/* SVGA_3D_CMD_DX_RESOLVE_COPY 1240 */
    15601533static NTSTATUS procCmdDXResolveCopy(PVBOXWDDM_EXT_VMSVGA pSvga, PVMSVGACONTEXT pSvgaContext, SVGA3dCmdHeader *pHeader)
     
    17771750{
    17781751    SVGA3dCmdLogicOpsClearTypeBlend *pCmd = (SVGA3dCmdLogicOpsClearTypeBlend *)&pHeader[1];
    1779     RT_NOREF(pSvga, pSvgaContext, pCmd);
    1780     return STATUS_SUCCESS;
    1781 }
    1782 
    1783 
    1784 /* SVGA_3D_CMD_DEFINE_GB_SURFACE_V4 1267 */
    1785 static NTSTATUS procCmdDefineGBSurface_v4(PVBOXWDDM_EXT_VMSVGA pSvga, PVMSVGACONTEXT pSvgaContext, SVGA3dCmdHeader *pHeader)
    1786 {
    1787     SVGA3dCmdDefineGBSurface_v4 *pCmd = (SVGA3dCmdDefineGBSurface_v4 *)&pHeader[1];
    17881752    RT_NOREF(pSvga, pSvgaContext, pCmd);
    17891753    return STATUS_SUCCESS;
     
    19431907    { procCmdInvalid },                             // SVGA_3D_CMD_DEAD3
    19441908    { procCmdUpdateGBMobMapping },                  // SVGA_3D_CMD_UPDATE_GB_MOB_MAPPING
    1945     { procCmdDefineGBSurface },                     // SVGA_3D_CMD_DEFINE_GB_SURFACE
     1909    { procCmdInvalid },                             // SVGA_3D_CMD_DEFINE_GB_SURFACE
    19461910    { procCmdDestroyGBSurface },                    // SVGA_3D_CMD_DESTROY_GB_SURFACE
    19471911    { procCmdBindGBSurface },                       // SVGA_3D_CMD_BIND_GB_SURFACE
     
    19801944    { procCmdBindGBSurfaceWithPitch },              // SVGA_3D_CMD_BIND_GB_SURFACE_WITH_PITCH
    19811945    { procCmdGBMobFence },                          // SVGA_3D_CMD_GB_MOB_FENCE
    1982     { procCmdDefineGBSurface_v2 },                  // SVGA_3D_CMD_DEFINE_GB_SURFACE_V2
     1946    { procCmdInvalid },                             // SVGA_3D_CMD_DEFINE_GB_SURFACE_V2
    19831947    { procCmdDefineGBMob64 },                       // SVGA_3D_CMD_DEFINE_GB_MOB64
    19841948    { procCmdRedefineGBMob64 },                     // SVGA_3D_CMD_REDEFINE_GB_MOB64
     
    20852049    { procCmdDXGrowCOTable },                       // SVGA_3D_CMD_DX_GROW_COTABLE
    20862050    { procCmdIntraSurfaceCopy },                    // SVGA_3D_CMD_INTRA_SURFACE_COPY
    2087     { procCmdDefineGBSurface_v3 },                  // SVGA_3D_CMD_DEFINE_GB_SURFACE_V3
     2051    { procCmdInvalid },                             // SVGA_3D_CMD_DEFINE_GB_SURFACE_V3
    20882052    { procCmdDXResolveCopy },                       // SVGA_3D_CMD_DX_RESOLVE_COPY
    20892053    { procCmdDXPredResolveCopy },                   // SVGA_3D_CMD_DX_PRED_RESOLVE_COPY
     
    21132077    { procCmdInvalid },                             // SVGA_3D_CMD_RESERVED2_1
    21142078    { procCmdInvalid },                             // SVGA_3D_CMD_RESERVED2_2
    2115     { procCmdDefineGBSurface_v4 },                  // SVGA_3D_CMD_DEFINE_GB_SURFACE_V4
     2079    { procCmdInvalid },                             // SVGA_3D_CMD_DEFINE_GB_SURFACE_V4
    21162080    { procCmdDXSetCSUAViews },                      // SVGA_3D_CMD_DX_SET_CS_UA_VIEWS
    21172081    { procCmdDXSetMinLOD },                         // SVGA_3D_CMD_DX_SET_MIN_LOD
  • trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/gallium/VBoxMPDX.cpp

    r94990 r95010  
    4343    if (NT_SUCCESS(Status))
    4444    {
    45         void *pvCmd = SvgaCmdBuf3dCmdReserve(pSvga, SVGA_3D_CMD_DEFINE_GB_SURFACE_V2, sizeof(SVGA3dCmdDefineGBSurface_v2), SVGA3D_INVALID_ID);
     45        void *pvCmd = SvgaCmdBuf3dCmdReserve(pSvga, SVGA_3D_CMD_DEFINE_GB_SURFACE_V4, sizeof(SVGA3dCmdDefineGBSurface_v4), SVGA3D_INVALID_ID);
    4646        if (pvCmd)
    4747        {
    48             SVGA3dCmdDefineGBSurface_v2 *pCmd = (SVGA3dCmdDefineGBSurface_v2 *)pvCmd;
     48            SVGA3dCmdDefineGBSurface_v4 *pCmd = (SVGA3dCmdDefineGBSurface_v4 *)pvCmd;
    4949            pCmd->sid              = pAllocation->dx.sid;
    50             pCmd->surfaceFlags     = (uint32_t)pAllocation->dx.desc.surfaceInfo.surfaceFlags;
     50            pCmd->surfaceFlags     = pAllocation->dx.desc.surfaceInfo.surfaceFlags;
    5151            pCmd->format           = pAllocation->dx.desc.surfaceInfo.format;
    5252            pCmd->numMipLevels     = pAllocation->dx.desc.surfaceInfo.numMipLevels;
     
    5555            pCmd->size             = pAllocation->dx.desc.surfaceInfo.size;
    5656            pCmd->arraySize        = pAllocation->dx.desc.surfaceInfo.arraySize;
    57             pCmd->pad              = 0;
    58             SvgaCmdBufCommit(pSvga, sizeof(SVGA3dCmdDefineGBSurface_v2));
     57            pCmd->bufferByteStride = pAllocation->dx.desc.surfaceInfo.bufferByteStride;
     58            SvgaCmdBufCommit(pSvga, sizeof(SVGA3dCmdDefineGBSurface_v4));
    5959        }
    6060        else
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