Changeset 46966 in vbox for trunk/src/VBox/Additions/WINNT/Graphics/Video/mp
- Timestamp:
- Jul 4, 2013 6:08:11 AM (12 years ago)
- svn:sync-xref-src-repo-rev:
- 86974
- Location:
- trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPMisc.cpp
r46876 r46966 394 394 NTSTATUS vboxWddmSwapchainCtxEscape(PVBOXMP_DEVEXT pDevExt, PVBOXWDDM_CONTEXT pContext, PVBOXDISPIFESCAPE_SWAPCHAININFO pSwapchainInfo, UINT cbSize) 395 395 { 396 Assert((cbSize >= RT_OFFSETOF(VBOXDISPIFESCAPE_SWAPCHAININFO, SwapchainInfo.ahAllocs[0])));397 396 if (cbSize < RT_OFFSETOF(VBOXDISPIFESCAPE_SWAPCHAININFO, SwapchainInfo.ahAllocs[0])) 397 { 398 WARN(("invalid cbSize1 %d", cbSize)); 398 399 return STATUS_INVALID_PARAMETER; 399 Assert(cbSize >= RT_OFFSETOF(VBOXDISPIFESCAPE_SWAPCHAININFO, SwapchainInfo.ahAllocs[pSwapchainInfo->SwapchainInfo.cAllocs])); 400 } 401 400 402 if (cbSize < RT_OFFSETOF(VBOXDISPIFESCAPE_SWAPCHAININFO, SwapchainInfo.ahAllocs[pSwapchainInfo->SwapchainInfo.cAllocs])) 403 { 401 404 return STATUS_INVALID_PARAMETER; 405 WARN(("invalid cbSize2 %d", cbSize)); 406 } 402 407 403 408 if (!pSwapchainInfo->SwapchainInfo.winHostID) 404 409 { 405 410 WARN(("Zero winHostID specified!")); 411 return STATUS_INVALID_PARAMETER; 412 } 413 414 if (!pContext) 415 { 416 WARN(("vboxWddmSwapchainCtxEscape: no context specified")); 406 417 return STATUS_INVALID_PARAMETER; 407 418 } -
trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPTypes.h
r46757 r46966 228 228 VBOXDISP_UMHANDLE hSwapchainUm; 229 229 VBOXDISP_KMHANDLE hSwapchainKm; 230 UINTwinHostID;230 int32_t winHostID; 231 231 BOOLEAN fExposed; 232 232 POINT Pos; … … 244 244 UINT EngineAffinity; 245 245 BOOLEAN fRenderFromShadowDisabled; 246 int32_t hostID; 246 247 uint32_t u32CrConClientID; 247 248 VBOXMP_CRPACKER CrPacker; -
trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPWddm.cpp
r46885 r46966 4110 4110 break; 4111 4111 } 4112 case VBOXESC_SETCTXHOSTID: 4113 { 4114 /* set swapchain information */ 4115 PVBOXWDDM_CONTEXT pContext = (PVBOXWDDM_CONTEXT)pEscape->hContext; 4116 if (!pContext) 4117 { 4118 WARN(("VBOXESC_SETCTXHOSTID: no context specified")); 4119 Status = STATUS_INVALID_PARAMETER; 4120 break; 4121 } 4122 4123 if (pEscape->PrivateDriverDataSize != sizeof (VBOXDISPIFESCAPE)) 4124 { 4125 WARN(("VBOXESC_SETCTXHOSTID: invalid data size %d", pEscape->PrivateDriverDataSize)); 4126 Status = STATUS_INVALID_PARAMETER; 4127 break; 4128 } 4129 4130 int32_t hostID = (int32_t)pEscapeHdr->u32CmdSpecific; 4131 if (hostID <= 0) 4132 { 4133 WARN(("VBOXESC_SETCTXHOSTID: invalid hostID %d", hostID)); 4134 Status = STATUS_INVALID_PARAMETER; 4135 break; 4136 } 4137 4138 if (pContext->hostID) 4139 { 4140 WARN(("VBOXESC_SETCTXHOSTID: context already has hostID specified")); 4141 Status = STATUS_INVALID_PARAMETER; 4142 break; 4143 } 4144 4145 pContext->hostID = hostID; 4146 Status = STATUS_SUCCESS; 4147 break; 4148 } 4112 4149 case VBOXESC_SWAPCHAININFO: 4113 4150 {
Note:
See TracChangeset
for help on using the changeset viewer.