VirtualBox

Ignore:
Timestamp:
Aug 31, 2010 11:16:00 AM (14 years ago)
Author:
vboxsync
Message:

wddm/3d: 1st 3d app working under Aero! shared textures working

Location:
trunk/src/VBox/Additions/WINNT/Graphics
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/WINNT/Graphics/Display/wddm/VBoxDispD3D.cpp

    r32107 r32127  
    42314231{
    42324232    VBOXWDDMDISP_NSCADD NscAdd;
     4233    BOOL bReinitRenderData = TRUE;
    42334234
    42344235    do
    42354236    {
    4236         NscAdd.pvCommandBuffer = pDevice->DefaultContext.ContextInfo.pCommandBuffer;
    4237         NscAdd.cbCommandBuffer = pDevice->DefaultContext.ContextInfo.CommandBufferSize;
    4238         NscAdd.pAllocationList = pDevice->DefaultContext.ContextInfo.pAllocationList;
    4239         NscAdd.cAllocationList = pDevice->DefaultContext.ContextInfo.AllocationListSize;
    4240         NscAdd.pPatchLocationList = pDevice->DefaultContext.ContextInfo.pPatchLocationList;
    4241         NscAdd.cPatchLocationList = pDevice->DefaultContext.ContextInfo.PatchLocationListSize;
    4242         NscAdd.cAllocations = 0;
     4237        if (bReinitRenderData)
     4238        {
     4239            NscAdd.pvCommandBuffer = pDevice->DefaultContext.ContextInfo.pCommandBuffer;
     4240            NscAdd.cbCommandBuffer = pDevice->DefaultContext.ContextInfo.CommandBufferSize;
     4241            NscAdd.pAllocationList = pDevice->DefaultContext.ContextInfo.pAllocationList;
     4242            NscAdd.cAllocationList = pDevice->DefaultContext.ContextInfo.AllocationListSize;
     4243            NscAdd.pPatchLocationList = pDevice->DefaultContext.ContextInfo.pPatchLocationList;
     4244            NscAdd.cPatchLocationList = pDevice->DefaultContext.ContextInfo.PatchLocationListSize;
     4245            NscAdd.cAllocations = 0;
     4246            bReinitRenderData = FALSE;
     4247        }
    42434248
    42444249        EnterCriticalSection(&pDevice->DirtyAllocListLock);
     
    42904295            pDevice->DefaultContext.ContextInfo.PatchLocationListSize = RenderData.NewPatchLocationListSize;
    42914296            pDevice->DefaultContext.ContextInfo.pPatchLocationList = RenderData.pNewPatchLocationList;
     4297            bReinitRenderData = TRUE;
    42924298        }
    42934299        else
  • trunk/src/VBox/Additions/WINNT/Graphics/Miniport/wddm/VBoxVideoWddm.cpp

    r32107 r32127  
    19021902     * we do not expect any other flags to be set here */
    19031903//    Assert(pPatch->Flags.Value == 2 || pPatch->Flags.Value == 4);
    1904     Assert(pPatch->DmaBufferPrivateDataSize >= sizeof (VBOXWDDM_DMA_PRIVATEDATA_HDR));
    1905     Assert(pPatch->DmaBufferPrivateDataSubmissionEndOffset - pPatch->DmaBufferPrivateDataSubmissionStartOffset >= sizeof (VBOXWDDM_DMA_PRIVATEDATA_HDR));
    1906     if (pPatch->DmaBufferPrivateDataSubmissionEndOffset - pPatch->DmaBufferPrivateDataSubmissionStartOffset >= sizeof (VBOXWDDM_DMA_PRIVATEDATA_HDR))
    1907     {
    1908         VBOXWDDM_DMA_PRIVATEDATA_HDR *pPrivateData = (VBOXWDDM_DMA_PRIVATEDATA_HDR*)((uint8_t*)pPatch->pDmaBufferPrivateData + pPatch->DmaBufferPrivateDataSubmissionStartOffset);
    1909         switch (pPrivateData->enmCmd)
     1904    Assert(pPatch->DmaBufferPrivateDataSize >= sizeof (VBOXWDDM_DMA_PRIVATEDATA_BASEHDR));
     1905    Assert(pPatch->DmaBufferPrivateDataSubmissionEndOffset - pPatch->DmaBufferPrivateDataSubmissionStartOffset >= sizeof (VBOXWDDM_DMA_PRIVATEDATA_BASEHDR));
     1906    if (pPatch->DmaBufferPrivateDataSubmissionEndOffset - pPatch->DmaBufferPrivateDataSubmissionStartOffset >= sizeof (VBOXWDDM_DMA_PRIVATEDATA_BASEHDR))
     1907    {
     1908        VBOXWDDM_DMA_PRIVATEDATA_BASEHDR *pPrivateDataBase = (VBOXWDDM_DMA_PRIVATEDATA_BASEHDR*)((uint8_t*)pPatch->pDmaBufferPrivateData + pPatch->DmaBufferPrivateDataSubmissionStartOffset);
     1909        switch (pPrivateDataBase->enmCmd)
    19101910        {
    19111911            case VBOXVDMACMD_TYPE_DMA_PRESENT_SHADOW2PRIMARY:
    19121912            case VBOXVDMACMD_TYPE_DMA_PRESENT_BLT:
    19131913            {
     1914                VBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR *pPrivateData = (VBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR*)pPrivateDataBase;
    19141915                Assert(pPatch->PatchLocationListSubmissionLength == 2);
    19151916                const D3DDDI_PATCHLOCATIONLIST* pPatchList = &pPatch->pPatchLocationList[pPatch->PatchLocationListSubmissionStart];
     
    19321933            case VBOXVDMACMD_TYPE_DMA_PRESENT_FLIP:
    19331934            {
     1935                VBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR *pPrivateData = (VBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR*)pPrivateDataBase;
    19341936                Assert(pPatch->PatchLocationListSubmissionLength == 1);
    19351937                const D3DDDI_PATCHLOCATIONLIST* pPatchList = &pPatch->pPatchLocationList[pPatch->PatchLocationListSubmissionStart];
     
    19441946            case VBOXVDMACMD_TYPE_DMA_PRESENT_CLRFILL:
    19451947            {
     1948                VBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR *pPrivateData = (VBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR*)pPrivateDataBase;
    19461949                Assert(pPatch->PatchLocationListSubmissionLength == 1);
    19471950                const D3DDDI_PATCHLOCATIONLIST* pPatchList = &pPatch->pPatchLocationList[pPatch->PatchLocationListSubmissionStart];
     
    19831986    else
    19841987    {
    1985         drprintf((__FUNCTION__": DmaBufferPrivateDataSubmissionEndOffset (%d) - DmaBufferPrivateDataSubmissionStartOffset (%d) < sizeof (VBOXWDDM_DMA_PRIVATEDATA_HDR) (%d)\n",
     1988        drprintf((__FUNCTION__": DmaBufferPrivateDataSubmissionEndOffset (%d) - DmaBufferPrivateDataSubmissionStartOffset (%d) < sizeof (VBOXWDDM_DMA_PRIVATEDATA_BASEHDR) (%d)\n",
    19861989                pPatch->DmaBufferPrivateDataSubmissionEndOffset,
    19871990                pPatch->DmaBufferPrivateDataSubmissionStartOffset,
    1988                 sizeof (VBOXWDDM_DMA_PRIVATEDATA_HDR)));
     1991                sizeof (VBOXWDDM_DMA_PRIVATEDATA_BASEHDR)));
    19891992        return STATUS_INVALID_PARAMETER;
    19901993    }
     
    21092112    /* the DMA command buffer is located in system RAM, the host will need to pick it from there */
    21102113    //BufInfo.fFlags = 0; /* see VBOXVDMACBUF_FLAG_xx */
    2111     Assert(pSubmitCommand->DmaBufferPrivateDataSubmissionEndOffset - pSubmitCommand->DmaBufferPrivateDataSubmissionStartOffset >= sizeof (VBOXWDDM_DMA_PRIVATEDATA_HDR));
    2112     if (pSubmitCommand->DmaBufferPrivateDataSubmissionEndOffset - pSubmitCommand->DmaBufferPrivateDataSubmissionStartOffset < sizeof (VBOXWDDM_DMA_PRIVATEDATA_HDR))
    2113     {
    2114         drprintf((__FUNCTION__": DmaBufferPrivateDataSubmissionEndOffset (%d) - DmaBufferPrivateDataSubmissionStartOffset (%d) < sizeof (VBOXWDDM_DMA_PRIVATEDATA_HDR) (%d)\n",
     2114    Assert(pSubmitCommand->DmaBufferPrivateDataSubmissionEndOffset - pSubmitCommand->DmaBufferPrivateDataSubmissionStartOffset >= sizeof (VBOXWDDM_DMA_PRIVATEDATA_BASEHDR));
     2115    if (pSubmitCommand->DmaBufferPrivateDataSubmissionEndOffset - pSubmitCommand->DmaBufferPrivateDataSubmissionStartOffset < sizeof (VBOXWDDM_DMA_PRIVATEDATA_BASEHDR))
     2116    {
     2117        drprintf((__FUNCTION__": DmaBufferPrivateDataSubmissionEndOffset (%d) - DmaBufferPrivateDataSubmissionStartOffset (%d) < sizeof (VBOXWDDM_DMA_PRIVATEDATA_BASEHDR) (%d)\n",
    21152118                pSubmitCommand->DmaBufferPrivateDataSubmissionEndOffset,
    21162119                pSubmitCommand->DmaBufferPrivateDataSubmissionStartOffset,
    2117                 sizeof (VBOXWDDM_DMA_PRIVATEDATA_HDR)));
     2120                sizeof (VBOXWDDM_DMA_PRIVATEDATA_BASEHDR)));
    21182121        return STATUS_INVALID_PARAMETER;
    21192122    }
    21202123
    2121     PVBOXWDDM_DMA_PRIVATEDATA_HDR pPrivateData = (PVBOXWDDM_DMA_PRIVATEDATA_HDR)((uint8_t*)pSubmitCommand->pDmaBufferPrivateData + pSubmitCommand->DmaBufferPrivateDataSubmissionStartOffset);
    2122     Assert(pPrivateData);
    2123     switch (pPrivateData->enmCmd)
     2124    PVBOXWDDM_DMA_PRIVATEDATA_BASEHDR pPrivateDataBase = (PVBOXWDDM_DMA_PRIVATEDATA_BASEHDR)((uint8_t*)pSubmitCommand->pDmaBufferPrivateData + pSubmitCommand->DmaBufferPrivateDataSubmissionStartOffset);
     2125    Assert(pPrivateDataBase);
     2126    switch (pPrivateDataBase->enmCmd)
    21242127    {
    21252128#ifdef VBOXWDDM_RENDER_FROM_SHADOW
    21262129        case VBOXVDMACMD_TYPE_DMA_PRESENT_SHADOW2PRIMARY:
    21272130        {
     2131            VBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR *pPrivateData = (VBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR*)pPrivateDataBase;
    21282132            VBOXWDDM_SOURCE *pSource = &pDevExt->aSources[pPrivateData->SrcAllocInfo.srcId];
    21292133            vboxWddmCheckUpdateShadowAddress(pDevExt, pSource, pPrivateData->SrcAllocInfo.segmentIdAlloc, pPrivateData->SrcAllocInfo.offAlloc);
     
    21452149        case VBOXVDMACMD_TYPE_DMA_PRESENT_BLT:
    21462150        {
     2151            VBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR *pPrivateData = (VBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR*)pPrivateDataBase;
    21472152            PVBOXWDDM_CONTEXT pContext = (PVBOXWDDM_CONTEXT)pSubmitCommand->hContext;
    21482153            Assert(pContext);
     
    22342239        case VBOXVDMACMD_TYPE_DMA_PRESENT_FLIP:
    22352240        {
     2241            VBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR *pPrivateData = (VBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR*)pPrivateDataBase;
    22362242            PVBOXWDDM_CONTEXT pContext = (PVBOXWDDM_CONTEXT)pSubmitCommand->hContext;
    22372243            PVBOXVDMAPIPE_CMD_RECTSINFO pRectsCmd = (PVBOXVDMAPIPE_CMD_RECTSINFO)vboxVdmaGgCmdCreate(&pDevExt->u.primary.Vdma.DmaGg, VBOXVDMAPIPE_CMD_TYPE_RECTSINFO, RT_OFFSETOF(VBOXVDMAPIPE_CMD_RECTSINFO, ContextsRects.UpdateRects.aRects[1]));
     
    22622268        case VBOXVDMACMD_TYPE_DMA_PRESENT_CLRFILL:
    22632269        {
     2270            VBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR *pPrivateData = (VBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR*)pPrivateDataBase;
    22642271            PVBOXWDDM_DMA_PRESENT_CLRFILL pCF = (PVBOXWDDM_DMA_PRESENT_CLRFILL)pPrivateData;
    22652272            PVBOXWDDM_CONTEXT pContext = (PVBOXWDDM_CONTEXT)pSubmitCommand->hContext;
     
    23232330        {
    23242331            AssertBreakpoint();
     2332            VBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR *pPrivateData = (VBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR*)pPrivateDataBase;
    23252333            PVBOXVDMACBUF_DR pDr = vboxVdmaCBufDrCreate (&pDevExt->u.primary.Vdma, 0);
    23262334            if (!pDr)
     
    37873795    DXGKARG_RENDER  *pRender)
    37883796{
    3789     drprintf(("==> "__FUNCTION__ ", !!NOT_IMPLEMENTED!! hContext(0x%x)\n", hContext));
    3790 
     3797    drprintf(("==> "__FUNCTION__ ", hContext(0x%x)\n", hContext));
     3798
     3799    Assert(pRender->DmaBufferPrivateDataSize >= sizeof (VBOXWDDM_DMA_PRIVATEDATA_BASEHDR));
     3800    if (pRender->DmaBufferPrivateDataSize < sizeof (VBOXWDDM_DMA_PRIVATEDATA_BASEHDR))
     3801    {
     3802        drprintf((__FUNCTION__": Present->DmaBufferPrivateDataSize(%d) < sizeof VBOXWDDM_DMA_PRIVATEDATA_BASEHDR (%d)\n",
     3803                pRender->DmaBufferPrivateDataSize , sizeof (VBOXWDDM_DMA_PRIVATEDATA_BASEHDR)));
     3804        /* @todo: can this actually happen? what status to return? */
     3805        return STATUS_INVALID_PARAMETER;
     3806    }
     3807
     3808    NTSTATUS Status = STATUS_SUCCESS;
     3809    PVBOXWDDM_DMA_PRIVATEDATA_BASEHDR pPrivateData = (PVBOXWDDM_DMA_PRIVATEDATA_BASEHDR)pRender->pDmaBufferPrivateData;
     3810    pPrivateData->enmCmd = VBOXVDMACMD_TYPE_DMA_NOP;
     3811
     3812    pRender->pDmaBufferPrivateData = (uint8_t*)pRender->pDmaBufferPrivateData + sizeof (VBOXWDDM_DMA_PRIVATEDATA_BASEHDR);
    37913813    pRender->pDmaBuffer = ((uint8_t*)pRender->pDmaBuffer) + pRender->CommandLength;
    3792     /* @todo: impl  */
    3793     AssertBreakpoint();
    3794 
    3795     drprintf(("<== "__FUNCTION__ ", !!NOT_IMPLEMENTED!! hContext(0x%x)\n", hContext));
    3796 
    3797     return STATUS_NOT_IMPLEMENTED;
     3814    Assert(pRender->DmaSize >= pRender->CommandLength);
     3815    Assert(pRender->PatchLocationListOutSize >= pRender->PatchLocationListInSize);
     3816    UINT cbPLL = pRender->PatchLocationListInSize * sizeof (pRender->pPatchLocationListOut[0]);
     3817    memcpy(pRender->pPatchLocationListOut, pRender->pPatchLocationListIn, cbPLL);
     3818    pRender->pPatchLocationListOut += pRender->PatchLocationListInSize;
     3819
     3820    drprintf(("<== "__FUNCTION__ ", hContext(0x%x)\n", hContext));
     3821
     3822    return Status;
    37983823}
    37993824
     
    38913916    PDEVICE_EXTENSION pDevExt = pDevice->pAdapter;
    38923917
    3893     Assert(pPresent->DmaBufferPrivateDataSize >= sizeof (VBOXWDDM_DMA_PRIVATEDATA_HDR));
    3894     if (pPresent->DmaBufferPrivateDataSize < sizeof (VBOXWDDM_DMA_PRIVATEDATA_HDR))
    3895     {
    3896         drprintf((__FUNCTION__": Present->DmaBufferPrivateDataSize(%d) < sizeof VBOXWDDM_DMA_PRIVATEDATA_HDR (%d)\n", pPresent->DmaBufferPrivateDataSize , sizeof (VBOXWDDM_DMA_PRIVATEDATA_HDR)));
     3918    Assert(pPresent->DmaBufferPrivateDataSize >= sizeof (VBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR));
     3919    if (pPresent->DmaBufferPrivateDataSize < sizeof (VBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR))
     3920    {
     3921        drprintf((__FUNCTION__": Present->DmaBufferPrivateDataSize(%d) < sizeof VBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR (%d)\n", pPresent->DmaBufferPrivateDataSize , sizeof (VBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR)));
    38973922        /* @todo: can this actually happen? what status tu return? */
    38983923        return STATUS_INVALID_PARAMETER;
    38993924    }
    39003925
    3901     PVBOXWDDM_DMA_PRIVATEDATA_HDR pPrivateData = (PVBOXWDDM_DMA_PRIVATEDATA_HDR)pPresent->pDmaBufferPrivateData;
     3926    PVBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR pPrivateData = (PVBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR)pPresent->pDmaBufferPrivateData;
    39023927    pPrivateData->pContext = pContext;
    3903     pPrivateData->fFlags.Value = 0;
     3928    pPrivateData->BaseHdr.fFlags.Value = 0;
    39043929    uint32_t cContexts3D = ASMAtomicReadU32(&pDevExt->cContexts3D);
    39053930#define VBOXWDDM_DUMMY_DMABUFFER_SIZE sizeof(RECT)
     
    39814006
    39824007                                    /* we do not know the shadow address yet, perform dummy DMA cycle */
    3983                                     pPrivateData->enmCmd = VBOXVDMACMD_TYPE_DMA_PRESENT_SHADOW2PRIMARY;
     4008                                    pPrivateData->BaseHdr.enmCmd = VBOXVDMACMD_TYPE_DMA_PRESENT_SHADOW2PRIMARY;
    39844009                                    vboxWddmPopulateDmaAllocInfo(&pPrivateData->SrcAllocInfo, pSrcAlloc, pSrc);
    39854010//                                  no need to fill dst surf info here
     
    40024027#endif
    40034028                    UINT cbCmd = pPresent->DmaBufferPrivateDataSize;
    4004                     pPrivateData->enmCmd = VBOXVDMACMD_TYPE_DMA_PRESENT_BLT;
     4029                    pPrivateData->BaseHdr.enmCmd = VBOXVDMACMD_TYPE_DMA_PRESENT_BLT;
    40054030
    40064031                    vboxWddmPopulateDmaAllocInfo(&pPrivateData->SrcAllocInfo, pSrcAlloc, pSrc);
     
    40954120                            }
    40964121                            Assert(i);
    4097                             pPrivateData->enmCmd = VBOXVDMACMD_TYPE_DMA_PRESENT_BLT;
     4122                            pPrivateData->BaseHdr.enmCmd = VBOXVDMACMD_TYPE_DMA_PRESENT_BLT;
    40984123                            pTransfer->cDstSubRects = i;
    4099                             pPresent->pDmaBufferPrivateData = (uint8_t*)pPresent->pDmaBufferPrivateData + sizeof(VBOXWDDM_DMA_PRIVATEDATA_HDR);
     4124                            pPresent->pDmaBufferPrivateData = (uint8_t*)pPresent->pDmaBufferPrivateData + sizeof(VBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR);
    41004125                        }
    41014126                        else
     
    42274252        {
    42284253            Assert(cContexts3D);
    4229             pPrivateData->enmCmd = VBOXVDMACMD_TYPE_DMA_PRESENT_FLIP;
     4254            pPrivateData->BaseHdr.enmCmd = VBOXVDMACMD_TYPE_DMA_PRESENT_FLIP;
    42304255
    42314256            vboxWddmPopulateDmaAllocInfo(&pPrivateData->SrcAllocInfo, pSrcAlloc, pSrc);
     
    42584283        {
    42594284            UINT cbCmd = pPresent->DmaBufferPrivateDataSize;
    4260             pPrivateData->enmCmd = VBOXVDMACMD_TYPE_DMA_PRESENT_CLRFILL;
     4285            pPrivateData->BaseHdr.enmCmd = VBOXVDMACMD_TYPE_DMA_PRESENT_CLRFILL;
    42614286
    42624287            vboxWddmPopulateDmaAllocInfo(&pPrivateData->DstAllocInfo, pDstAlloc, pDst);
  • trunk/src/VBox/Additions/WINNT/Graphics/Miniport/wddm/VBoxVideoWddm.h

    r31797 r32127  
    159159} VBOXWDDM_DMA_PRIVATEDATA_FLAFS, *PVBOXWDDM_DMA_PRIVATEDATA_FLAFS;
    160160
    161 typedef struct VBOXWDDM_DMA_PRIVATEDATA_HDR
    162 {
     161typedef struct VBOXWDDM_DMA_PRIVATEDATA_BASEHDR
     162{
     163    VBOXVDMACMD_TYPE enmCmd;
     164    union
     165    {
     166        VBOXWDDM_DMA_PRIVATEDATA_FLAFS fFlags;
     167        uint32_t u32CmdReserved;
     168    };
     169}VBOXWDDM_DMA_PRIVATEDATA_BASEHDR, *PVBOXWDDM_DMA_PRIVATEDATA_BASEHDR;
     170
     171typedef struct VBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR
     172{
     173    VBOXWDDM_DMA_PRIVATEDATA_BASEHDR BaseHdr;
    163174    PVBOXWDDM_CONTEXT pContext;
    164     VBOXWDDM_DMA_PRIVATEDATA_FLAFS fFlags;
    165     VBOXVDMACMD_TYPE enmCmd;
    166175    VBOXWDDM_DMA_ALLOCINFO SrcAllocInfo;
    167176    VBOXWDDM_DMA_ALLOCINFO DstAllocInfo;
    168 }VBOXWDDM_DMA_PRIVATEDATA_HDR, *PVBOXWDDM_DMA_PRIVATEDATA_HDR;
     177}VBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR, *PVBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR;
    169178
    170179#ifdef VBOXWDDM_RENDER_FROM_SHADOW
     
    172181typedef struct VBOXWDDM_DMA_PRESENT_RENDER_FROM_SHADOW
    173182{
    174     VBOXWDDM_DMA_PRIVATEDATA_HDR Hdr;
     183    VBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR Hdr;
    175184    RECT rect;
    176185} VBOXWDDM_DMA_PRESENT_RENDER_FROM_SHADOW, *PVBOXWDDM_DMA_PRESENT_RENDER_FROM_SHADOW;
     
    180189typedef struct VBOXWDDM_DMA_PRESENT_BLT
    181190{
    182     VBOXWDDM_DMA_PRIVATEDATA_HDR Hdr;
     191    VBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR Hdr;
    183192    RECT SrcRect;
    184193    VBOXVDMAPIPE_RECTS DstRects;
     
    187196typedef struct VBOXVDMACMD_DMA_PRESENT_FLIP
    188197{
    189     VBOXWDDM_DMA_PRIVATEDATA_HDR Hdr;
     198    VBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR Hdr;
    190199} VBOXVDMACMD_DMA_PRESENT_FLIP, *PVBOXVDMACMD_DMA_PRESENT_FLIP;
    191200
    192201typedef struct VBOXWDDM_DMA_PRESENT_CLRFILL
    193202{
    194     VBOXWDDM_DMA_PRIVATEDATA_HDR Hdr;
     203    VBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR Hdr;
    195204    UINT Color;
    196205    VBOXWDDM_RECTS_INFO Rects;
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