Changeset 39150 in vbox
- Timestamp:
- Oct 31, 2011 1:37:06 PM (13 years ago)
- Location:
- trunk/src/VBox/Additions/WINNT/Graphics
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/WINNT/Graphics/Video/common/VBoxVideoLog.h
r38331 r39150 67 67 } while (0) 68 68 69 #ifdef VBOX_WDDM_MINIPORT 70 # define _WARN_LOGGER LogRel 71 #else 72 # define _WARN_LOGGER Log 73 #endif 74 69 75 #define WARN_NOBP(_a) \ 70 76 do \ 71 77 { \ 72 Log((VBOX_VIDEO_LOG_PREFIX_FMT"WARNING! ", VBOX_VIDEO_LOG_PREFIX_PARMS)); \73 Log(_a); \74 Log((VBOX_VIDEO_LOG_SUFFIX_FMT VBOX_VIDEO_LOG_SUFFIX_PARMS)); \78 _WARN_LOGGER((VBOX_VIDEO_LOG_PREFIX_FMT"WARNING! ", VBOX_VIDEO_LOG_PREFIX_PARMS)); \ 79 _WARN_LOGGER(_a); \ 80 _WARN_LOGGER((VBOX_VIDEO_LOG_SUFFIX_FMT VBOX_VIDEO_LOG_SUFFIX_PARMS)); \ 75 81 } while (0) 76 82 … … 80 86 WARN_NOBP(_a); \ 81 87 BP_WARN(); \ 88 } while (0) 89 90 #define ASSERT_WARN(_a, _w) do {\ 91 if(!(_a)) { \ 92 WARN(_w); \ 93 }\ 82 94 } while (0) 83 95 -
trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm/VBoxDispD3D.cpp
r39130 r39150 3097 3097 static HRESULT vboxWddmSwapchainPresent(PVBOXWDDMDISP_DEVICE pDevice, PVBOXWDDMDISP_ALLOCATION pBbAlloc) 3098 3098 { 3099 /* we currently *assume* that presenting shared resource is only possible when 3d app is rendering with composited desktop on, 3100 * no need to do anything else since dwm will present everything for us */ 3101 if (pBbAlloc->hSharedHandle) 3102 { 3103 VBOXVDBG_ASSERT_IS_DWM(FALSE); 3104 return S_OK; 3105 } 3106 3099 3107 BOOL bNeedPresent; 3100 3108 PVBOXWDDMDISP_SWAPCHAIN pSwapchain = vboxWddmSwapchainFindCreate(pDevice, pBbAlloc, &bNeedPresent); … … 5304 5312 if (SUCCEEDED(hr)) 5305 5313 { 5306 if (pResource->Pool != D3DDDIPOOL_SYSTEMMEM) 5307 { 5308 vboxWddmMemsetRc(pRc, 0); 5309 } 5310 else 5314 if (pResource->Pool == D3DDDIPOOL_SYSTEMMEM) 5311 5315 { 5312 5316 vboxWddmSurfSynchMem(pRc); … … 5347 5351 if (SUCCEEDED(hr)) 5348 5352 { 5349 if (pResource->Pool != D3DDDIPOOL_SYSTEMMEM) 5350 { 5351 vboxWddmMemsetRc(pRc, 0); 5352 } 5353 else 5353 if (pResource->Pool == D3DDDIPOOL_SYSTEMMEM) 5354 5354 { 5355 5355 vboxWddmSurfSynchMem(pRc); … … 5392 5392 if (SUCCEEDED(hr)) 5393 5393 { 5394 if (pResource->Pool != D3DDDIPOOL_SYSTEMMEM) 5395 { 5396 vboxWddmMemsetRc(pRc, 0); 5397 } 5398 else 5394 if (pResource->Pool == D3DDDIPOOL_SYSTEMMEM) 5399 5395 { 5400 5396 vboxWddmSurfSynchMem(pRc); … … 5568 5564 if (SUCCEEDED(hr)) 5569 5565 { 5570 if (pResource->Pool != D3DDDIPOOL_SYSTEMMEM) 5571 { 5572 vboxWddmMemsetRc(pRc, 0); 5573 } 5574 else 5566 if (pResource->Pool == D3DDDIPOOL_SYSTEMMEM) 5575 5567 { 5576 5568 vboxWddmSurfSynchMem(pRc); … … 5639 5631 if (SUCCEEDED(hr)) 5640 5632 { 5641 if (pResource->Pool != D3DDDIPOOL_SYSTEMMEM) 5642 { 5643 vboxWddmMemsetRc(pRc, 0); 5644 } 5645 else 5633 if (pResource->Pool == D3DDDIPOOL_SYSTEMMEM) 5646 5634 { 5647 5635 Assert(0); … … 5955 5943 Assert(pRc->RcDesc.fFlags.Primary); 5956 5944 Assert(pAlloc->hAllocation); 5957 // PVBOXWDDMDISP_SCREEN pScreen = &pDevice->aScreens[pRc->RcDesc.VidPnSourceId];5958 // Assert(pScreen->hWnd);5959 // Assert(pScreen->pDevice9If);5960 5945 D3DDDICB_SETDISPLAYMODE DdiDm = {0}; 5961 5946 DdiDm.hPrimaryAllocation = pAlloc->hAllocation; 5962 // DdiDm.PrivateDriverFormatAttribute = 0;5963 // Assert(pScreen->pRenderTargetRc == pRc);5964 // Assert(pScreen->iRenderTargetFrontBuf == pData->SubResourceIndex);5965 5947 5966 5948 { -
trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm/VBoxDispD3D.h
r39130 r39150 164 164 VBOXWDDMDISP_RENDERTGT aRTs[VBOXWDDMDISP_MAX_SWAPCHAIN_SIZE]; 165 165 } VBOXWDDMDISP_SWAPCHAIN, *PVBOXWDDMDISP_SWAPCHAIN; 166 167 168 //typedef struct VBOXWDDMDISP_SCREEN169 //{170 // RTLISTNODE SwapchainList;171 // IDirect3DDevice9 *pDevice9If;172 //// struct VBOXWDDMDISP_RESOURCE *pDstSharedRc;173 // uint32_t iRenderTargetFrontBuf;174 // HWND hWnd;175 //} VBOXWDDMDISP_SCREEN, *PVBOXWDDMDISP_SCREEN;176 166 177 167 typedef struct VBOXWDDMDISP_DEVICE … … 205 195 /* no lock is needed for this since we're guaranteed the per-device calls are not reentrant */ 206 196 RTLISTNODE DirtyAllocList; 197 207 198 UINT cRTs; 208 199 struct VBOXWDDMDISP_ALLOCATION * apRTs[1]; -
trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm/VBoxDispDbg.h
r39130 r39150 201 201 #define VBOXVDBG_CHECK_EXE(_pszName) (vboxVDbgDoCheckExe(_pszName)) 202 202 #define VBOXVDBG_IS_DWM() (!!(g_VBoxVDbgFIsDwm >=0 ? g_VBoxVDbgFIsDwm : (g_VBoxVDbgFIsDwm = VBOXVDBG_CHECK_EXE("dwm.exe")))) 203 204 #define VBOXVDBG_ASSERT_IS_DWM(_bDwm) do { \ 205 Assert((!VBOXVDBG_IS_DWM()) == (!(_bDwm))); \ 206 } while (0) 203 207 204 208 #define VBOXVDBG_IS_DUMP_ALLOWED(_type) ( \ … … 503 507 #define VBOXVDBG_CHECK_BLT(_opBlt, _pSrcAlloc, _pSrcSurf, _pSrcRect, _pDstAlloc, _pDstSurf, _pDstRect) do { } while (0) 504 508 #define VBOXVDBG_CHECK_TEXBLT(_opTexBlt, _pSrcRc, _pSrcRect, _pDstRc, _pDstPoint) do { } while (0) 509 #define VBOXVDBG_ASSERT_IS_DWM(_bDwm) do {} while (0) 505 510 #endif 506 511 -
trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPWddm.cpp
r38982 r39150 2113 2113 else 2114 2114 Status = STATUS_INVALID_PARAMETER; 2115 /* @todo: Implement Resource Data Handling */2116 LOGREL(("WARNING: Implement Resource Data Handling"));2117 2115 } 2118 2116 … … 5124 5122 vboxWddmPopulateDmaAllocInfo(&pBlt->Blt.DstAlloc, pDstAlloc, pDst); 5125 5123 5124 ASSERT_WARN(!pSrcAlloc->fRcFlags.SharedResource, ("Shared Allocatoin used in Present!")); 5125 5126 5126 pBlt->Blt.SrcRect = pPresent->SrcRect; 5127 5127 pBlt->Blt.DstRects.ContextRect = pPresent->DstRect; -
trunk/src/VBox/Additions/WINNT/Graphics/Wine/wined3d/surface.c
r39130 r39150 4320 4320 #ifdef VBOX_WITH_WDDM 4321 4321 surface_shrc_lock(This); 4322 surface_shrc_lock(Src);4322 if (Src) surface_shrc_lock(Src); 4323 4323 #endif 4324 4324 … … 4349 4349 4350 4350 #ifdef VBOX_WITH_WDDM 4351 if ( IWineD3DSurfaceImpl_BltSys2Vram(This, DestRect, SrcSurface, SrcRect, Flags, DDBltFx, Filter) == WINED3D_OK)4351 if (SrcSurface && IWineD3DSurfaceImpl_BltSys2Vram(This, DestRect, SrcSurface, SrcRect, Flags, DDBltFx, Filter) == WINED3D_OK) 4352 4352 { 4353 4353 hr = WINED3D_OK; … … 4364 4364 #ifdef VBOX_WITH_WDDM 4365 4365 surface_shrc_unlock(This); 4366 surface_shrc_unlock(Src);4366 if (Src) surface_shrc_unlock(Src); 4367 4367 #endif 4368 4368 return hr;
Note:
See TracChangeset
for help on using the changeset viewer.