Changeset 32127 in vbox for trunk/src/VBox/Additions/WINNT/Graphics
- Timestamp:
- Aug 31, 2010 11:16:00 AM (14 years ago)
- 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 4231 4231 { 4232 4232 VBOXWDDMDISP_NSCADD NscAdd; 4233 BOOL bReinitRenderData = TRUE; 4233 4234 4234 4235 do 4235 4236 { 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 } 4243 4248 4244 4249 EnterCriticalSection(&pDevice->DirtyAllocListLock); … … 4290 4295 pDevice->DefaultContext.ContextInfo.PatchLocationListSize = RenderData.NewPatchLocationListSize; 4291 4296 pDevice->DefaultContext.ContextInfo.pPatchLocationList = RenderData.pNewPatchLocationList; 4297 bReinitRenderData = TRUE; 4292 4298 } 4293 4299 else -
trunk/src/VBox/Additions/WINNT/Graphics/Miniport/wddm/VBoxVideoWddm.cpp
r32107 r32127 1902 1902 * we do not expect any other flags to be set here */ 1903 1903 // 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) 1910 1910 { 1911 1911 case VBOXVDMACMD_TYPE_DMA_PRESENT_SHADOW2PRIMARY: 1912 1912 case VBOXVDMACMD_TYPE_DMA_PRESENT_BLT: 1913 1913 { 1914 VBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR *pPrivateData = (VBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR*)pPrivateDataBase; 1914 1915 Assert(pPatch->PatchLocationListSubmissionLength == 2); 1915 1916 const D3DDDI_PATCHLOCATIONLIST* pPatchList = &pPatch->pPatchLocationList[pPatch->PatchLocationListSubmissionStart]; … … 1932 1933 case VBOXVDMACMD_TYPE_DMA_PRESENT_FLIP: 1933 1934 { 1935 VBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR *pPrivateData = (VBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR*)pPrivateDataBase; 1934 1936 Assert(pPatch->PatchLocationListSubmissionLength == 1); 1935 1937 const D3DDDI_PATCHLOCATIONLIST* pPatchList = &pPatch->pPatchLocationList[pPatch->PatchLocationListSubmissionStart]; … … 1944 1946 case VBOXVDMACMD_TYPE_DMA_PRESENT_CLRFILL: 1945 1947 { 1948 VBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR *pPrivateData = (VBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR*)pPrivateDataBase; 1946 1949 Assert(pPatch->PatchLocationListSubmissionLength == 1); 1947 1950 const D3DDDI_PATCHLOCATIONLIST* pPatchList = &pPatch->pPatchLocationList[pPatch->PatchLocationListSubmissionStart]; … … 1983 1986 else 1984 1987 { 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", 1986 1989 pPatch->DmaBufferPrivateDataSubmissionEndOffset, 1987 1990 pPatch->DmaBufferPrivateDataSubmissionStartOffset, 1988 sizeof (VBOXWDDM_DMA_PRIVATEDATA_ HDR)));1991 sizeof (VBOXWDDM_DMA_PRIVATEDATA_BASEHDR))); 1989 1992 return STATUS_INVALID_PARAMETER; 1990 1993 } … … 2109 2112 /* the DMA command buffer is located in system RAM, the host will need to pick it from there */ 2110 2113 //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", 2115 2118 pSubmitCommand->DmaBufferPrivateDataSubmissionEndOffset, 2116 2119 pSubmitCommand->DmaBufferPrivateDataSubmissionStartOffset, 2117 sizeof (VBOXWDDM_DMA_PRIVATEDATA_ HDR)));2120 sizeof (VBOXWDDM_DMA_PRIVATEDATA_BASEHDR))); 2118 2121 return STATUS_INVALID_PARAMETER; 2119 2122 } 2120 2123 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) 2124 2127 { 2125 2128 #ifdef VBOXWDDM_RENDER_FROM_SHADOW 2126 2129 case VBOXVDMACMD_TYPE_DMA_PRESENT_SHADOW2PRIMARY: 2127 2130 { 2131 VBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR *pPrivateData = (VBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR*)pPrivateDataBase; 2128 2132 VBOXWDDM_SOURCE *pSource = &pDevExt->aSources[pPrivateData->SrcAllocInfo.srcId]; 2129 2133 vboxWddmCheckUpdateShadowAddress(pDevExt, pSource, pPrivateData->SrcAllocInfo.segmentIdAlloc, pPrivateData->SrcAllocInfo.offAlloc); … … 2145 2149 case VBOXVDMACMD_TYPE_DMA_PRESENT_BLT: 2146 2150 { 2151 VBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR *pPrivateData = (VBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR*)pPrivateDataBase; 2147 2152 PVBOXWDDM_CONTEXT pContext = (PVBOXWDDM_CONTEXT)pSubmitCommand->hContext; 2148 2153 Assert(pContext); … … 2234 2239 case VBOXVDMACMD_TYPE_DMA_PRESENT_FLIP: 2235 2240 { 2241 VBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR *pPrivateData = (VBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR*)pPrivateDataBase; 2236 2242 PVBOXWDDM_CONTEXT pContext = (PVBOXWDDM_CONTEXT)pSubmitCommand->hContext; 2237 2243 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])); … … 2262 2268 case VBOXVDMACMD_TYPE_DMA_PRESENT_CLRFILL: 2263 2269 { 2270 VBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR *pPrivateData = (VBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR*)pPrivateDataBase; 2264 2271 PVBOXWDDM_DMA_PRESENT_CLRFILL pCF = (PVBOXWDDM_DMA_PRESENT_CLRFILL)pPrivateData; 2265 2272 PVBOXWDDM_CONTEXT pContext = (PVBOXWDDM_CONTEXT)pSubmitCommand->hContext; … … 2323 2330 { 2324 2331 AssertBreakpoint(); 2332 VBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR *pPrivateData = (VBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR*)pPrivateDataBase; 2325 2333 PVBOXVDMACBUF_DR pDr = vboxVdmaCBufDrCreate (&pDevExt->u.primary.Vdma, 0); 2326 2334 if (!pDr) … … 3787 3795 DXGKARG_RENDER *pRender) 3788 3796 { 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); 3791 3813 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; 3798 3823 } 3799 3824 … … 3891 3916 PDEVICE_EXTENSION pDevExt = pDevice->pAdapter; 3892 3917 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))); 3897 3922 /* @todo: can this actually happen? what status tu return? */ 3898 3923 return STATUS_INVALID_PARAMETER; 3899 3924 } 3900 3925 3901 PVBOXWDDM_DMA_PRIVATEDATA_ HDR pPrivateData = (PVBOXWDDM_DMA_PRIVATEDATA_HDR)pPresent->pDmaBufferPrivateData;3926 PVBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR pPrivateData = (PVBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR)pPresent->pDmaBufferPrivateData; 3902 3927 pPrivateData->pContext = pContext; 3903 pPrivateData-> fFlags.Value = 0;3928 pPrivateData->BaseHdr.fFlags.Value = 0; 3904 3929 uint32_t cContexts3D = ASMAtomicReadU32(&pDevExt->cContexts3D); 3905 3930 #define VBOXWDDM_DUMMY_DMABUFFER_SIZE sizeof(RECT) … … 3981 4006 3982 4007 /* 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; 3984 4009 vboxWddmPopulateDmaAllocInfo(&pPrivateData->SrcAllocInfo, pSrcAlloc, pSrc); 3985 4010 // no need to fill dst surf info here … … 4002 4027 #endif 4003 4028 UINT cbCmd = pPresent->DmaBufferPrivateDataSize; 4004 pPrivateData-> enmCmd = VBOXVDMACMD_TYPE_DMA_PRESENT_BLT;4029 pPrivateData->BaseHdr.enmCmd = VBOXVDMACMD_TYPE_DMA_PRESENT_BLT; 4005 4030 4006 4031 vboxWddmPopulateDmaAllocInfo(&pPrivateData->SrcAllocInfo, pSrcAlloc, pSrc); … … 4095 4120 } 4096 4121 Assert(i); 4097 pPrivateData-> enmCmd = VBOXVDMACMD_TYPE_DMA_PRESENT_BLT;4122 pPrivateData->BaseHdr.enmCmd = VBOXVDMACMD_TYPE_DMA_PRESENT_BLT; 4098 4123 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); 4100 4125 } 4101 4126 else … … 4227 4252 { 4228 4253 Assert(cContexts3D); 4229 pPrivateData-> enmCmd = VBOXVDMACMD_TYPE_DMA_PRESENT_FLIP;4254 pPrivateData->BaseHdr.enmCmd = VBOXVDMACMD_TYPE_DMA_PRESENT_FLIP; 4230 4255 4231 4256 vboxWddmPopulateDmaAllocInfo(&pPrivateData->SrcAllocInfo, pSrcAlloc, pSrc); … … 4258 4283 { 4259 4284 UINT cbCmd = pPresent->DmaBufferPrivateDataSize; 4260 pPrivateData-> enmCmd = VBOXVDMACMD_TYPE_DMA_PRESENT_CLRFILL;4285 pPrivateData->BaseHdr.enmCmd = VBOXVDMACMD_TYPE_DMA_PRESENT_CLRFILL; 4261 4286 4262 4287 vboxWddmPopulateDmaAllocInfo(&pPrivateData->DstAllocInfo, pDstAlloc, pDst); -
trunk/src/VBox/Additions/WINNT/Graphics/Miniport/wddm/VBoxVideoWddm.h
r31797 r32127 159 159 } VBOXWDDM_DMA_PRIVATEDATA_FLAFS, *PVBOXWDDM_DMA_PRIVATEDATA_FLAFS; 160 160 161 typedef struct VBOXWDDM_DMA_PRIVATEDATA_HDR 162 { 161 typedef 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 171 typedef struct VBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR 172 { 173 VBOXWDDM_DMA_PRIVATEDATA_BASEHDR BaseHdr; 163 174 PVBOXWDDM_CONTEXT pContext; 164 VBOXWDDM_DMA_PRIVATEDATA_FLAFS fFlags;165 VBOXVDMACMD_TYPE enmCmd;166 175 VBOXWDDM_DMA_ALLOCINFO SrcAllocInfo; 167 176 VBOXWDDM_DMA_ALLOCINFO DstAllocInfo; 168 }VBOXWDDM_DMA_PRIVATEDATA_ HDR, *PVBOXWDDM_DMA_PRIVATEDATA_HDR;177 }VBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR, *PVBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR; 169 178 170 179 #ifdef VBOXWDDM_RENDER_FROM_SHADOW … … 172 181 typedef struct VBOXWDDM_DMA_PRESENT_RENDER_FROM_SHADOW 173 182 { 174 VBOXWDDM_DMA_PRIVATEDATA_ HDR Hdr;183 VBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR Hdr; 175 184 RECT rect; 176 185 } VBOXWDDM_DMA_PRESENT_RENDER_FROM_SHADOW, *PVBOXWDDM_DMA_PRESENT_RENDER_FROM_SHADOW; … … 180 189 typedef struct VBOXWDDM_DMA_PRESENT_BLT 181 190 { 182 VBOXWDDM_DMA_PRIVATEDATA_ HDR Hdr;191 VBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR Hdr; 183 192 RECT SrcRect; 184 193 VBOXVDMAPIPE_RECTS DstRects; … … 187 196 typedef struct VBOXVDMACMD_DMA_PRESENT_FLIP 188 197 { 189 VBOXWDDM_DMA_PRIVATEDATA_ HDR Hdr;198 VBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR Hdr; 190 199 } VBOXVDMACMD_DMA_PRESENT_FLIP, *PVBOXVDMACMD_DMA_PRESENT_FLIP; 191 200 192 201 typedef struct VBOXWDDM_DMA_PRESENT_CLRFILL 193 202 { 194 VBOXWDDM_DMA_PRIVATEDATA_ HDR Hdr;203 VBOXWDDM_DMA_PRIVATEDATA_PRESENTHDR Hdr; 195 204 UINT Color; 196 205 VBOXWDDM_RECTS_INFO Rects;
Note:
See TracChangeset
for help on using the changeset viewer.