Changeset 94990 in vbox for trunk/src/VBox/Additions/WINNT/Graphics
- Timestamp:
- May 12, 2022 12:07:56 PM (3 years ago)
- Location:
- trunk/src/VBox/Additions/WINNT/Graphics/Video
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/WINNT/Graphics/Video/common/wddm/VBoxMPIf.h
r94825 r94990 86 86 VBOXDXALLOCATIONTYPE_SURFACE = 1, 87 87 VBOXDXALLOCATIONTYPE_SHADERS = 2, 88 VBOXDXALLOCATIONTYPE_CO = 3, 88 89 VBOXDXALLOCATIONTYPE_MAX, 89 90 VBOXDXALLOCATIONTYPE_32BIT = 0xFFFFFFFF -
trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/gallium/VBoxMPDX.cpp
r94975 r94990 349 349 if (pAllocation->dx.desc.enmAllocationType == VBOXDXALLOCATIONTYPE_SURFACE) 350 350 Status = svgaCreateAllocationSurface(pDevExt, pAllocation, pAllocationInfo); 351 else if (pAllocation->dx.desc.enmAllocationType == VBOXDXALLOCATIONTYPE_SHADERS) 351 else if ( pAllocation->dx.desc.enmAllocationType == VBOXDXALLOCATIONTYPE_SHADERS 352 || pAllocation->dx.desc.enmAllocationType == VBOXDXALLOCATIONTYPE_CO) 352 353 Status = svgaCreateAllocationShaders(pAllocation, pAllocationInfo); 353 354 else … … 373 374 if (pAllocation->dx.desc.enmAllocationType == VBOXDXALLOCATIONTYPE_SURFACE) 374 375 Status = svgaDestroyAllocationSurface(pDevExt->pGa->hw.pSvga, pAllocation); 375 else if (pAllocation->dx.desc.enmAllocationType == VBOXDXALLOCATIONTYPE_SHADERS) 376 else if ( pAllocation->dx.desc.enmAllocationType == VBOXDXALLOCATIONTYPE_SHADERS 377 || pAllocation->dx.desc.enmAllocationType == VBOXDXALLOCATIONTYPE_CO) 376 378 Status = svgaDestroyAllocationShaders(pDevExt->pGa->hw.pSvga, pAllocation); 377 379 else … … 462 464 } 463 465 } 464 else if (enmAllocationType == VBOXDXALLOCATIONTYPE_SHADERS) 466 else if ( enmAllocationType == VBOXDXALLOCATIONTYPE_SHADERS 467 || enmAllocationType == VBOXDXALLOCATIONTYPE_CO) 465 468 { 466 469 if (pAllocation->dx.mobid != SVGA3D_INVALID_ID) … … 474 477 { 475 478 if ( enmAllocationType == VBOXDXALLOCATIONTYPE_SURFACE 476 || enmAllocationType == VBOXDXALLOCATIONTYPE_SHADERS) 479 || enmAllocationType == VBOXDXALLOCATIONTYPE_SHADERS 480 || enmAllocationType == VBOXDXALLOCATIONTYPE_CO) 477 481 { 478 482 *(uint32_t *)pPatchAddress = SVGA3D_INVALID_ID; … … 721 725 AssertReturnStmt(NT_SUCCESS(Status), SvgaMobFree(pSvga, pMob), Status); 722 726 723 pAllocation->dx.mobid = VMSVGAMOB_ID(pMob);724 725 727 uint32_t cbRequired = sizeof(SVGA3dCmdHeader) + sizeof(SVGA3dCmdDefineGBMob64); 726 728 if (pAllocation->dx.desc.enmAllocationType == VBOXDXALLOCATIONTYPE_SURFACE) … … 740 742 RTAvlU32Insert(&pSvga->MobTree, &pMob->core); 741 743 ExReleaseFastMutex(&pSvga->SvgaMutex); 744 745 pAllocation->dx.mobid = VMSVGAMOB_ID(pMob); 742 746 743 747 uint8_t *pu8Cmd = (uint8_t *)pBuildPagingBuffer->pDmaBuffer; … … 820 824 if (pBuildPagingBuffer->DmaSize < cbRequired) 821 825 { 822 SvgaMobFree(pSvga, pMob);823 826 return STATUS_GRAPHICS_INSUFFICIENT_DMA_BUFFER; 824 827 } … … 850 853 { 851 854 SVGA3dCmdDestroyGBMob *pCmd = (SVGA3dCmdDestroyGBMob *)pu8Cmd; 852 pCmd->mobid = VMSVGAMOB_ID(pMob);855 pCmd->mobid = pAllocation->dx.mobid; 853 856 pu8Cmd += sizeof(*pCmd); 854 857 } … … 962 965 *(uint32_t *)pPatchAddress = pAllocation->dx.sid; 963 966 } 964 else if (enmAllocationType == VBOXDXALLOCATIONTYPE_SHADERS) 967 else if ( enmAllocationType == VBOXDXALLOCATIONTYPE_SHADERS 968 || enmAllocationType == VBOXDXALLOCATIONTYPE_CO) 965 969 { 966 970 Assert(pAllocation->dx.mobid != SVGA3D_INVALID_ID);
Note:
See TracChangeset
for help on using the changeset viewer.