Changeset 41475 in vbox
- Timestamp:
- May 29, 2012 10:14:42 AM (13 years ago)
- svn:sync-xref-src-repo-rev:
- 78225
- 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
r41471 r41475 1085 1085 if (!pDevice->aSamplerTextures[i]) continue; 1086 1086 vboxWddmDalCheckAddRc(pDevice, pDevice->aSamplerTextures[i], FALSE); 1087 ++iSampler; \ 1088 } \ 1089 1087 ++iSampler; 1088 } 1090 1089 } 1091 1090 -
trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm/VBoxDispDbg.cpp
r41472 r41475 50 50 #include <iprt/assert.h> 51 51 52 static void vboxDispLogDbgFormatStringV(char * szBuffer, uint32_t cbBuffer, const char * szString, va_list pArgList) 53 { 54 uint32_t cbWritten = sprintf(szBuffer, "[0x%x.0x%x] Disp: ", GetCurrentProcessId(), GetCurrentThreadId()); 55 if (cbWritten > cbBuffer) 56 { 57 AssertReleaseFailed(); 58 return; 59 } 60 61 _vsnprintf(szBuffer + cbWritten, cbBuffer - cbWritten, szString, pArgList); 62 } 63 52 64 #ifdef VBOXWDDMDISP_DEBUG 53 65 #define VBOXWDDMDISP_DEBUG_DUMP_DEFAULT 0 … … 94 106 DWORD g_VBoxVDbgCfgCreateSwapchainOnDdiOnce = 0; 95 107 96 static void vboxDispLogDbgFormatStringV(char * szBuffer, uint32_t cbBuffer, const char * szString, va_list pArgList)97 {98 uint32_t cbWritten = sprintf(szBuffer, "[0x%x.0x%x] Disp: ", GetCurrentProcessId(), GetCurrentThreadId());99 if (cbWritten > cbBuffer)100 {101 AssertReleaseFailed();102 return;103 }104 105 _vsnprintf(szBuffer + cbWritten, cbBuffer - cbWritten, szString, pArgList);106 }107 108 108 void vboxDispLogDbgPrintF(char * szString, ...) 109 109 { … … 174 174 DWORD fFlags = pInfo->fFlags; 175 175 176 if (!VBOXVDBG_DUMP_TYPE_ENABLED (fFlags))176 if (!VBOXVDBG_DUMP_TYPE_ENABLED_FOR_INFO(pInfo, fFlags)) 177 177 return; 178 178 … … 380 380 } 381 381 382 VOID vboxVDbgDoDumpSamplers(const char * pPrefix, PVBOXWDDMDISP_DEVICE pDevice, const char * pSuffix, DWORD fFlags) 383 { 384 for (UINT i = 0, iSampler = 0; iSampler < pDevice->cSamplerTextures; ++i) 385 { 386 Assert(i < RT_ELEMENTS(pDevice->aSamplerTextures)); 387 if (!pDevice->aSamplerTextures[i]) continue; 388 PVBOXWDDMDISP_RESOURCE pRc = pDevice->aSamplerTextures[i]; 389 for (UINT j = 0; j < pRc->cAllocations; ++j) 390 { 391 PVBOXWDDMDISP_ALLOCATION pAlloc = &pRc->aAllocations[j]; 392 vboxVDbgDoDumpRcRect(pPrefix, pAlloc, NULL, NULL, pSuffix, fFlags); 393 } 394 ++iSampler; 395 } 396 } 397 382 398 static DECLCALLBACK(void) vboxVDbgLockUnlockSurfTexContentsDumperCb(PVBOXVDBG_DUMP_INFO pInfo, BOOLEAN fBreak, void *pvDumper) 383 399 { -
trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm/VBoxDispDbg.h
r41472 r41475 209 209 typedef struct VBOXWDDMDISP_RESOURCE *PVBOXWDDMDISP_RESOURCE; 210 210 211 /* functions all dump finally comes to */212 211 #define VBOXVDBG_DUMP_TYPEF_FLOW 0x00000001 213 212 #define VBOXVDBG_DUMP_TYPEF_CONTENTS 0x00000002 214 213 #define VBOXVDBG_DUMP_TYPEF_DONT_BREAK_ON_CONTENTS 0x00000004 215 214 #define VBOXVDBG_DUMP_TYPEF_BREAK_ON_FLOW 0x00000008 215 #define VBOXVDBG_DUMP_TYPEF_SHARED_ONLY 0x00000010 216 216 217 217 #define VBOXVDBG_DUMP_FLAGS_IS_SETANY(_fFlags, _Value) (((_fFlags) & (_Value)) != 0) … … 222 222 223 223 #define VBOXVDBG_DUMP_TYPE_ENABLED(_fFlags) (VBOXVDBG_DUMP_FLAGS_IS_SETANY(_fFlags, VBOXVDBG_DUMP_TYPEF_FLOW | VBOXVDBG_DUMP_TYPEF_CONTENTS)) 224 #define VBOXVDBG_DUMP_TYPE_ENABLED_FOR_INFO(_pInfo, _fFlags) ( \ 225 VBOXVDBG_DUMP_TYPE_ENABLED(_fFlags) \ 226 && ( \ 227 !(_pInfo)->pAlloc \ 228 || (_pInfo)->pAlloc->pRc->aAllocations[0].hSharedHandle \ 229 || VBOXVDBG_DUMP_FLAGS_IS_CLEARED(_fFlags, VBOXVDBG_DUMP_TYPEF_SHARED_ONLY) \ 230 )) 231 224 232 #define VBOXVDBG_DUMP_TYPE_FLOW_ONLY(_fFlags) (VBOXVDBG_DUMP_FLAGS_IS_SET(_fFlags, VBOXVDBG_DUMP_TYPEF_FLOW) \ 225 233 && VBOXVDBG_DUMP_FLAGS_IS_CLEARED(_fFlags, VBOXVDBG_DUMP_TYPEF_CONTENTS)) … … 234 242 VOID vboxVDbgDoDumpRcRect(const char * pPrefix, PVBOXWDDMDISP_ALLOCATION pAlloc, IDirect3DResource9 *pD3DRc, RECT *pRect, const char * pSuffix, DWORD fFlags); 235 243 VOID vboxVDbgDoDumpLockUnlockSurfTex(const char * pPrefix, const PVBOXWDDMDISP_ALLOCATION pAlloc, const char * pSuffix, DWORD fFlags); 236 /* */237 238 244 VOID vboxVDbgDoDumpRt(const char * pPrefix, struct VBOXWDDMDISP_DEVICE *pDevice, const char * pSuffix, DWORD fFlags); 239 245 VOID vboxVDbgDoDumpBb(const char * pPrefix, IDirect3DSwapChain9 *pSwapchainIf, const char * pSuffix, DWORD fFlags); 240 246 VOID vboxVDbgDoDumpFb(const char * pPrefix, IDirect3DSwapChain9 *pSwapchainIf, const char * pSuffix, DWORD fFlags); 247 VOID vboxVDbgDoDumpSamplers(const char * pPrefix, struct VBOXWDDMDISP_DEVICE *pDevice, const char * pSuffix, DWORD fFlags); 241 248 242 249 void vboxVDbgDoPrintRect(const char * pPrefix, const RECT *pRect, const char * pSuffix); … … 376 383 { \ 377 384 vboxVDbgDoDumpRt("==>"__FUNCTION__": Rt: ", (_pDevice), "", VBOXVDBG_DUMP_FLAGS_FOR_TYPE(Flush) | VBOXVDBG_DUMP_FLAGS_FOR_TYPE(DrawPrim)); \ 385 vboxVDbgDoDumpSamplers("==>"__FUNCTION__": Sl: ", (_pDevice), "", VBOXVDBG_DUMP_FLAGS_FOR_TYPE(Flush) | VBOXVDBG_DUMP_FLAGS_FOR_TYPE(DrawPrim)); \ 378 386 }\ 379 387 } while (0) … … 387 395 vboxVDbgDoDumpRt("<=="__FUNCTION__": Rt: ", (_pDevice), "", \ 388 396 VBOXVDBG_DUMP_FLAGS_FOR_TYPE(DrawPrim) | VBOXVDBG_DUMP_FLAGS_FOR_TYPE(Shared)); \ 397 vboxVDbgDoDumpSamplers("<=="__FUNCTION__": Sl: ", (_pDevice), "", VBOXVDBG_DUMP_FLAGS_FOR_TYPE(Flush) | VBOXVDBG_DUMP_FLAGS_FOR_TYPE(DrawPrim)); \ 389 398 }\ 390 399 } while (0)
Note:
See TracChangeset
for help on using the changeset viewer.