Changeset 39150 in vbox for trunk/src/VBox/Additions/WINNT/Graphics/Video/disp
- Timestamp:
- Oct 31, 2011 1:37:06 PM (13 years ago)
- Location:
- trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
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
Note:
See TracChangeset
for help on using the changeset viewer.