Changeset 30308 in vbox for trunk/src/VBox/Additions/WINNT/Graphics/Miniport
- Timestamp:
- Jun 18, 2010 12:11:00 PM (15 years ago)
- svn:sync-xref-src-repo-rev:
- 62855
- Location:
- trunk/src/VBox/Additions/WINNT/Graphics/Miniport/wddm
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/WINNT/Graphics/Miniport/wddm/VBoxVideoIf.h
r30215 r30308 26 26 /* @todo: implement a check to ensure display & miniport versions match. 27 27 * One would increase this whenever definitions in this file are changed */ 28 #define VBOXVIDEOIF_VERSION 228 #define VBOXVIDEOIF_VERSION 3 29 29 30 30 /* create allocation func */ … … 58 58 { 59 59 VBOXWDDM_ALLOC_TYPE enmType; 60 D3DDDI_RESOURCEFLAGS fFlags; 60 61 VBOXWDDM_SURFACE_DESC SurfDesc; 61 62 } VBOXWDDM_ALLOCINFO, *PVBOXWDDM_ALLOCINFO; -
trunk/src/VBox/Additions/WINNT/Graphics/Miniport/wddm/VBoxVideoVhwa.cpp
r30264 r30308 814 814 vboxVhwaCommandSubmitAsynchAndComplete(pOverlay->pDevExt, pCmd); 815 815 816 pOverlay->pCurentAlloc = pAlloc; 817 816 818 rc = VINF_SUCCESS; 817 819 } … … 947 949 { 948 950 PVBOXWDDM_ALLOCATION pCurAlloc = &pRc->aAllocations[i]; 949 rc = vboxVhwaHlpCreateSurface(pDevExt, p Alloc,951 rc = vboxVhwaHlpCreateSurface(pDevExt, pCurAlloc, 950 952 0, pRc->cAllocations - 1, VBOXVHWA_SCAPS_OVERLAY | VBOXVHWA_SCAPS_VIDEOMEMORY | VBOXVHWA_SCAPS_LOCALVIDMEM | VBOXVHWA_SCAPS_COMPLEX, 951 953 VidPnSourceId); -
trunk/src/VBox/Additions/WINNT/Graphics/Miniport/wddm/VBoxVideoWddm.cpp
r30264 r30308 1511 1511 pAllocationInfo->SupportedWriteSegmentSet = 2; 1512 1512 #endif 1513 #ifndef VBOXWDDM_RENDER_FROM_SHADOW1513 //#ifndef VBOXWDDM_RENDER_FROM_SHADOW 1514 1514 pAllocationInfo->Flags.CpuVisible = 1; 1515 #endif1515 //#endif 1516 1516 break; 1517 1517 case VBOXWDDM_ALLOC_TYPE_UMD_RC_GENERIC: 1518 Assert(pResource);1519 if (pResource)1518 // Assert(pResource); 1519 // if (pResource) 1520 1520 { 1521 Assert(pResource->cAllocations);1522 if (pResource->cAllocations)1521 // Assert(pResource->cAllocations); 1522 // if (pResource->cAllocations) 1523 1523 { 1524 1524 #ifdef VBOX_WITH_VIDEOHWACCEL 1525 if (p Resource->RcDesc.fFlags.Overlay)1525 if (pAllocInfo->fFlags.Overlay) 1526 1526 { 1527 1527 /* actually we can not "properly" issue create overlay commands to the host here … … 1536 1536 pAllocationInfo->Flags.CpuVisible = 1; 1537 1537 pAllocationInfo->Size = pAllocation->SurfDesc.cbSize; 1538 1539 pAllocationInfo->AllocationPriority = D3DDDI_ALLOCATIONPRIORITY_HIGH; 1538 1540 } 1539 1541 else … … 1542 1544 #endif 1543 1545 } 1544 else1545 Status = STATUS_INVALID_PARAMETER;1546 // else 1547 // Status = STATUS_INVALID_PARAMETER; 1546 1548 } 1547 /* do not break to set CPU visibility flag */1549 break; 1548 1550 case VBOXWDDM_ALLOC_TYPE_STD_SHADOWSURFACE: 1549 1551 case VBOXWDDM_ALLOC_TYPE_STD_STAGINGSURFACE: 1550 pAllocationInfo->Flags.Value = 0;1551 1552 pAllocationInfo->Flags.CpuVisible = 1; 1552 1553 break; … … 1558 1559 } 1559 1560 1560 if (Status != STATUS_SUCCESS) 1561 if (Status == STATUS_SUCCESS) 1562 { 1563 pAllocation->UsageHint.Version = 0; 1564 pAllocation->UsageHint.v1.Flags.Value = 0; 1565 pAllocation->UsageHint.v1.Format = pAllocInfo->SurfDesc.format; 1566 pAllocation->UsageHint.v1.SwizzledFormat = 0; 1567 pAllocation->UsageHint.v1.ByteOffset = 0; 1568 pAllocation->UsageHint.v1.Width = pAllocation->SurfDesc.width; 1569 pAllocation->UsageHint.v1.Height = pAllocation->SurfDesc.height; 1570 pAllocation->UsageHint.v1.Pitch = pAllocation->SurfDesc.pitch; 1571 pAllocation->UsageHint.v1.Depth = 0; 1572 pAllocation->UsageHint.v1.SlicePitch = 0; 1573 1574 Assert(!pAllocationInfo->pAllocationUsageHint); 1575 pAllocationInfo->pAllocationUsageHint = &pAllocation->UsageHint; 1576 } 1577 else 1561 1578 vboxWddmAllocationDeleteFromResource(pResource, pAllocation); 1562 1579 } … … 3263 3280 int rc = vboxVhwaHlpOverlayCreate(pDevExt, pCreateOverlay->VidPnSourceId, &pCreateOverlay->OverlayInfo, pOverlay); 3264 3281 AssertRC(rc); 3265 if (RT_FAILURE(rc)) 3282 if (RT_SUCCESS(rc)) 3283 { 3284 pCreateOverlay->hOverlay = pOverlay;; 3285 } 3286 else 3287 { 3288 vboxWddmMemFree(pOverlay); 3266 3289 Status = STATUS_UNSUCCESSFUL; 3290 } 3267 3291 } 3268 3292 else -
trunk/src/VBox/Additions/WINNT/Graphics/Miniport/wddm/VBoxVideoWddm.h
r30239 r30308 63 63 VBOXWDDM_SURFACE_DESC SurfDesc; 64 64 struct VBOXWDDM_RESOURCE *pResource; 65 /* to return to the Runtime on DxgkDdiCreateAllocation */ 66 DXGK_ALLOCATIONUSAGEHINT UsageHint; 65 67 uint32_t iIndex; 66 68 } VBOXWDDM_ALLOCATION, *PVBOXWDDM_ALLOCATION;
Note:
See TracChangeset
for help on using the changeset viewer.