Changeset 75445 in vbox
- Timestamp:
- Nov 14, 2018 12:19:32 PM (6 years ago)
- Location:
- trunk/src/VBox/Additions
- Files:
-
- 17 edited
-
Makefile.kmk (modified) (1 diff)
-
WINNT/Graphics/Video/Makefile.kmk (modified) (5 diffs)
-
WINNT/Graphics/Video/common/wddm/VBoxMPIf.h (modified) (4 diffs)
-
WINNT/Graphics/Video/disp/Makefile.kmk (modified) (3 diffs)
-
WINNT/Graphics/Video/disp/wddm/VBoxDispD3D.cpp (modified) (5 diffs)
-
WINNT/Graphics/Video/disp/wddm/VBoxDispD3D.h (modified) (1 diff)
-
WINNT/Graphics/Video/disp/wddm/VBoxDispD3DIf.cpp (modified) (2 diffs)
-
WINNT/Graphics/Video/disp/wddm/VBoxDispD3DIf.h (modified) (2 diffs)
-
WINNT/Graphics/Video/disp/wddm/VBoxUhgsmiKmt.cpp (modified) (1 diff)
-
WINNT/Graphics/Video/mp/Makefile.kmk (modified) (2 diffs)
-
WINNT/Graphics/Video/mp/common/VBoxMPDevExt.h (modified) (2 diffs)
-
WINNT/Graphics/Video/mp/wddm/VBoxMPTypes.h (modified) (2 diffs)
-
WINNT/Graphics/Video/mp/wddm/VBoxMPWddm.cpp (modified) (28 diffs)
-
WINNT/Graphics/Video/mp/wddm/VBoxWddm.inf (modified) (2 diffs)
-
WINNT/Installer/Makefile.kmk (modified) (3 diffs)
-
WINNT/Installer/VBoxGuestAdditionsCommon.nsh (modified) (2 diffs)
-
WINNT/Installer/VBoxGuestAdditionsW2KXP.nsh (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/Makefile.kmk
r69111 r75445 66 66 endif 67 67 ifeq ($(KBUILD_TARGET),win) 68 include $(PATH_SUB_CURRENT)/WINNT/Makefile.kmk69 68 ifdef VBOX_WITH_MESA3D 70 69 include $(PATH_SUB_CURRENT)/3D/Makefile.kmk 71 70 endif 71 include $(PATH_SUB_CURRENT)/WINNT/Makefile.kmk 72 72 endif 73 73 ifeq ($(KBUILD_TARGET),darwin) -
trunk/src/VBox/Additions/WINNT/Graphics/Video/Makefile.kmk
r71323 r75445 87 87 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxDispD3D-x86.dll 88 88 endif # VBOXWDDM_WITH_DISPD3D 89 90 ifdef VBOX_WITH_MESA3D 91 VBoxWddm-inf_SOURCES += \ 92 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxNine.dll \ 93 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxSVGA.dll \ 94 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxGL.dll 95 VBoxWddm-inf_SOURCES.amd64 += \ 96 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxNine-x86.dll \ 97 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxSVGA-x86.dll \ 98 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxGL-x86.dll 99 endif 89 100 90 101 ifdef VBOXWDDM_WITH_GL … … 117 128 118 129 VBOXWDDM_EDIT_INF_DISPD3D_FN_ARG = $(if $(VBOXWDDM_WITH_DISPD3D),-e 's/^;dispd3d *//', -e '/^;dispd3d /d') 130 VBOXWDDM_EDIT_INF_MESA3D_FN_ARG = $(if $(VBOX_WITH_MESA3D),-e 's/^;mesa3d *//', -e '/^;mesa3d /d') 119 131 VBOXWDDM_EDIT_INF_GL_FN_ARG = $(if $(VBOXWDDM_WITH_GL),-e 's/^;gl *//', -e '/^;gl /d') 120 132 # Depends on VBOXWDDM_WITH_GL. ";icd" prefix is used for telling which lines are for OpenGL ICD … … 124 136 $(PATH_SUB_CURRENT)/mp/wddm/VBoxWddm.inf $(MAKEFILE_CURRENT) | $$(dir $$@) 125 137 $(call MSG_GENERATE,VBoxWddm-inf,$@,$<) 126 $(call VBOX_EDIT_INF_FN,$<,$@ $(VBOXWDDM_EDIT_INF_DISPD3D_FN_ARG) $(VBOXWDDM_EDIT_INF_ GL_FN_ARG) $(VBOXWDDM_EDIT_INF_ICD_FN_ARG))138 $(call VBOX_EDIT_INF_FN,$<,$@ $(VBOXWDDM_EDIT_INF_DISPD3D_FN_ARG) $(VBOXWDDM_EDIT_INF_MESA3D_FN_ARG) $(VBOXWDDM_EDIT_INF_GL_FN_ARG) $(VBOXWDDM_EDIT_INF_ICD_FN_ARG)) 127 139 128 140 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxWddm.sys: $$(VBoxWddm_1_TARGET) | $$(dir $$@) … … 138 150 endif 139 151 endif # VBOXWDDM_WITH_DISPD3D 152 153 ifdef VBOX_WITH_MESA3D 154 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxNine.dll: $$(VBoxNine_1_TARGET) | $$(dir $$@) 155 $(INSTALL) -m 644 $< $(@D) 156 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxSVGA.dll: $$(VBoxSVGA_1_TARGET) | $$(dir $$@) 157 $(INSTALL) -m 644 $< $(@D) 158 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxGL.dll: $$(VBoxGL_1_TARGET) | $$(dir $$@) 159 $(INSTALL) -m 644 $< $(@D) 160 161 ifeq ($(KBUILD_TARGET_ARCH),amd64) 162 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxNine-x86.dll: $$(VBoxNine-x86_1_TARGET) | $$(dir $$@) 163 $(INSTALL) -m 644 $< $(@D) 164 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxSVGA-x86.dll: $$(VBoxSVGA-x86_1_TARGET) | $$(dir $$@) 165 $(INSTALL) -m 644 $< $(@D) 166 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxGL-x86.dll: $$(VBoxGL-x86_1_TARGET) | $$(dir $$@) 167 $(INSTALL) -m 644 $< $(@D) 168 endif 169 endif 140 170 141 171 ifdef VBOXWDDM_WITH_GL … … 202 232 $(if $(VBOXWDDM_WITH_DISPD3D), $(PATH_TARGET)/VBoxWddmCat.dir/VBoxDispD3D.dll, ) \ 203 233 $(if $(VBOXWDDM_WITH_DISPD3D), $(if-expr "$(KBUILD_TARGET_ARCH)" == "amd64", $(PATH_TARGET)/VBoxWddmCat.dir/VBoxDispD3D-x86.dll, ), ) \ 234 $(if $(VBOX_WITH_MESA3D), \ 235 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxNine.dll \ 236 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxSVGA.dll \ 237 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxGL.dll \ 238 $(if-expr "$(KBUILD_TARGET_ARCH)" == "amd64", \ 239 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxNine-x86.dll \ 240 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxSVGA-x86.dll \ 241 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxGL-x86.dll, ), ) \ 204 242 $(if $(VBOXWDDM_WITH_GL), $(PATH_TARGET)/VBoxWddmCat.dir/VBoxOGL.dll \ 205 243 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxD3D9wddm.dll \ -
trunk/src/VBox/Additions/WINNT/Graphics/Video/common/wddm/VBoxMPIf.h
r74494 r75445 263 263 /* context created by VBoxTray to handle seamless operations */ 264 264 VBOXWDDM_CONTEXT_TYPE_CUSTOM_DISPIF_SEAMLESS 265 #ifdef VBOX_WITH_MESA3D 266 /* Gallium driver context. */ 267 , VBOXWDDM_CONTEXT_TYPE_GA_3D 268 #endif 265 269 } VBOXWDDM_CONTEXT_TYPE; 266 270 … … 283 287 uint64_t u64UmInfo; 284 288 } vbox; 289 #ifdef VBOX_WITH_MESA3D 290 struct 291 { 292 /* VBOXWDDM_F_GA_CONTEXT_* */ 293 uint32_t u32Flags; 294 } vmsvga; 295 #endif 285 296 } u; 286 297 } VBOXWDDM_CREATECONTEXT_INFO, *PVBOXWDDM_CREATECONTEXT_INFO; … … 506 517 } VBOXDISPIFESCAPE_CRHGSMICTLCON_CALL, *PVBOXDISPIFESCAPE_CRHGSMICTLCON_CALL; 507 518 519 #ifdef VBOX_WITH_MESA3D 520 521 #define VBOXWDDM_F_GA_CONTEXT_EXTENDED 0x00000001 522 #define VBOXWDDM_F_GA_CONTEXT_VGPU10 0x00000002 523 524 #define VBOXESC_GAGETCID 0xA0000002 525 #define VBOXESC_GAREGION 0xA0000003 526 #define VBOXESC_GAPRESENT 0xA0000004 527 #define VBOXESC_GASURFACEDEFINE 0xA0000005 528 #define VBOXESC_GASURFACEDESTROY 0xA0000006 529 #define VBOXESC_GASHAREDSID 0xA0000008 530 #define VBOXESC_GAFENCECREATE 0xA0000020 531 #define VBOXESC_GAFENCEQUERY 0xA0000021 532 #define VBOXESC_GAFENCEWAIT 0xA0000022 533 #define VBOXESC_GAFENCEUNREF 0xA0000023 534 535 /* Get Gallium context id (cid) of the WDDM context. */ 536 typedef struct VBOXDISPIFESCAPE_GAGETCID 537 { 538 VBOXDISPIFESCAPE EscapeHdr; 539 uint32_t u32Cid; 540 } VBOXDISPIFESCAPE_GAGETCID; 541 542 /* Create or delete a Guest Memory Region (GMR). */ 543 #define GA_REGION_CMD_CREATE 0 544 #define GA_REGION_CMD_DESTROY 1 545 typedef struct VBOXDISPIFESCAPE_GAREGION 546 { 547 VBOXDISPIFESCAPE EscapeHdr; 548 uint32_t u32Command; 549 uint32_t u32GmrId; 550 uint32_t u32NumPages; 551 uint32_t u32Reserved; 552 uint64_t u64UserAddress; 553 } VBOXDISPIFESCAPE_GAREGION; 554 555 /* Debug helper. Present the specified surface by copying to the guest screen VRAM. */ 556 typedef struct VBOXDISPIFESCAPE_GAPRESENT 557 { 558 VBOXDISPIFESCAPE EscapeHdr; 559 uint32_t u32Sid; 560 uint32_t u32Width; 561 uint32_t u32Height; 562 } VBOXDISPIFESCAPE_GAPRESENT; 563 564 /* Create a host surface. */ 565 typedef struct VBOXDISPIFESCAPE_GASURFACEDEFINE 566 { 567 VBOXDISPIFESCAPE EscapeHdr; 568 uint32_t u32Sid; /* Returned surface id. */ 569 uint32_t cbReq; /* Size of data after cSizes field. */ 570 uint32_t cSizes; /* Number of GASURFSIZE structures. */ 571 /* GASURFCREATE */ 572 /* GASURFSIZE[cSizes] */ 573 } VBOXDISPIFESCAPE_GASURFACEDEFINE; 574 575 /* Delete a host surface. */ 576 typedef struct VBOXDISPIFESCAPE_GASURFACEDESTROY 577 { 578 VBOXDISPIFESCAPE EscapeHdr; 579 uint32_t u32Sid; 580 } VBOXDISPIFESCAPE_GASURFACEDESTROY; 581 582 /* Inform the miniport that 'u32Sid' actually maps to 'u32SharedSid'. 583 * If 'u32SharedSid' is ~0, then remove the mapping. 584 */ 585 typedef struct VBOXDISPIFESCAPE_GASHAREDSID 586 { 587 VBOXDISPIFESCAPE EscapeHdr; 588 uint32_t u32Sid; 589 uint32_t u32SharedSid; 590 } VBOXDISPIFESCAPE_GASHAREDSID; 591 592 /* Create a user mode fence object. */ 593 typedef struct VBOXDISPIFESCAPE_GAFENCECREATE 594 { 595 VBOXDISPIFESCAPE EscapeHdr; 596 597 /* IN: The miniport's handle of the fence. 598 * Assigned by the miniport. Not DXGK fence id! 599 */ 600 uint32_t u32FenceHandle; 601 } VBOXDISPIFESCAPE_GAFENCECREATE; 602 603 /* Query a user mode fence object state. */ 604 #define GA_FENCE_STATUS_NULL 0 /* Fence not found */ 605 #define GA_FENCE_STATUS_IDLE 1 606 #define GA_FENCE_STATUS_SUBMITTED 2 607 #define GA_FENCE_STATUS_SIGNALED 3 608 typedef struct VBOXDISPIFESCAPE_GAFENCEQUERY 609 { 610 VBOXDISPIFESCAPE EscapeHdr; 611 612 /* IN: The miniport's handle of the fence. 613 * Assigned by the miniport. Not DXGK fence id! 614 */ 615 uint32_t u32FenceHandle; 616 617 /* OUT: The miniport's sequence number associated with the command buffer. 618 */ 619 uint32_t u32SubmittedSeqNo; 620 621 /* OUT: The miniport's sequence number associated with the last command buffer completed on host. 622 */ 623 uint32_t u32ProcessedSeqNo; 624 625 /* OUT: GA_FENCE_STATUS_*. */ 626 uint32_t u32FenceStatus; 627 } VBOXDISPIFESCAPE_GAFENCEQUERY; 628 629 /* Wait on a user mode fence object. */ 630 typedef struct VBOXDISPIFESCAPE_GAFENCEWAIT 631 { 632 VBOXDISPIFESCAPE EscapeHdr; 633 634 /* IN: The miniport's handle of the fence. 635 * Assigned by the miniport. Not DXGK fence id! 636 */ 637 uint32_t u32FenceHandle; 638 639 /* IN: Timeout in microseconds. 640 */ 641 uint32_t u32TimeoutUS; 642 } VBOXDISPIFESCAPE_GAFENCEWAIT; 643 644 /* Delete a user mode fence object. */ 645 typedef struct VBOXDISPIFESCAPE_GAFENCEUNREF 646 { 647 VBOXDISPIFESCAPE EscapeHdr; 648 649 /* IN: The miniport's handle of the fence. 650 * Assigned by the miniport. Not DXGK fence id! 651 */ 652 uint32_t u32FenceHandle; 653 } VBOXDISPIFESCAPE_GAFENCEUNREF; 654 655 #include <VBoxGaHWInfo.h> 656 #endif /* VBOX_WITH_MESA3D */ 508 657 509 658 /* D3DDDICB_QUERYADAPTERINFO::pPrivateDriverData */ … … 523 672 uint32_t u32VBox3DCaps; /* CR_VBOX_CAP_* */ 524 673 } vbox; 674 #ifdef VBOX_WITH_MESA3D 675 struct 676 { 677 /* VBOXVIDEO_HWTYPE_VMSVGA */ 678 VBOXGAHWINFO HWInfo; 679 } vmsvga; 680 #endif 525 681 } u; 526 682 } VBOXWDDM_QAI; -
trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/Makefile.kmk
r71934 r75445 18 18 SUB_DEPTH = ../../../../../../.. 19 19 include $(KBUILD_PATH)/subheader.kmk 20 21 ifdef VBOX_WITH_MESA3D 22 ifndef VBOX_MESA3D_CONFIG_KMK_INCLUDED 23 include $(PATH_ROOT)/src/VBox/Additions/3D/Config.kmk 24 endif 25 endif 20 26 21 27 # … … 135 141 $(VBOX_PATH_ADDITIONS_LIB)/VBoxCrHgsmi$(VBOX_SUFF_LIB) 136 142 143 ifdef VBOX_WITH_MESA3D 144 VBoxDispD3D_DEFS += VBOX_WITH_MESA3D 145 VBoxDispD3D_INCS += \ 146 $(VBOX_PATH_MESA)/src/gallium/include \ 147 $(VBOX_PATH_MESA)/src \ 148 $(VBOX_PATH_MESA)/include/c99 \ 149 $(VBOX_PATH_MESA)/include \ 150 $(VBOX_PATH_3D)/win/include \ 151 $(VBOX_PATH_VMSVGA_INC) 152 VBoxDispD3D_SOURCES += \ 153 wddm/gallium/GaDrvEnvWddm.cpp \ 154 wddm/gallium/GaWddm.cpp \ 155 wddm/gallium/GaDdi.cpp \ 156 wddm/gallium/Present.cpp \ 157 wddm/gallium/VBoxGallium.cpp \ 158 wddm/gallium/VBoxGaD3DDevice9Ex.cpp \ 159 wddm/gallium/VBoxD3DAdapter9.c 160 161 ifdef VBOX_WITH_MESA3D_D3DTEST 162 VBoxDispD3D_DEFS += VBOX_WITH_MESA3D_D3DTEST 163 VBoxDispD3D_SOURCES += \ 164 wddm/gallium/test/d3dhlp.cpp \ 165 wddm/gallium/test/d3d9render.cpp \ 166 wddm/gallium/GaDrvTest.cpp 167 endif 168 endif 169 137 170 # 138 171 # 64-bit systems needs a 32-bit version of VBoxDispD3D. … … 165 198 $(PATH_ROOT)/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm/shared \ 166 199 $(VBOX_GRAPHICS_INCS) 200 ifdef VBOX_WITH_MESA3D 201 VBoxCrHgsmi_INCS += $(VBOX_PATH_3D)/win/include 202 endif 167 203 VBoxCrHgsmi_SOURCES = \ 168 204 wddm/VBoxCrHgsmi.cpp \ -
trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm/VBoxDispD3D.cpp
r74477 r75445 5804 5804 if (pDevice->pAdapter->enmHwType == VBOXVIDEO_HWTYPE_VBOX) 5805 5805 pDevice->pAdapter->D3D.D3D.pfnVBoxWineExD3DDev9Term((IDirect3DDevice9Ex *)pDevice->pDevice9If); 5806 #ifdef VBOX_WITH_MESA3D 5807 else if (pDevice->pAdapter->enmHwType == VBOXVIDEO_HWTYPE_VMSVGA) 5808 { 5809 pDevice->pDevice9If->Release(); 5810 pDevice->pDevice9If = NULL; 5811 } 5812 #endif 5806 5813 } 5807 5814 } … … 6350 6357 pCreateData->pDeviceFuncs->pfnRename = NULL; //vboxWddmDDevRename; 6351 6358 6359 #ifdef VBOX_WITH_MESA3D 6360 /** @todo For now just override functions which are already implemented for Gallium backend. 6361 * The plan is to have only OpenAdapter as common function between old Chromium and new Gallium code. 6362 * Adapter and device callbacks will be reimplemented for Gallium, because this will simplify 6363 * the Gallium-only code and keep the old code unchanged. 6364 * Currently the common callbacks do things which Gallium does not need: vboxWddmDal*, etc. 6365 * 6366 * See gallium\GaDdi.h for list of GaDdi* functions which are already implemented. 6367 */ 6368 if (pAdapter->enmHwType == VBOXVIDEO_HWTYPE_VMSVGA) 6369 { 6370 pDevice->pfnCreateDirect3DDevice = GaD3DIfDeviceCreate; 6371 pDevice->pfnCreateSharedPrimary = GaD3DIfCreateSharedPrimary; 6372 6373 pCreateData->pDeviceFuncs->pfnDrawPrimitive = GaDdiDrawPrimitive; 6374 pCreateData->pDeviceFuncs->pfnDrawIndexedPrimitive = GaDdiDrawIndexedPrimitive; 6375 pCreateData->pDeviceFuncs->pfnDrawPrimitive2 = GaDdiDrawPrimitive2; 6376 pCreateData->pDeviceFuncs->pfnDrawIndexedPrimitive2 = GaDdiDrawIndexedPrimitive2; 6377 pCreateData->pDeviceFuncs->pfnBlt = GaDdiBlt; 6378 pCreateData->pDeviceFuncs->pfnTexBlt = GaDdiTexBlt; 6379 pCreateData->pDeviceFuncs->pfnVolBlt = GaDdiVolBlt; 6380 pCreateData->pDeviceFuncs->pfnFlush = GaDdiFlush; 6381 pCreateData->pDeviceFuncs->pfnPresent = GaDdiPresent; 6382 pCreateData->pDeviceFuncs->pfnLock = GaDdiLock; 6383 pCreateData->pDeviceFuncs->pfnUnlock = GaDdiUnlock; 6384 pCreateData->pDeviceFuncs->pfnCreateVertexShaderFunc = GaDdiCreateVertexShaderFunc; 6385 pCreateData->pDeviceFuncs->pfnCreatePixelShader = GaDdiCreatePixelShader; 6386 pCreateData->pDeviceFuncs->pfnCreateResource = GaDdiCreateResource; 6387 pCreateData->pDeviceFuncs->pfnDestroyResource = GaDdiDestroyResource; 6388 pCreateData->pDeviceFuncs->pfnOpenResource = GaDdiOpenResource; 6389 } 6390 #endif 6391 6352 6392 VBOXDISPPROFILE_DDI_INIT_DEV(pDevice); 6353 6393 #ifdef VBOX_WDDMDISP_WITH_PROFILE … … 6371 6411 VBOXDISPCRHGSMI_SCOPE_SET_DEV(pDevice); 6372 6412 6413 #ifdef VBOX_WITH_MESA3D 6414 if (pAdapter->enmHwType == VBOXVIDEO_HWTYPE_VMSVGA) 6415 { 6416 RT_ZERO(pDevice->DefaultContext); 6417 hr = S_OK; 6418 } 6419 else 6420 hr = vboxDispCmCtxCreate(pDevice, &pDevice->DefaultContext); 6421 #else 6373 6422 hr = vboxDispCmCtxCreate(pDevice, &pDevice->DefaultContext); 6423 #endif 6374 6424 Assert(hr == S_OK); 6375 6425 if (hr == S_OK) … … 6460 6510 } 6461 6511 6512 #if defined(VBOX_WITH_MESA3D) && defined(VBOX_WITH_MESA3D_D3DTEST) 6513 /* Built-in gallium backend test for early development stages. 6514 * Use it only with kernel debugger attached to the VM. 6515 */ 6516 extern void GaDrvTest(IGalliumStack *pGalliumStack, PVBOXWDDMDISP_DEVICE pDevice); 6517 if (SUCCEEDED(hr)) 6518 GaDrvTest(pAdapter->D3D.pGalliumStack, pDevice); 6519 #endif 6520 6462 6521 vboxVDbgPrint(("<== "__FUNCTION__", hAdapter(0x%p)\n", hAdapter)); 6463 6522 … … 6574 6633 if (pAdapter->enmHwType == VBOXVIDEO_HWTYPE_VBOX) 6575 6634 pAdapter->u32VBox3DCaps = pAdapterInfo->u.vbox.u32VBox3DCaps; 6635 #ifdef VBOX_WITH_MESA3D 6636 /** @todo Remove the hack. u32VBox3DCaps should not be used with Gallium. */ 6637 else if (pAdapter->enmHwType == VBOXVIDEO_HWTYPE_VMSVGA) 6638 pAdapter->u32VBox3DCaps = CR_VBOX_CAP_TEX_PRESENT | CR_VBOX_CAP_CMDVBVA; 6639 #endif 6576 6640 pAdapter->AdapterInfo = *pAdapterInfo; 6577 6641 #ifdef VBOX_WITH_VIDEOHWACCEL -
trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm/VBoxDispD3D.h
r71934 r75445 297 297 VBOXWDDM_SURFACE_DESC SurfDesc; 298 298 PVBOXWDDMDISP_SWAPCHAIN pSwapchain; 299 #ifdef VBOX_WITH_MESA3D 300 uint32_t hostID; 301 #endif 299 302 } VBOXWDDMDISP_ALLOCATION, *PVBOXWDDMDISP_ALLOCATION; 300 303 -
trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm/VBoxDispD3DIf.cpp
r74477 r75445 1257 1257 } 1258 1258 1259 #ifdef VBOX_WITH_MESA3D 1260 HRESULT GaWddmD3DBackendOpen(PVBOXWDDMDISP_D3D pD3D, VBOXWDDM_QAI const *pAdapterInfo); 1261 #endif 1262 1259 1263 static HRESULT vboxDispD3DGlobalDoOpen(PVBOXWDDMDISP_D3D pD3D, VBOXWDDM_QAI const *pAdapterInfo) 1260 1264 { … … 1264 1268 if (pAdapterInfo->enmHwType == VBOXVIDEO_HWTYPE_VBOX) 1265 1269 hr = vboxDispD3DGlobalDoOpenWine(pD3D); 1270 #ifdef VBOX_WITH_MESA3D 1271 else if (pAdapterInfo->enmHwType == VBOXVIDEO_HWTYPE_VMSVGA) 1272 hr = GaWddmD3DBackendOpen(pD3D, pAdapterInfo); 1273 #endif 1266 1274 else 1267 1275 hr = E_FAIL; -
trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm/VBoxDispD3DIf.h
r72010 r75445 18 18 #ifndef ___VBoxDispD3DIf_h___ 19 19 #define ___VBoxDispD3DIf_h___ 20 21 #ifdef VBOX_WITH_MESA3D 22 #include "gallium/VBoxGallium.h" 23 #endif 20 24 21 25 /* D3D headers */ … … 91 95 VBOXDISPD3D D3D; 92 96 97 #ifdef VBOX_WITH_MESA3D 98 /* Gallium backend. */ 99 IGalliumStack *pGalliumStack; 100 #endif 93 101 } VBOXWDDMDISP_D3D; 94 102 -
trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm/VBoxUhgsmiKmt.cpp
r74477 r75445 333 333 if (Query.enmHwType == VBOXVIDEO_HWTYPE_VBOX) 334 334 *pu32Caps = Query.u.vbox.u32VBox3DCaps; 335 #ifdef VBOX_WITH_MESA3D 336 /** @todo Remove the hack. u32VBox3DCaps should not be used with Gallium. */ 337 else if (Query.enmHwType == VBOXVIDEO_HWTYPE_VMSVGA) 338 *pu32Caps = CR_VBOX_CAP_TEX_PRESENT | CR_VBOX_CAP_CMDVBVA; 339 #endif 335 340 else 336 341 *pu32Caps = 0; -
trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/Makefile.kmk
r72082 r75445 18 18 SUB_DEPTH = ../../../../../../.. 19 19 include $(KBUILD_PATH)/subheader.kmk 20 21 ifdef VBOX_WITH_MESA3D 22 ifndef VBOX_MESA3D_CONFIG_KMK_INCLUDED 23 include $(PATH_ROOT)/src/VBox/Additions/3D/Config.kmk 24 endif 25 endif 20 26 21 27 # … … 162 168 $(PATH_SDK_$(VBOX_WINDDK_GST_W8)_LIB)/memcmp.lib 163 169 170 ifdef VBOX_WITH_MESA3D 171 VBoxWddm_DEFS += VBOX_WITH_MESA3D 172 VBoxWddm_DEFS += __STDC_VERSION__=0 # for mesa include/c99_compat.h 173 VBoxWddm_DEFS += WIN9X_COMPAT_SPINLOCK # to avoid multiple KeInitializeSpinLock on amd64 174 VBoxWddm_INCS += \ 175 $(VBOX_PATH_3D)/win/include \ 176 $(VBOX_PATH_VMSVGA_INC) 177 VBoxWddm_SOURCES += \ 178 wddm/gallium/Svga.cpp \ 179 wddm/gallium/SvgaCmd.cpp \ 180 wddm/gallium/SvgaFifo.cpp \ 181 wddm/gallium/SvgaHw.cpp \ 182 wddm/gallium/VBoxMPGaWddm.cpp 183 endif 184 164 185 endif # VBOX_WITH_WDDM 165 186 -
trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/common/VBoxMPDevExt.h
r71862 r75445 41 41 ULONG cbVRAM; 42 42 ULONG ulApertureSize; 43 #ifdef VBOX_WITH_MESA3D 44 PHYSICAL_ADDRESS phFIFO; 45 ULONG cbFIFO; 46 PHYSICAL_ADDRESS phIO; 47 ULONG cbIO; 48 #endif 43 49 } VBOXWDDM_HWRESOURCES, *PVBOXWDDM_HWRESOURCES; 44 #endif 50 51 #ifdef VBOX_WITH_MESA3D 52 typedef struct VBOXWDDM_EXT_GA *PVBOXWDDM_EXT_GA; 53 #endif 54 55 #endif /* VBOX_WDDM_MINIPORT */ 45 56 46 57 #define VBOXMP_MAX_VIDEO_MODES 128 … … 217 228 #endif 218 229 230 #ifdef VBOX_WITH_MESA3D 231 PVBOXWDDM_EXT_GA pGa; /* Pointer to Gallium backend data. */ 232 #endif 233 219 234 } VBOXMP_DEVEXT, *PVBOXMP_DEVEXT; 220 235 -
trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPTypes.h
r69500 r75445 45 45 #endif 46 46 47 #ifndef VBOX_WITH_MESA3D 47 48 /* one page size */ 48 49 #define VBOXWDDM_C_DMA_BUFFER_SIZE 0x1000 49 50 #define VBOXWDDM_C_DMA_PRIVATEDATA_SIZE 0x4000 51 #else 52 #define VBOXWDDM_C_DMA_BUFFER_SIZE 0x10000 53 #define VBOXWDDM_C_DMA_PRIVATEDATA_SIZE 0x8000 54 #endif 50 55 #define VBOXWDDM_C_ALLOC_LIST_SIZE 0xc00 51 56 #define VBOXWDDM_C_PATH_LOCATION_LIST_SIZE 0xc00 … … 279 284 VBOXVIDEOCM_CTX CmContext; 280 285 VBOXVIDEOCM_ALLOC_CONTEXT AllocContext; 286 #ifdef VBOX_WITH_MESA3D 287 uint32_t u32Cid; /* SVGA context id of this context. */ 288 #endif 281 289 } VBOXWDDM_CONTEXT, *PVBOXWDDM_CONTEXT; 282 290 -
trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPWddm.cpp
r75403 r75445 32 32 #include <VBoxVideoVBE.h> 33 33 #include <VBox/Version.h> 34 35 #ifdef VBOX_WITH_MESA3D 36 #include "gallium/VBoxMPGaWddm.h" 37 #endif 34 38 35 39 #include <stdio.h> … … 759 763 { 760 764 case CmResourceTypePort: 765 #ifdef VBOX_WITH_MESA3D 766 AssertBreak(pHwResources->phIO.QuadPart == 0); 767 pHwResources->phIO = pPRc->u.Port.Start; 768 pHwResources->cbIO = pPRc->u.Port.Length; 769 #endif 761 770 break; 762 771 case CmResourceTypeInterrupt: 763 772 break; 764 773 case CmResourceTypeMemory: 774 #ifdef VBOX_WITH_MESA3D 775 if (pHwResources->phVRAM.QuadPart) 776 { 777 AssertBreak(pHwResources->phFIFO.QuadPart == 0); 778 pHwResources->phFIFO = pPRc->u.Memory.Start; 779 pHwResources->cbFIFO = pPRc->u.Memory.Length; 780 break; 781 } 782 #else 765 783 /* we assume there is one memory segment */ 766 784 AssertBreak(pHwResources->phVRAM.QuadPart == 0); 785 #endif 767 786 pHwResources->phVRAM = pPRc->u.Memory.Start; 768 787 Assert(pHwResources->phVRAM.QuadPart != 0); … … 826 845 pDevExt->f3DEnabled = VBoxMpCrCtlConIs3DSupported(); 827 846 } 847 else if (pDevExt->enmHwType == VBOXVIDEO_HWTYPE_VMSVGA) 848 { 849 pDevExt->f3DEnabled = f3DSupported; 850 } 828 851 else 829 852 { … … 1172 1195 #endif 1173 1196 } 1197 #ifdef VBOX_WITH_MESA3D 1198 else if (pDevExt->enmHwType == VBOXVIDEO_HWTYPE_VMSVGA) 1199 { 1200 if (pDevExt->f3DEnabled) 1201 { 1202 pDevExt->fTexPresentEnabled = TRUE; 1203 pDevExt->fCmdVbvaEnabled = TRUE; 1204 pDevExt->fComplexTopologiesEnabled = FALSE; /** @todo Enable after implementing multimonitor support. */ 1205 } 1206 } 1207 #endif /* VBOX_WITH_MESA3D */ 1174 1208 else 1175 1209 { … … 1331 1365 1332 1366 VBoxWddmVModesInit(pDevExt); 1367 1368 #ifdef VBOX_WITH_MESA3D 1369 if (pDevExt->enmHwType == VBOXVIDEO_HWTYPE_VMSVGA) 1370 { 1371 LOGREL(("WDDM: VRAM %#RX64/%#RX32, FIFO %#RX64/%#RX32, IO %#RX64/%#RX32", 1372 pDevExt->HwResources.phVRAM.QuadPart, pDevExt->HwResources.cbVRAM, 1373 pDevExt->HwResources.phFIFO.QuadPart, pDevExt->HwResources.cbFIFO, 1374 pDevExt->HwResources.phIO.QuadPart, pDevExt->HwResources.cbIO)); 1375 1376 Status = GaAdapterStart(pDevExt); 1377 if (Status == STATUS_SUCCESS) 1378 { /* likely */ } 1379 else 1380 LOGREL(("WDDM: GaAdapterStart failed Status(0x%x)", Status)); 1381 } 1382 #endif 1333 1383 } 1334 1384 else … … 1375 1425 PVBOXMP_DEVEXT pDevExt = (PVBOXMP_DEVEXT)MiniportDeviceContext; 1376 1426 NTSTATUS Status = STATUS_SUCCESS; 1427 1428 #ifdef VBOX_WITH_MESA3D 1429 if (pDevExt->enmHwType == VBOXVIDEO_HWTYPE_VMSVGA) 1430 { 1431 GaAdapterStop(pDevExt); 1432 } 1433 #endif 1377 1434 1378 1435 #ifdef VBOX_WITH_CROGL … … 1522 1579 PVBOXMP_DEVEXT pDevExt = (PVBOXMP_DEVEXT)MiniportDeviceContext; 1523 1580 BOOLEAN bOur = FALSE; 1581 #ifdef VBOX_WITH_MESA3D 1582 BOOLEAN bSvga = FALSE; 1583 if (pDevExt->enmHwType == VBOXVIDEO_HWTYPE_VMSVGA) 1584 { 1585 bSvga = GaDxgkDdiInterruptRoutine(MiniportDeviceContext, MessageNumber); 1586 } 1587 #endif 1524 1588 bool bNeedDpc = FALSE; 1525 1589 if (!VBoxCommonFromDeviceExt(pDevExt)->hostCtx.pfHostFlags) /* If HGSMI is enabled at all. */ 1526 1590 { 1527 1591 WARN(("ISR called with hgsmi disabled!")); 1592 #ifdef VBOX_WITH_MESA3D 1593 return bSvga; 1594 #else 1528 1595 return FALSE; 1596 #endif 1529 1597 } 1530 1598 … … 1537 1605 1538 1606 uint32_t flags = VBoxCommonFromDeviceExt(pDevExt)->hostCtx.pfHostFlags->u32HostFlags; 1539 bOur = (flags & HGSMIHOSTFLAGS_IRQ);1607 bOur = RT_BOOL(flags & HGSMIHOSTFLAGS_IRQ); 1540 1608 1541 1609 if (bOur) … … 1649 1717 pDevExt->u.primary.DxgkInterface.DxgkCbQueueDpc(pDevExt->u.primary.DxgkInterface.DeviceHandle); 1650 1718 1719 #ifdef VBOX_WITH_MESA3D 1720 return bSvga || bOur; 1721 #else 1651 1722 return bOur; 1723 #endif 1652 1724 } 1653 1725 #endif … … 1899 1971 pDevExt->u.primary.DxgkInterface.DxgkCbNotifyDpc(pDevExt->u.primary.DxgkInterface.DeviceHandle); 1900 1972 1973 #ifdef VBOX_WITH_MESA3D 1974 if (pDevExt->enmHwType == VBOXVIDEO_HWTYPE_VMSVGA) 1975 { 1976 GaDxgkDdiDpcRoutine(MiniportDeviceContext); 1977 } 1978 #endif 1979 1901 1980 if (ASMAtomicReadU32(&pDevExt->fCompletingCommands)) 1902 1981 { … … 2259 2338 /** @todo this correlates with pCaps->SchedulingCaps.MultiEngineAware */ 2260 2339 pCaps->GpuEngineTopology.NbAsymetricProcessingNodes = VBOXWDDM_NUM_NODES; 2340 #ifdef VBOX_WITH_MESA3D 2341 if (pDevExt->enmHwType == VBOXVIDEO_HWTYPE_VMSVGA) 2342 { 2343 /* The Gallium node has NodeOrdinal == 0, because: 2344 * GDI context is created with it; 2345 * we generate commands for the context; 2346 * there seems to be no easy way to distinguish which node a fence was completed for. 2347 * 2348 * GDI context is used for example for copying between D3DKMDT_STANDARDALLOCATION_SHADOWSURFACE 2349 * and D3DKMDT_STANDARDALLOCATION_SHAREDPRIMARYSURFACE. 2350 */ 2351 pCaps->GpuEngineTopology.NbAsymetricProcessingNodes = 1; 2352 } 2353 #endif 2261 2354 2262 2355 if (VBoxQueryWinVersion(NULL) >= WINVERSION_8) … … 2343 2436 #endif 2344 2437 } 2438 #ifdef VBOX_WITH_MESA3D 2439 else if (pDevExt->enmHwType == VBOXVIDEO_HWTYPE_VMSVGA) 2440 GaQueryInfo(pDevExt->pGa, pDevExt->enmHwType, &pQAI->u.vmsvga.HWInfo); 2441 #endif 2442 2345 2443 #ifdef VBOX_WITH_VIDEOHWACCEL 2346 2444 pQAI->cInfos = VBoxCommonFromDeviceExt(pDevExt)->cDisplays; … … 2409 2507 2410 2508 pCreateDevice->pInfo = NULL; 2509 2510 #ifdef VBOX_WITH_MESA3D 2511 if (pDevExt->enmHwType == VBOXVIDEO_HWTYPE_VMSVGA) 2512 { 2513 Status = GaDeviceCreate(pDevExt->pGa, pDevice); 2514 if (Status != STATUS_SUCCESS) 2515 { 2516 vboxWddmMemFree(pDevice); 2517 } 2518 } 2519 #endif 2411 2520 2412 2521 LOGF(("LEAVE, context(0x%x), Status(0x%x)", hAdapter, Status)); … … 3072 3181 PAGED_CODE(); 3073 3182 3183 #ifdef VBOX_WITH_MESA3D 3184 if (((PVBOXMP_DEVEXT)hAdapter)->enmHwType == VBOXVIDEO_HWTYPE_VMSVGA) 3185 { 3186 return GaDxgkDdiPatch(hAdapter, pPatch); 3187 } 3188 #endif 3189 3074 3190 LOGF(("ENTER, context(0x%x)", hAdapter)); 3075 3191 … … 3303 3419 /* DxgkDdiSubmitCommand runs at dispatch, should not be pageable. */ 3304 3420 3421 #ifdef VBOX_WITH_MESA3D 3422 if (((PVBOXMP_DEVEXT)hAdapter)->enmHwType == VBOXVIDEO_HWTYPE_VMSVGA) 3423 { 3424 return GaDxgkDdiSubmitCommand(hAdapter, pSubmitCommand); 3425 } 3426 #endif 3427 3305 3428 // LOGF(("ENTER, context(0x%x)", hAdapter)); 3306 3429 … … 3626 3749 CONST DXGKARG_PREEMPTCOMMAND* pPreemptCommand) 3627 3750 { 3751 #ifdef VBOX_WITH_MESA3D 3752 if (((PVBOXMP_DEVEXT)hAdapter)->enmHwType == VBOXVIDEO_HWTYPE_VMSVGA) 3753 { 3754 return GaDxgkDdiPreemptCommand(hAdapter, pPreemptCommand); 3755 } 3756 #endif 3628 3757 LOGF(("ENTER, hAdapter(0x%x)", hAdapter)); 3629 3758 … … 3667 3796 DXGKARG_BUILDPAGINGBUFFER* pBuildPagingBuffer) 3668 3797 { 3798 #ifdef VBOX_WITH_MESA3D 3799 if (((PVBOXMP_DEVEXT)hAdapter)->enmHwType == VBOXVIDEO_HWTYPE_VMSVGA) 3800 { 3801 return GaDxgkDdiBuildPagingBuffer(hAdapter, pBuildPagingBuffer); 3802 } 3803 #endif 3804 3669 3805 RT_NOREF(hAdapter); 3670 3806 /* DxgkDdiBuildPagingBuffer should be made pageable. */ … … 4563 4699 if (pDevExt->enmHwType == VBOXVIDEO_HWTYPE_VBOX) 4564 4700 pEscapeHdr->u32CmdSpecific = VBoxMpCrGetHostCaps(); 4701 #ifdef VBOX_WITH_MESA3D 4702 else if (pDevExt->enmHwType == VBOXVIDEO_HWTYPE_VMSVGA) 4703 /** @todo User-mode driver probably should not need it in Gallium mode. */ 4704 pEscapeHdr->u32CmdSpecific = CR_VBOX_CAP_TEX_PRESENT | CR_VBOX_CAP_CMDVBVA; 4705 #endif 4565 4706 else 4566 4707 pEscapeHdr->u32CmdSpecific = 0; … … 5059 5200 } 5060 5201 default: 5202 #ifdef VBOX_WITH_MESA3D 5203 Status = GaDxgkDdiEscape(hAdapter, pEscape); 5204 if (NT_SUCCESS(Status) || Status != STATUS_NOT_SUPPORTED) 5205 break; 5206 #endif 5061 5207 WARN(("unsupported escape code (0x%x)", pEscapeHdr->escapeCode)); 5062 5208 break; … … 5114 5260 DXGKARG_QUERYCURRENTFENCE* pCurrentFence) 5115 5261 { 5262 #ifdef VBOX_WITH_MESA3D 5263 if (((PVBOXMP_DEVEXT)hAdapter)->enmHwType == VBOXVIDEO_HWTYPE_VMSVGA) 5264 { 5265 return GaDxgkDdiQueryCurrentFence(hAdapter, pCurrentFence); 5266 } 5267 #endif 5116 5268 LOGF(("ENTER, hAdapter(0x%x)", hAdapter)); 5117 5269 … … 5338 5490 } 5339 5491 5492 #ifdef VBOX_WITH_MESA3D 5493 GaScreenDefine(pDevExt->pGa, (uint32_t)pSetVidPnSourceAddress->PrimaryAddress.QuadPart, 5494 pSetVidPnSourceAddress->VidPnSourceId, 5495 pSource->AllocData.SurfDesc.width, pSource->AllocData.SurfDesc.height); 5496 #endif 5497 5340 5498 pSource->u8SyncState &= ~VBOXWDDM_HGSYNC_F_SYNCED_LOCATION; 5341 5499 … … 5669 5827 5670 5828 vboxVDbgBreakFv(); 5829 5830 #ifdef VBOX_WITH_MESA3D 5831 PVBOXWDDM_DEVICE pDevice = (PVBOXWDDM_DEVICE)hDevice; 5832 PVBOXMP_DEVEXT pDevExt = pDevice->pAdapter; 5833 if (pDevExt->enmHwType == VBOXVIDEO_HWTYPE_VMSVGA) 5834 { 5835 GaDeviceDestroy(pDevExt->pGa, pDevice); 5836 } 5837 #endif 5671 5838 5672 5839 vboxWddmMemFree(hDevice); … … 5855 6022 // LOGF(("ENTER, hContext(0x%x)", hContext)); 5856 6023 vboxVDbgBreakF(); 6024 6025 #ifdef VBOX_WITH_MESA3D 6026 if (GaContextHwTypeIs((PVBOXWDDM_CONTEXT)hContext, VBOXVIDEO_HWTYPE_VMSVGA)) 6027 { 6028 return GaDxgkDdiRender(hContext, pRender); 6029 } 6030 #endif 5857 6031 5858 6032 if (pRender->DmaBufferPrivateDataSize < sizeof (VBOXCMDVBVA_HDR)) … … 6273 6447 6274 6448 vboxVDbgBreakFv(); 6449 #ifdef VBOX_WITH_MESA3D 6450 if (GaContextHwTypeIs((PVBOXWDDM_CONTEXT)hContext, VBOXVIDEO_HWTYPE_VMSVGA)) 6451 { 6452 return GaDxgkDdiPresent(hContext, pPresent); 6453 } 6454 #endif 6275 6455 6276 6456 #ifdef VBOX_STRICT … … 7057 7237 break; 7058 7238 } 7239 #ifdef VBOX_WITH_MESA3D 7240 case VBOXWDDM_CONTEXT_TYPE_GA_3D: 7241 { 7242 pContext->enmType = VBOXWDDM_CONTEXT_TYPE_GA_3D; 7243 Status = GaContextCreate(pDevExt->pGa, pInfo, pContext); 7244 break; 7245 } 7246 #endif 7059 7247 default: 7060 7248 { … … 7141 7329 break; 7142 7330 } 7331 #ifdef VBOX_WITH_MESA3D 7332 case VBOXWDDM_CONTEXT_TYPE_GA_3D: 7333 { 7334 Status = GaContextDestroy(pDevExt->pGa, pContext); 7335 break; 7336 } 7337 #endif 7143 7338 default: 7144 7339 break; … … 7318 7513 if (bUpdateRectInited && pSource->bVisible) 7319 7514 { 7515 #ifdef VBOX_WITH_MESA3D 7516 if (pDevExt->enmHwType == VBOXVIDEO_HWTYPE_VMSVGA) 7517 { 7518 /** @todo BLIT_GMRFB_TO_SCREEN */ 7519 GaUpdate(pDevExt->pGa, 7520 UpdateRect.left, 7521 UpdateRect.top, 7522 UpdateRect.right - UpdateRect.left, 7523 UpdateRect.bottom - UpdateRect.top); 7524 } 7525 else 7526 #endif 7320 7527 VBOXVBVA_OP_WITHLOCK(ReportDirtyRect, pDevExt, pSource, &UpdateRect); 7321 7528 } … … 7695 7902 #endif 7696 7903 } 7904 else if (enmHwType == VBOXVIDEO_HWTYPE_VMSVGA) 7905 { 7906 fCmdVbva = TRUE; 7907 } 7697 7908 else 7698 7909 { -
trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxWddm.inf
r71323 r75445 55 55 [VBoxVideo.Display] 56 56 ;dispd3d VBoxDispD3D.dll,,,0x00004000 ; COPYFLG_IN_USE_TRY_RENAME 57 ;mesa3d VBoxNine.dll,,,0x00004000 ; COPYFLG_IN_USE_TRY_RENAME 58 ;mesa3d VBoxSVGA.dll,,,0x00004000 ; COPYFLG_IN_USE_TRY_RENAME 59 ;mesa3d VBoxGL.dll,,,0x00004000 ; COPYFLG_IN_USE_TRY_RENAME 57 60 58 61 ;amd64 [VBoxVideo.Display_wow64] 59 62 ;amd64 ;dispd3d VBoxDispD3D-x86.dll,,,0x00004000 ; COPYFLG_IN_USE_TRY_RENAME 63 ;amd64 ;mesa3d VBoxNine-x86.dll,,,0x00004000 ; COPYFLG_IN_USE_TRY_RENAME 64 ;amd64 ;mesa3d VBoxSVGA-x86.dll,,,0x00004000 ; COPYFLG_IN_USE_TRY_RENAME 65 ;amd64 ;mesa3d VBoxGL-x86.dll,,,0x00004000 ; COPYFLG_IN_USE_TRY_RENAME 60 66 61 67 [VBoxVideo.GL] … … 119 125 VBoxWddm.sys = 1 120 126 ;amd64 ;dispd3d VBoxDispD3D-x86.dll = 1 127 ;amd64 ;mesa3d VBoxNine-x86.dll = 1 128 ;amd64 ;mesa3d VBoxSVGA-x86.dll = 1 129 ;amd64 ;mesa3d VBoxGL-x86.dll = 1 121 130 ;dispd3d VBoxDispD3D.dll = 1 131 ;mesa3d VBoxNine.dll = 1 132 ;mesa3d VBoxSVGA.dll = 1 133 ;mesa3d VBoxGL.dll = 1 122 134 ;amd64 ;gl VBoxOGL-x86.dll = 1 123 135 ;gl VBoxOGL.dll = 1 -
trunk/src/VBox/Additions/WINNT/Installer/Makefile.kmk
r71323 r75445 134 134 $(PATH_STAGE_BIN)/additions/VBoxWddm.inf \ 135 135 $(PATH_STAGE_BIN)/additions/VBoxDispD3D.dll 136 ifdef VBOX_WITH_MESA3D 137 DRIVER_FILES += \ 138 $(PATH_STAGE_BIN)/additions/VBoxNine.dll \ 139 $(PATH_STAGE_BIN)/additions/VBoxSVGA.dll \ 140 $(PATH_STAGE_BIN)/additions/VBoxGL.dll 141 endif 136 142 ifdef VBOX_WITH_CROGL 137 143 DRIVER_FILES += \ … … 146 152 DRIVER_FILES += \ 147 153 $(PATH_STAGE_BIN)/additions/VBoxDispD3D-x86.dll 154 ifdef VBOX_WITH_MESA3D 155 DRIVER_FILES += \ 156 $(PATH_STAGE_BIN)/additions/VBoxNine-x86.dll \ 157 $(PATH_STAGE_BIN)/additions/VBoxSVGA-x86.dll \ 158 $(PATH_STAGE_BIN)/additions/VBoxGL-x86.dll 159 endif 148 160 ifdef VBOX_WITH_CROGL 149 161 DRIVER_FILES += \ … … 184 196 -E 'VBOX_WITH_LICENSE_INSTALL_RTF=$(if $(VBOX_BRAND_LICENSE_RTF),1,0)' \ 185 197 -E 'VBOX_WITH_WDDM=$(if $(VBOX_WITH_WDDM),1,0)' \ 198 -E 'VBOX_WITH_MESA3D=$(if $(VBOX_WITH_MESA3D),1,0)' \ 186 199 -E 'VBOX_BRAND_WIN_ADD_INST_DLGBMP=$(subst /,\,$(VBOX_BRAND_WIN_ADD_INST_DLGBMP))' \ 187 200 -E 'VBOX_BRAND_LICENSE_RTF=$(subst /,\,$(VBOX_BRAND_LICENSE_RTF))' \ -
trunk/src/VBox/Additions/WINNT/Installer/VBoxGuestAdditionsCommon.nsh
r71323 r75445 107 107 FILE "$%PATH_OUT%\bin\additions\VBoxWddm.inf" 108 108 FILE "$%PATH_OUT%\bin\additions\VBoxDispD3D.dll" 109 !if $%VBOX_WITH_MESA3D% == "1" 110 FILE "$%PATH_OUT%\bin\additions\VBoxNine.dll" 111 FILE "$%PATH_OUT%\bin\additions\VBoxSVGA.dll" 112 FILE "$%PATH_OUT%\bin\additions\VBoxGL.dll" 113 !endif 109 114 110 115 !if $%VBOX_WITH_CROGL% == "1" … … 123 128 !if $%BUILD_TARGET_ARCH% == "amd64" 124 129 FILE "$%PATH_OUT%\bin\additions\VBoxDispD3D-x86.dll" 130 !if $%VBOX_WITH_MESA3D% == "1" 131 FILE "$%PATH_OUT%\bin\additions\VBoxNine-x86.dll" 132 FILE "$%PATH_OUT%\bin\additions\VBoxSVGA-x86.dll" 133 FILE "$%PATH_OUT%\bin\additions\VBoxGL-x86.dll" 134 !endif 125 135 126 136 !if $%VBOX_WITH_CROGL% == "1" -
trunk/src/VBox/Additions/WINNT/Installer/VBoxGuestAdditionsW2KXP.nsh
r71323 r75445 240 240 241 241 FILE "$%PATH_OUT%\bin\additions\VBoxDispD3D.dll" 242 !if $%VBOX_WITH_MESA3D% == "1" 243 FILE "$%PATH_OUT%\bin\additions\VBoxNine.dll" 244 FILE "$%PATH_OUT%\bin\additions\VBoxSVGA.dll" 245 FILE "$%PATH_OUT%\bin\additions\VBoxGL.dll" 246 !endif 242 247 243 248 !if $%VBOX_WITH_CROGL% == "1" … … 256 261 !if $%BUILD_TARGET_ARCH% == "amd64" 257 262 FILE "$%PATH_OUT%\bin\additions\VBoxDispD3D-x86.dll" 263 !if $%VBOX_WITH_MESA3D% == "1" 264 FILE "$%PATH_OUT%\bin\additions\VBoxNine-x86.dll" 265 FILE "$%PATH_OUT%\bin\additions\VBoxSVGA-x86.dll" 266 FILE "$%PATH_OUT%\bin\additions\VBoxGL-x86.dll" 267 !endif 258 268 259 269 !if $%VBOX_WITH_CROGL% == "1" … … 525 535 ; Obsolete files end 526 536 Delete /REBOOTOK "$%PATH_OUT%\bin\additions\VBoxDispD3D.dll" 537 !if $%VBOX_WITH_MESA3D% == "1" 538 Delete /REBOOTOK "$%PATH_OUT%\bin\additions\VBoxNine.dll" 539 Delete /REBOOTOK "$%PATH_OUT%\bin\additions\VBoxSVGA.dll" 540 Delete /REBOOTOK "$%PATH_OUT%\bin\additions\VBoxGL.dll" 541 !endif 527 542 528 543 Delete /REBOOTOK "$%PATH_OUT%\bin\additions\VBoxOGLarrayspu.dll" … … 541 556 !if $%BUILD_TARGET_ARCH% == "amd64" 542 557 Delete /REBOOTOK "$%PATH_OUT%\bin\additions\VBoxDispD3D-x86.dll" 558 !if $%VBOX_WITH_MESA3D% == "1" 559 Delete /REBOOTOK "$%PATH_OUT%\bin\additions\VBoxNine-x86.dll" 560 Delete /REBOOTOK "$%PATH_OUT%\bin\additions\VBoxSVGA-x86.dll" 561 Delete /REBOOTOK "$%PATH_OUT%\bin\additions\VBoxGL-x86.dll" 562 !endif 543 563 544 564 Delete /REBOOTOK "$%PATH_OUT%\bin\additions\VBoxOGLarrayspu-x86.dll" … … 609 629 610 630 Delete /REBOOTOK "$g_strSystemDir\VBoxDispD3D.dll" 631 !if $%VBOX_WITH_MESA3D% == "1" 632 Delete /REBOOTOK "$g_strSystemDir\VBoxNine.dll" 633 Delete /REBOOTOK "$g_strSystemDir\VBoxSVGA.dll" 634 Delete /REBOOTOK "$g_strSystemDir\VBoxGL.dll" 635 !endif 611 636 !endif ; $%VBOX_WITH_WDDM% == "1" 612 637
Note:
See TracChangeset
for help on using the changeset viewer.

