Changeset 47566 in vbox for trunk/src/VBox/Additions/WINNT
- Timestamp:
- Aug 6, 2013 10:20:23 PM (12 years ago)
- svn:sync-xref-src-repo-rev:
- 87766
- Location:
- trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPCr.cpp
r47070 r47566 893 893 } 894 894 895 #if 1 //ndef DEBUG_misha895 #ifndef DEBUG_misha 896 896 /* zero it up temporary to avoid new code activation */ 897 897 g_VBoxMpCrHostCaps = 0; -
trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPMisc.cpp
r47059 r47566 242 242 } 243 243 244 PVBOXWDDM_SWAPCHAIN vboxWddmSwapchainRetainByAlloc(PVBOXMP_DEVEXT pDevExt, PVBOXWDDM_ALLOCATIONpAlloc)244 PVBOXWDDM_SWAPCHAIN vboxWddmSwapchainRetainByAlloc(PVBOXMP_DEVEXT pDevExt, const VBOXWDDM_ALLOCATION *pAlloc) 245 245 { 246 246 return vboxWddmSwapchainRetainByAllocData(pDevExt, &pAlloc->AllocData); -
trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPMisc.h
r47059 r47566 74 74 BOOLEAN vboxWddmSwapchainRetain(PVBOXMP_DEVEXT pDevExt, PVBOXWDDM_SWAPCHAIN pSwapchain); 75 75 VOID vboxWddmSwapchainRelease(PVBOXWDDM_SWAPCHAIN pSwapchain); 76 PVBOXWDDM_SWAPCHAIN vboxWddmSwapchainRetainByAlloc(PVBOXMP_DEVEXT pDevExt, PVBOXWDDM_ALLOCATIONpAlloc);76 PVBOXWDDM_SWAPCHAIN vboxWddmSwapchainRetainByAlloc(PVBOXMP_DEVEXT pDevExt, const VBOXWDDM_ALLOCATION *pAlloc); 77 77 PVBOXWDDM_SWAPCHAIN vboxWddmSwapchainRetainByAllocData(PVBOXMP_DEVEXT pDevExt, const struct VBOXWDDM_ALLOC_DATA *pAllocData); 78 78 VOID vboxWddmSwapchainAllocRemove(PVBOXMP_DEVEXT pDevExt, PVBOXWDDM_SWAPCHAIN pSwapchain, PVBOXWDDM_ALLOCATION pAlloc); -
trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPVdma.cpp
r47151 r47566 992 992 VBOXMP_CRPACKER *pCrPacker, 993 993 uint32_t u32CrConClientID, 994 const VBOXWDDM_ALLOC _DATA *pSrcAllocData,995 const VBOXWDDM_ALLOC _DATA *pDstAllocData,994 const VBOXWDDM_ALLOCATION *pSrcAlloc, 995 const VBOXWDDM_ALLOCATION *pDstAlloc, 996 996 const RECT *pSrcRect, const VBOXVDMAPIPE_RECTS *pDstRects) 997 997 { 998 D3DDDI_VIDEO_PRESENT_SOURCE_ID srcId = pDstAlloc Data->SurfDesc.VidPnSourceId;998 D3DDDI_VIDEO_PRESENT_SOURCE_ID srcId = pDstAlloc->AllocData.SurfDesc.VidPnSourceId; 999 999 VBOXWDDM_SOURCE *pSource = &pDevExt->aSources[srcId]; 1000 1000 NTSTATUS Status = STATUS_SUCCESS; … … 1003 1003 { 1004 1004 /* we care only about screen regions */ 1005 if (pDstAlloc Data != &pSource->pPrimaryAllocation->AllocData)1005 if (pDstAlloc != pSource->pPrimaryAllocation) 1006 1006 { 1007 1007 WARN(("non-primary allocation passed to vboxWddmSubmitBltCmd!")); … … 1009 1009 } 1010 1010 1011 uint32_t hostID = pSrcAlloc Data->hostID;1011 uint32_t hostID = pSrcAlloc->AllocData.hostID; 1012 1012 int rc; 1013 1013 if (hostID) … … 1029 1029 WARN(("vboxVdmaTexPresentSubmit failed Status 0x%x", Status)); 1030 1030 } 1031 else if ( &pSource->pPrimaryAllocation->AllocData == pDstAllocData)1031 else if (pSource->pPrimaryAllocation == pDstAlloc) 1032 1032 { 1033 1033 bool fChanged = false; … … 1049 1049 if (Rect.xLeft == 0 1050 1050 && Rect.yTop == 0 1051 && Rect.xRight == pDstAlloc Data->SurfDesc.width1052 && Rect.yBottom == pDstAlloc Data->SurfDesc.height)1051 && Rect.xRight == pDstAlloc->AllocData.SurfDesc.width 1052 && Rect.yBottom == pDstAlloc->AllocData.SurfDesc.height) 1053 1053 { 1054 1054 pSource->fHas3DVrs = FALSE; … … 1072 1072 else 1073 1073 { 1074 PVBOXWDDM_SWAPCHAIN pSwapchain = vboxWddmSwapchainRetainByAlloc Data(pDevExt, pSrcAllocData);1074 PVBOXWDDM_SWAPCHAIN pSwapchain = vboxWddmSwapchainRetainByAlloc(pDevExt, pSrcAlloc); 1075 1075 1076 1076 if (pSwapchain) 1077 1077 { 1078 Assert(pSrcAlloc Data->SurfDesc.width == pSwapchain->width);1079 Assert(pSrcAlloc Data->SurfDesc.height == pSwapchain->height);1078 Assert(pSrcAlloc->AllocData.SurfDesc.width == pSwapchain->width); 1079 Assert(pSrcAlloc->AllocData.SurfDesc.height == pSwapchain->height); 1080 1080 } 1081 1081 … … 1091 1091 } 1092 1092 1093 NTSTATUS vboxVdmaTexPresentSetAlloc(PVBOXMP_DEVEXT pDevExt, const VBOXWDDM_ALLOC_DATA *pAllocData)1093 NTSTATUS vboxVdmaTexPresentSetAlloc(PVBOXMP_DEVEXT pDevExt, PVBOXWDDM_ALLOCATION pRealFbAlloc) 1094 1094 { 1095 1095 VBOXMP_CRPACKER CrPacker; … … 1107 1107 Rect.left = 0; 1108 1108 Rect.top = 0; 1109 Rect.right = p AllocData->SurfDesc.width;1110 Rect.bottom = p AllocData->SurfDesc.height;1109 Rect.right = pRealFbAlloc->AllocData.SurfDesc.width; 1110 Rect.bottom = pRealFbAlloc->AllocData.SurfDesc.height; 1111 1111 1112 1112 VBOXVDMAPIPE_RECTS RectInfo; … … 1116 1116 1117 1117 return vboxVdmaProcessVReg(pDevExt, &CrPacker, u32CrConClientID, 1118 p AllocData, pAllocData,1118 pRealFbAlloc, pRealFbAlloc, 1119 1119 &Rect, &RectInfo); 1120 1120 } … … 1126 1126 { 1127 1127 return vboxVdmaProcessVReg(pDevExt, &pContext->CrPacker, pContext->u32CrConClientID, 1128 &pSrcAllocInfo->pAlloc->AllocData, &pDstAllocInfo->pAlloc->AllocData,1128 pSrcAllocInfo->pAlloc, pDstAllocInfo->pAlloc, 1129 1129 pSrcRect, pDstRects); 1130 1130 } -
trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPVdma.h
r47063 r47566 334 334 NTSTATUS vboxVdmaProcessClrFillCmd(PVBOXMP_DEVEXT pDevExt, struct VBOXWDDM_CONTEXT *pContext, struct VBOXWDDM_DMA_PRIVATEDATA_CLRFILL *pCF); 335 335 336 NTSTATUS vboxVdmaTexPresentSetAlloc(PVBOXMP_DEVEXT pDevExt, const VBOXWDDM_ALLOC_DATA *pAllocData);336 NTSTATUS vboxVdmaTexPresentSetAlloc(PVBOXMP_DEVEXT pDevExt, PVBOXWDDM_ALLOCATION pRealFbAlloc); 337 337 338 338 #endif /* #ifndef ___VBoxMPVdma_h___ */ -
trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPWddm.cpp
r47151 r47566 270 270 } 271 271 272 NTSTATUS vboxWddmGhDisplaySetInfo(PVBOXMP_DEVEXT pDevExt, const VBOXWDDM_ALLOC_DATA *pAllocData, const POINT * pVScreenPos)272 NTSTATUS vboxWddmGhDisplaySetInfo(PVBOXMP_DEVEXT pDevExt, PVBOXWDDM_ALLOCATION pRealFbAlloc, const VBOXWDDM_ALLOC_DATA *pAllocData, const POINT * pVScreenPos) 273 273 { 274 274 NTSTATUS Status = vboxWddmGhDisplaySetMode(pDevExt, pAllocData); … … 283 283 if (pDevExt->f3DEnabled) 284 284 { 285 Status = vboxVdmaTexPresentSetAlloc(pDevExt, p AllocData);285 Status = vboxVdmaTexPresentSetAlloc(pDevExt, pRealFbAlloc); 286 286 if (NT_SUCCESS(Status)) 287 287 return STATUS_SUCCESS; … … 311 311 char fGhSynced = 1; 312 312 PVBOXWDDM_ALLOCATION pFbAlloc = VBOXWDDM_FB_ALLOCATION(pDevExt, pSource); 313 PVBOXWDDM_ALLOCATION pRealFbAlloc = pSource->pPrimaryAllocation; 313 314 #ifdef VBOXWDDM_RENDER_FROM_SHADOW 314 315 # ifdef VBOX_WDDM_WIN8 … … 339 340 Assert(!pFbAlloc || pFbAlloc->AllocData.Addr.SegmentId == pSource->AllocData.Addr.SegmentId); 340 341 341 NTSTATUS Status = vboxWddmGhDisplaySetInfo(pDevExt, p FbAlloc ? &pFbAlloc->AllocData : &pSource->AllocData, &pSource->VScreenPos);342 NTSTATUS Status = vboxWddmGhDisplaySetInfo(pDevExt, pRealFbAlloc, pFbAlloc ? &pFbAlloc->AllocData : &pSource->AllocData, &pSource->VScreenPos); 342 343 if (NT_SUCCESS(Status)) 343 344 pSource->fGhSynced = fGhSynced; … … 1428 1429 uint32_t flags = VBoxCommonFromDeviceExt(pDevExt)->hostCtx.pfHostFlags->u32HostFlags; 1429 1430 bOur = (flags & HGSMIHOSTFLAGS_IRQ); 1431 1432 if (bOur) 1433 VBoxHGSMIClearIrq(&VBoxCommonFromDeviceExt(pDevExt)->hostCtx); 1434 1430 1435 do 1431 1436 { … … 1559 1564 } 1560 1565 1561 VBoxHGSMIClearIrq(&VBoxCommonFromDeviceExt(pDevExt)->hostCtx);1562 1566 #if 0 //def DEBUG_misha 1563 1567 /* this is not entirely correct since host may concurrently complete some commands and raise a new IRQ while we are here,
Note:
See TracChangeset
for help on using the changeset viewer.