Changeset 37840 in vbox
- Timestamp:
- Jul 8, 2011 11:53:53 AM (14 years ago)
- Location:
- trunk/src/VBox
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm/VBoxDispD3D.cpp
r37734 r37840 902 902 }VBOXWDDMDISP_NSCADD, *PVBOXWDDMDISP_NSCADD; 903 903 904 static HRESULT vboxWddmNSCAddAlloc(PVBOXWDDMDISP_NSCADD pData, PVBOXWDDMDISP_ALLOCATION pAlloc , BOOL bWrite)904 static HRESULT vboxWddmNSCAddAlloc(PVBOXWDDMDISP_NSCADD pData, PVBOXWDDMDISP_ALLOCATION pAlloc) 905 905 { 906 906 HRESULT hr = S_OK; … … 909 909 memset(pData->pAllocationList, 0, sizeof (D3DDDI_ALLOCATIONLIST)); 910 910 pData->pAllocationList[0].hAllocation = pAlloc->hAllocation; 911 if ( bWrite)911 if (pAlloc->fDirtyWrite) 912 912 pData->pAllocationList[0].WriteOperation = 1; 913 913 … … 930 930 931 931 return hr; 932 } 933 934 static BOOLEAN vboxWddmDalCheckRemove(PVBOXWDDMDISP_DEVICE pDevice, PVBOXWDDMDISP_ALLOCATION pAlloc) 935 { 936 BOOLEAN fRemoved = FALSE; 937 938 if (pAlloc->DirtyAllocListEntry.pNext) 939 { 940 RTListNodeRemove(&pAlloc->DirtyAllocListEntry); 941 pAlloc->fDirtyWrite = FALSE; 942 fRemoved = TRUE; 943 } 944 945 return fRemoved; 932 946 } 933 947 … … 959 973 } 960 974 961 EnterCriticalSection(&pDevice->DirtyAllocListLock);962 963 975 PVBOXWDDMDISP_ALLOCATION pAlloc = RTListGetFirst(&pDevice->DirtyAllocList, VBOXWDDMDISP_ALLOCATION, DirtyAllocListEntry); 964 976 if (pAlloc) 965 977 { 966 HRESULT tmpHr = vboxWddmNSCAddAlloc(&NscAdd, pAlloc , TRUE);978 HRESULT tmpHr = vboxWddmNSCAddAlloc(&NscAdd, pAlloc); 967 979 Assert(tmpHr == S_OK || tmpHr == S_FALSE); 968 980 if (tmpHr == S_OK) 969 981 { 970 RTListNodeRemove(&pAlloc->DirtyAllocListEntry); 971 LeaveCriticalSection(&pDevice->DirtyAllocListLock); 982 vboxWddmDalCheckRemove(pDevice, pAlloc); 972 983 continue; 973 984 } 974 975 LeaveCriticalSection(&pDevice->DirtyAllocListLock);976 977 985 } 978 986 else 979 987 { 980 LeaveCriticalSection(&pDevice->DirtyAllocListLock);981 988 if (!NscAdd.cAllocations) 982 989 break; … … 1016 1023 } 1017 1024 1018 static BOOLEAN vboxWddmDalCheckAdd(PVBOXWDDMDISP_DEVICE pDevice, PVBOXWDDMDISP_ALLOCATION pAlloc )1019 { 1020 if (!pAlloc-> pRc->RcDesc.fFlags.SharedResource)1025 static BOOLEAN vboxWddmDalCheckAdd(PVBOXWDDMDISP_DEVICE pDevice, PVBOXWDDMDISP_ALLOCATION pAlloc, BOOLEAN fWrite) 1026 { 1027 if (!pAlloc->hSharedHandle) /* only shared resources matter */ 1021 1028 { 1022 1029 Assert(!pAlloc->DirtyAllocListEntry.pNext); … … 1024 1031 } 1025 1032 1026 EnterCriticalSection(&pDevice->DirtyAllocListLock);1027 1033 if (!pAlloc->DirtyAllocListEntry.pNext) 1028 1034 { 1035 Assert(!pAlloc->fDirtyWrite); 1029 1036 RTListAppend(&pDevice->DirtyAllocList, &pAlloc->DirtyAllocListEntry); 1030 1037 } 1031 LeaveCriticalSection(&pDevice->DirtyAllocListLock);1038 pAlloc->fDirtyWrite |= fWrite; 1032 1039 1033 1040 return TRUE; … … 1040 1047 if (pDevice->apRTs[i]) 1041 1048 { 1042 vboxWddmDalCheckAdd(pDevice, pDevice->apRTs[i]); 1043 } 1044 } 1045 } 1046 1047 static BOOLEAN vboxWddmDalCheckRemove(PVBOXWDDMDISP_DEVICE pDevice, PVBOXWDDMDISP_ALLOCATION pAlloc) 1048 { 1049 BOOLEAN fRemoved = FALSE; 1050 1051 EnterCriticalSection(&pDevice->DirtyAllocListLock); 1052 if (pAlloc->DirtyAllocListEntry.pNext) 1053 { 1054 RTListNodeRemove(&pAlloc->DirtyAllocListEntry); 1055 fRemoved = TRUE; 1056 } 1057 LeaveCriticalSection(&pDevice->DirtyAllocListLock); 1058 1059 return fRemoved; 1049 vboxWddmDalCheckAdd(pDevice, pDevice->apRTs[i], TRUE); 1050 } 1051 } 1060 1052 } 1061 1053 … … 2364 2356 TRUE, /*bLockable*/ 2365 2357 &pD3D9NewSurf, 2366 NULL /* HANDLE* pSharedHandle */2358 pRT->pAlloc->hSharedHandle ? &pRT->pAlloc->hSharedHandle : NULL 2367 2359 ); 2368 2360 Assert(tmpHr == S_OK); … … 3479 3471 } 3480 3472 3473 vboxWddmDalCheckAddRts(pDevice); 3474 3481 3475 VBOXVDBG_DUMP_DRAWPRIM_LEAVE(pDevice9If); 3482 3476 … … 3528 3522 Assert(hr == S_OK); 3529 3523 3524 vboxWddmDalCheckAddRts(pDevice); 3525 3530 3526 VBOXVDBG_DUMP_DRAWPRIM_LEAVE(pDevice9If); 3531 3527 … … 3542 3538 VBOXDISPCRHGSMI_SCOPE_SET_DEV(pDevice); 3543 3539 Assert(0); 3540 vboxWddmDalCheckAddRts(pDevice); 3544 3541 vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice)); 3545 3542 return E_FAIL; … … 3554 3551 VBOXDISPCRHGSMI_SCOPE_SET_DEV(pDevice); 3555 3552 Assert(0); 3553 vboxWddmDalCheckAddRts(pDevice); 3556 3554 vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice)); 3557 3555 return E_FAIL; … … 3644 3642 #endif 3645 3643 3644 vboxWddmDalCheckAddRts(pDevice); 3645 3646 3646 VBOXVDBG_DUMP_DRAWPRIM_LEAVE(pDevice9If); 3647 3647 … … 3659 3659 VBOXDISPCRHGSMI_SCOPE_SET_DEV(pDevice); 3660 3660 Assert(0); 3661 vboxWddmDalCheckAddRts(pDevice); 3661 3662 vboxVDbgPrintF(("<== "__FUNCTION__", hDevice(0x%p)\n", hDevice)); 3662 3663 return E_FAIL; … … 3671 3672 VBOXDISPCRHGSMI_SCOPE_SET_DEV(pDevice); 3672 3673 Assert(0); 3674 // @todo: vboxWddmDalCheckAdd(pDevice); 3673 3675 vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice)); 3674 3676 return E_FAIL; … … 3683 3685 VBOXDISPCRHGSMI_SCOPE_SET_DEV(pDevice); 3684 3686 Assert(0); 3687 // @todo: vboxWddmDalCheckAdd(pDevice); 3685 3688 vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice)); 3686 3689 return E_FAIL; … … 3752 3755 { 3753 3756 PVBOXWDDMDISP_ALLOCATION pDAlloc = &pDstRc->aAllocations[i]; 3757 vboxWddmDalCheckAdd(pDevice, pDAlloc, TRUE); 3758 } 3759 3760 for (UINT i = 0; i < pSrcRc->cAllocations; ++i) 3761 { 3762 PVBOXWDDMDISP_ALLOCATION pDAlloc = &pSrcRc->aAllocations[i]; 3763 vboxWddmDalCheckAdd(pDevice, pDAlloc, FALSE); 3754 3764 } 3755 3765 … … 4884 4894 } 4885 4895 } 4886 else if ( pResource->Flags.Texture || pResource->Flags.Value == 0)4896 else if (VBOXWDDMDISP_IS_TEXTURE(pResource->Flags)) 4887 4897 { 4888 4898 IDirect3DDevice9 * pDevice9If = VBOXDISP_D3DEV(pDevice); 4899 4900 if (pResource->Flags.RenderTarget && !pResource->Flags.Texture) 4901 { 4902 bIssueCreateResource = true; 4903 } 4889 4904 4890 4905 if (!pResource->Flags.CubeMap) … … 5040 5055 { 5041 5056 PVBOXWDDMDISP_ALLOCATION pAllocation = &pRc->aAllocations[i]; 5057 HANDLE hSharedHandle = NULL; 5042 5058 5043 5059 IDirect3DSurface9* pD3D9Surf; … … 5049 5065 !pResource->Flags.NotLockable /* BOOL Lockable */, 5050 5066 &pD3D9Surf, 5051 NULL /* HANDLE* pSharedHandle */5067 pResource->Flags.SharedResource ? &hSharedHandle : NULL 5052 5068 ); 5053 5069 Assert(hr == S_OK); … … 5057 5073 pAllocation->enmD3DIfType = VBOXDISP_D3DIFTYPE_SURFACE; 5058 5074 pAllocation->pD3DIf = pD3D9Surf; 5075 Assert(!!(pResource->Flags.SharedResource) == !!(hSharedHandle)); 5076 pAllocation->hSharedHandle = hSharedHandle; 5059 5077 hr = vboxWddmSurfSynchMem(pRc, pAllocation); 5060 5078 Assert(hr == S_OK); … … 5338 5356 Assert(pRc->RcDesc.fFlags.RenderTarget); 5339 5357 Assert(pRc->RcDesc.fFlags.Primary); 5340 Assert(pAlloc->enmD3DIfType == VBOXDISP_D3DIFTYPE_SURFACE);5341 5358 Assert(pAlloc->hAllocation); 5342 5359 // PVBOXWDDMDISP_SCREEN pScreen = &pDevice->aScreens[pRc->RcDesc.VidPnSourceId]; … … 5350 5367 5351 5368 #if 0 5369 Assert(pAlloc->enmD3DIfType == VBOXDISP_D3DIFTYPE_SURFACE); 5352 5370 IDirect3DSurface9 *pSoD3DIfSurf = (IDirect3DSurface9*)pAlloc->pSecondaryOpenedD3DIf; 5353 5371 hr = pScreen->pDevice9If->SetRenderTarget(0, pSoD3DIfSurf); … … 5370 5388 { 5371 5389 D3DLOCKED_RECT LockRect; 5390 Assert(pAlloc->enmD3DIfType == VBOXDISP_D3DIFTYPE_SURFACE); 5372 5391 IDirect3DSurface9 *pD3DIfSurf = (IDirect3DSurface9*)pAlloc->pD3DIf; 5373 5392 hr = pD3DIfSurf->LockRect(&LockRect, NULL /* RECT*/, D3DLOCK_DISCARD); … … 5444 5463 Assert(pPrimaryScreen->pDevice9If); 5445 5464 IDirect3DSurface9 *pSecondaryRt; 5465 Assert(pAlloc->enmD3DIfType == VBOXDISP_D3DIFTYPE_SURFACE); 5446 5466 IDirect3DSurface9 *pDataRt = (IDirect3DSurface9*)pAlloc->pSecondaryOpenedD3DIf; 5447 5467 Assert(pDataRt); 5448 Assert(pAlloc->enmD3DIfType == VBOXDISP_D3DIFTYPE_SURFACE);5449 5468 hr = pDevice->pAdapter->D3D.pfnVBoxWineExD3DDev9Flush((IDirect3DDevice9Ex*)pPrimaryScreen->pDevice9If); 5450 5469 Assert(hr == S_OK); … … 5547 5566 5548 5567 vboxWddmDalNotifyChange(pDevice); 5568 5569 VBOXVDBG_DUMP_FLUSH(pDevice->pDevice9If); 5549 5570 } 5550 5571 vboxVDbgPrintF(("<== "__FUNCTION__", hDevice(0x%p), hr(0x%x)\n", hDevice, hr)); … … 5931 5952 Assert(pSrcSurfIf); 5932 5953 5933 VBOXVDBG_DUMP_BLT_ENTER(pSrc SurfIf, &pData->SrcRect, pDstSurfIf, &pData->DstRect);5954 VBOXVDBG_DUMP_BLT_ENTER(pSrcRc, pSrcSurfIf, &pData->SrcRect, pDstRc, pDstSurfIf, &pData->DstRect); 5934 5955 5935 5956 /* we support only Point & Linear, we ignore [Begin|Continue|End]PresentToDwm */ … … 5942 5963 Assert(hr == S_OK); 5943 5964 5944 VBOXVDBG_DUMP_BLT_LEAVE(pSrc SurfIf, &pData->SrcRect, pDstSurfIf, &pData->DstRect);5965 VBOXVDBG_DUMP_BLT_LEAVE(pSrcRc, pSrcSurfIf, &pData->SrcRect, pDstRc, pDstSurfIf, &pData->DstRect); 5945 5966 5946 5967 pSrcSurfIf->Release(); … … 5958 5979 5959 5980 PVBOXWDDMDISP_ALLOCATION pDAlloc = &pDstRc->aAllocations[pData->DstSubResourceIndex]; 5960 vboxWddmDalCheckAdd(pDevice, pDAlloc); 5981 vboxWddmDalCheckAdd(pDevice, pDAlloc, TRUE); 5982 pDAlloc = &pSrcRc->aAllocations[pData->SrcSubResourceIndex]; 5983 vboxWddmDalCheckAdd(pDevice, pDAlloc, FALSE); 5961 5984 5962 5985 vboxVDbgPrintF(("<== "__FUNCTION__", hDevice(0x%p), hr(0x%x)\n", hDevice, hr)); … … 5985 6008 5986 6009 pSurfIf->Release(); 6010 6011 PVBOXWDDMDISP_ALLOCATION pDAlloc = &pRc->aAllocations[pData->SubResourceIndex]; 6012 vboxWddmDalCheckAdd(pDevice, pDAlloc, TRUE); 5987 6013 } 5988 6014 vboxVDbgPrintF(("<== "__FUNCTION__", hDevice(0x%p), hr(0x%x)\n", hDevice, hr)); … … 5997 6023 VBOXDISPCRHGSMI_SCOPE_SET_DEV(pDevice); 5998 6024 Assert(0); 6025 //@todo: vboxWddmDalCheckAdd(pDevice, pDAlloc, TRUE); 5999 6026 vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice)); 6000 6027 return E_FAIL; … … 6118 6145 { 6119 6146 Assert(pRc->cAllocations == 1); 6147 Assert(pRc->aAllocations[0].enmD3DIfType == VBOXDISP_D3DIFTYPE_SURFACE); 6120 6148 pD3D9Surf = (IDirect3DSurface9*)pRc->aAllocations[0].pD3DIf; 6121 6149 Assert(pD3D9Surf); … … 6760 6788 6761 6789 Assert(pRc->RcDesc.fFlags.SharedResource); 6762 if ( pRc->RcDesc.fFlags.Texture)6790 if (VBOXWDDMDISP_IS_TEXTURE(pRc->RcDesc.fFlags)) 6763 6791 { 6764 6792 IDirect3DDevice9 * pDevice9If = VBOXDISP_D3DEV(pDevice); … … 6766 6794 HANDLE hSharedHandle = pAllocation->hSharedHandle; 6767 6795 Assert(pAllocation->hSharedHandle); 6796 #ifdef DEBUG_misha 6797 vboxVDbgPrintR(("\n\n********\nShared Resource (0x%x), (0n%d) openned\n\n\n", hSharedHandle, hSharedHandle)); 6798 #endif 6768 6799 6769 6800 if (!pRc->RcDesc.fFlags.CubeMap) … … 6912 6943 pDevice->ViewPort.MaxZ = 1.; 6913 6944 6914 InitializeCriticalSection(&pDevice->DirtyAllocListLock);6915 6945 RTListInit(&pDevice->DirtyAllocList); 6916 6946 -
trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm/VBoxDispD3D.h
r36867 r37840 31 31 #define VBOXWDDMDISP_MAX_VERTEX_STREAMS 16 32 32 #define VBOXWDDMDISP_MAX_SWAPCHAIN_SIZE 16 33 34 #define VBOXWDDMDISP_IS_TEXTURE(_f) ((_f).Texture || (_f).Value == 0) 33 35 34 36 #ifdef VBOX_WITH_VIDEOHWACCEL … … 189 191 #endif 190 192 191 CRITICAL_SECTION DirtyAllocListLock;193 /* no lock is needed for this since we're guaranteed the per-device calls are not reentrant */ 192 194 RTLISTNODE DirtyAllocList; 193 195 UINT cRTs; … … 229 231 IUnknown *pSecondaryOpenedD3DIf; 230 232 VBOXDISP_D3DIFTYPE enmD3DIfType; 233 /* list entry used to add allocation to the dirty alloc list */ 231 234 RTLISTNODE DirtyAllocListEntry; 235 BOOLEAN fDirtyWrite; 232 236 HANDLE hSharedHandle; 233 237 VBOXWDDMDISP_LOCKINFO LockInfo; -
trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm/VBoxDispDbg.cpp
r37734 r37840 55 55 DWORD g_VBoxVDbgFDumpBlt = 0; 56 56 DWORD g_VBoxVDbgFDumpRtSynch = 0; 57 57 DWORD g_VBoxVDbgFDumpFlush = 0; 58 DWORD g_VBoxVDbgFDumpShared = 0; 59 60 DWORD g_VBoxVDbgPid = 0; 58 61 typedef enum 59 62 { -
trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm/VBoxDispDbg.h
r37734 r37840 109 109 extern DWORD g_VBoxVDbgFDumpBlt; 110 110 extern DWORD g_VBoxVDbgFDumpRtSynch; 111 extern DWORD g_VBoxVDbgFDumpFlush; 112 extern DWORD g_VBoxVDbgFDumpShared; 111 113 112 114 void vboxDispLogDrvF(char * szString, ...); … … 131 133 VOID vboxVDbgDoDumpRtData(char * pPrefix, IDirect3DDevice9 *pDevice, char * pSuffix); 132 134 135 extern DWORD g_VBoxVDbgPid; 136 #define VBOXVDBG_IS_PID(_pid) ((_pid) == (g_VBoxVDbgPid ? g_VBoxVDbgPid : (g_VBoxVDbgPid = GetCurrentProcessId()))) 137 #define VBOXVDBG_IS_DUMP_ALLOWED_PID(_pid) (((int)(_pid)) > 0 ? VBOXVDBG_IS_PID(_pid) : !VBOXVDBG_IS_PID(-((int)(_pid)))) 138 139 #define VBOXVDBG_IS_DUMP_ALLOWED(_type) ( \ 140 g_VBoxVDbgFDump##_type \ 141 && (g_VBoxVDbgFDump##_type == 1 \ 142 || VBOXVDBG_IS_DUMP_ALLOWED_PID(g_VBoxVDbgFDump##_type) \ 143 ) \ 144 ) 145 146 #define VBOXVDBG_IS_DUMP_SHARED_ALLOWED(_pRc) (\ 147 (_pRc)->RcDesc.fFlags.SharedResource \ 148 && VBOXVDBG_IS_DUMP_ALLOWED(Shared) \ 149 ) 150 133 151 #define VBOXVDBG_DUMP_DRAWPRIM_ENTER(_pDevice) do { \ 134 if ( g_VBoxVDbgFDumpDrawPrim) \152 if (VBOXVDBG_IS_DUMP_ALLOWED(DrawPrim)) \ 135 153 { \ 136 154 vboxVDbgDoDumpRt("==>"__FUNCTION__": RenderTarget Dump\n", (_pDevice), "\n"); \ … … 139 157 140 158 #define VBOXVDBG_DUMP_DRAWPRIM_LEAVE(_pDevice) do { \ 141 if ( g_VBoxVDbgFDumpDrawPrim) \159 if (VBOXVDBG_IS_DUMP_ALLOWED(DrawPrim)) \ 142 160 { \ 143 161 vboxVDbgDoDumpRt("<=="__FUNCTION__": RenderTarget Dump\n", (_pDevice), "\n"); \ … … 146 164 147 165 #define VBOXVDBG_DUMP_SETTEXTURE(_pRc) do { \ 148 if (g_VBoxVDbgFDumpSetTexture) \ 166 if (VBOXVDBG_IS_DUMP_ALLOWED(SetTexture) \ 167 || VBOXVDBG_IS_DUMP_SHARED_ALLOWED(_pRc) \ 168 ) \ 149 169 { \ 150 170 vboxVDbgDoDumpRcRectByRc("== "__FUNCTION__": Texture Dump\n", _pRc, NULL, "\n"); \ … … 153 173 154 174 #define VBOXVDBG_DUMP_TEXBLT_ENTER(_pSrcRc, _pSrcRect, _pDstRc, _pDstPoint) do { \ 155 if (g_VBoxVDbgFDumpTexBlt) \ 175 if (VBOXVDBG_IS_DUMP_ALLOWED(TexBlt) \ 176 || VBOXVDBG_IS_DUMP_SHARED_ALLOWED(_pSrcRc) \ 177 || VBOXVDBG_IS_DUMP_SHARED_ALLOWED(_pDstRc) \ 178 ) \ 156 179 { \ 157 180 RECT _DstRect; \ … … 163 186 164 187 #define VBOXVDBG_DUMP_TEXBLT_LEAVE(_pSrcRc, _pSrcRect, _pDstRc, _pDstPoint) do { \ 165 if (g_VBoxVDbgFDumpTexBlt) \ 188 if (VBOXVDBG_IS_DUMP_ALLOWED(TexBlt) \ 189 || VBOXVDBG_IS_DUMP_SHARED_ALLOWED(_pSrcRc) \ 190 || VBOXVDBG_IS_DUMP_SHARED_ALLOWED(_pDstRc) \ 191 ) \ 166 192 { \ 167 193 RECT _DstRect; \ … … 172 198 } while (0) 173 199 174 #define VBOXVDBG_DUMP_BLT_ENTER(_pSrcSurf, _pSrcRect, _pDstSurf, _pDstRect) do { \ 175 if (g_VBoxVDbgFDumpBlt) \ 200 #define VBOXVDBG_DUMP_BLT_ENTER(_pSrcRc, _pSrcSurf, _pSrcRect, _pDstRc, _pDstSurf, _pDstRect) do { \ 201 if (VBOXVDBG_IS_DUMP_ALLOWED(Blt) \ 202 || VBOXVDBG_IS_DUMP_SHARED_ALLOWED(_pSrcRc) \ 203 || VBOXVDBG_IS_DUMP_SHARED_ALLOWED(_pDstRc) \ 204 ) \ 176 205 { \ 177 206 vboxVDbgDoDumpSurfRect("==>"__FUNCTION__" Src:\n", (_pSrcSurf), (_pSrcRect), "\n", true); \ … … 180 209 } while (0) 181 210 182 #define VBOXVDBG_DUMP_BLT_LEAVE(_pSrcSurf, _pSrcRect, _pDstSurf, _pDstRect) do { \ 183 if (g_VBoxVDbgFDumpBlt) \ 211 #define VBOXVDBG_DUMP_BLT_LEAVE(_pSrcRc, _pSrcSurf, _pSrcRect, _pDstRc, _pDstSurf, _pDstRect) do { \ 212 if (VBOXVDBG_IS_DUMP_ALLOWED(Blt) \ 213 || VBOXVDBG_IS_DUMP_SHARED_ALLOWED(_pSrcRc) \ 214 || VBOXVDBG_IS_DUMP_SHARED_ALLOWED(_pDstRc) \ 215 ) \ 184 216 { \ 185 217 vboxVDbgDoDumpSurfRect("<=="__FUNCTION__" Src:\n", (_pSrcSurf), (_pSrcRect), "\n", true); \ … … 189 221 190 222 #define VBOXVDBG_DUMP_SYNC_RT(_pBbSurf) do { \ 191 if ( g_VBoxVDbgFDumpRtSynch) \223 if (VBOXVDBG_IS_DUMP_ALLOWED(RtSynch)) \ 192 224 { \ 193 225 vboxVDbgDoDumpSurfRect("== "__FUNCTION__" Bb:\n", (_pBbSurf), NULL, "\n", true); \ 194 226 } \ 227 } while (0) 228 229 #define VBOXVDBG_DUMP_FLUSH(_pDevice) do { \ 230 if (VBOXVDBG_IS_DUMP_ALLOWED(Flush)) \ 231 { \ 232 vboxVDbgDoDumpRt("== "__FUNCTION__": RenderTarget Dump\n", (_pDevice), "\n"); \ 233 }\ 195 234 } while (0) 196 235 #else -
trunk/src/VBox/Additions/WINNT/Graphics/Wine/Makefile.kmk
r35341 r37840 193 193 wined3dwddm_SDKS = WINDDKWLH 194 194 wined3dwddm_SDKS.amd64 = $(NO_SUCH_VARIABLE) 195 #VBOX_WINE_WITH_IPRT is used for debugging currently to enable Assert & stuff 196 ifdef VBOX_WINE_WITH_IPRT 197 wined3dwddm_LIBS += \ 198 $(VBOX_LIB_IPRT_GUEST_R3) \ 199 $(VBOX_LIB_VBGL_R3) 200 wined3dwddm_DEFS += VBOX_WINE_WITH_IPRT 201 endif 195 202 196 203 DLLS.amd64 += wined3dwddm-x86 197 204 wined3dwddm-x86_EXTENDS = wined3dwddm 198 205 wined3dwddm-x86_BLD_TRG_ARCH = x86 199 #wined3dwddm-x86_LIBS = \ 200 $(VBOX_LIB_IPRT_GUEST_R3_X86) \ 201 $(VBOX_LIB_VBGL_R3_X86) 206 ifdef VBOX_WINE_WITH_IPRT 207 wined3dwddm-x86_LIBS = \ 208 $(VBOX_LIB_IPRT_GUEST_R3_X86) \ 209 $(VBOX_LIB_VBGL_R3_X86) 210 endif 202 211 wined3dwddm-x86_DEFS = $(wined3dwddm_DEFS) VBOX_WDDM_WOW64 203 212 endif -
trunk/src/VBox/Additions/WINNT/Graphics/Wine/wined3d/vboxsharedrc.h
r34987 r37840 35 35 #define VBOXSHRC_IS_INITIALIZED(_o) (!!(VBOXSHRC_GET_SHAREFLAFS(_o) & VBOXSHRC_F_INITIALIZED)) 36 36 37 #ifdef DEBUG_misha 38 /* just for simplicity */ 39 #ifdef RT_ARCH_X86 40 #define AssertBreakpoint() do { __asm {int 3} } while (0) 37 #ifdef VBOX_WINE_WITH_IPRT 38 # include <iprt/assert.h> 41 39 #else 42 #define AssertBreakpoint() do { /* @todo */ } while (0) 43 #endif 44 #define Assert(_expr) do { \ 45 if (!(_expr)) AssertBreakpoint(); \ 46 } while (0) 47 #else 48 #define AssertBreakpoint() do { } while (0) 49 #define Assert(_expr) do { } while (0) 40 # define AssertBreakpoint() do { } while (0) 41 # define Assert(_expr) do { } while (0) 50 42 #endif 51 43 44 52 45 #endif /* #ifndef ___vboxsharedrc_h___ */ -
trunk/src/VBox/GuestHost/OpenGL/spu_loader/glloader.py
r30974 r37840 66 66 #endif 67 67 68 #if defined(WINDOWS) && (defined(DEBUG_leo) || defined(DEBUG_ll158262) )68 #if defined(WINDOWS) && (defined(DEBUG_leo) || defined(DEBUG_ll158262) || defined(DEBUG_misha)) 69 69 # define CR_NO_GL_SYSTEM_PATH 1 70 70 #endif
Note:
See TracChangeset
for help on using the changeset viewer.