VirtualBox

Ignore:
Timestamp:
Apr 1, 2014 11:22:34 AM (11 years ago)
Author:
vboxsync
Message:

compilable w/o CROGL

Location:
trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPCr.cpp

    r50913 r50940  
    1616 * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
    1717 */
     18#ifdef VBOX_WITH_CROGL
    1819
    1920#include "VBoxMPWddm.h"
     
    2223#include <VBox/HostServices/VBoxCrOpenGLSvc.h>
    2324
    24 #ifdef VBOX_WITH_CROGL
    2525#include <cr_protocol.h>
    2626
     
    746746}
    747747
    748 #endif
    749 
    750748static int vboxMpCrCtlAddRef(PVBOXMP_CRCTLCON pCrCtlCon)
    751749{
     
    10121010    g_VBoxMpCrHostCaps = 0;
    10131011
    1014 #ifdef VBOX_WITH_CROGL
    10151012    VBOXMP_CRCTLCON CrCtlCon = {0};
    10161013    uint32_t u32ClientID = 0;
     
    10381035    if (RT_FAILURE(rc))
    10391036        WARN(("VBoxMpCrCtlConDisconnectHgcm failed rc (%d), ignoring..", rc));
    1040 #endif
    10411037}
    10421038
     
    10731069}
    10741070
     1071#endif
  • trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPCr.h

    r50859 r50940  
    1818#ifndef ___VBoxMPCr_h__
    1919#define ___VBoxMPCr_h__
     20
     21#ifdef VBOX_WITH_CROGL
    2022
    2123#include <VBox/VBoxGuestLib.h>
     
    216218#define VBOXMP_CRCMD_SIZE_DESTROYCONTEXT (12 + 4)
    217219
     220#endif /* #ifdef VBOX_WITH_CROGL */
     221
    218222#endif /* #ifndef ___VBoxMPCr_h__ */
  • trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPMisc.cpp

    r50927 r50940  
    180180    return NULL;
    181181}
    182 
     182#ifdef VBOX_WITH_CROGL
    183183PVBOXWDDM_SWAPCHAIN vboxWddmSwapchainCreate(UINT w, UINT h)
    184184{
     
    572572    vboxWddmHTableDestroy(&pContext->Swapchains);
    573573}
    574 
     574#endif
    575575NTSTATUS vboxWddmRegQueryDrvKeyName(PVBOXMP_DEVEXT pDevExt, ULONG cbBuf, PWCHAR pBuf, PULONG pcbResult)
    576576{
  • trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPMisc.h

    r48070 r50940  
    7070PVOID vboxWddmHTableGet(PVBOXWDDM_HTABLE pTbl, VBOXWDDM_HANDLE hHandle);
    7171
    72 
     72#ifdef VBOX_WITH_CROGL
    7373PVBOXWDDM_SWAPCHAIN vboxWddmSwapchainCreate();
    7474BOOLEAN vboxWddmSwapchainRetain(PVBOXMP_DEVEXT pDevExt, PVBOXWDDM_SWAPCHAIN pSwapchain);
     
    8484NTSTATUS vboxWddmSwapchainCtxInit(PVBOXMP_DEVEXT pDevExt, PVBOXWDDM_CONTEXT pContext);
    8585VOID vboxWddmSwapchainCtxTerm(PVBOXMP_DEVEXT pDevExt, PVBOXWDDM_CONTEXT pContext);
     86#endif
    8687
    8788
  • trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPTypes.h

    r50628 r50940  
    2121
    2222typedef struct _VBOXMP_DEVEXT *PVBOXMP_DEVEXT;
     23#ifdef VBOX_WITH_CROGL
    2324typedef struct VBOXWDDM_SWAPCHAIN *PVBOXWDDM_SWAPCHAIN;
     25#endif
    2426typedef struct VBOXWDDM_CONTEXT *PVBOXWDDM_CONTEXT;
    2527typedef struct VBOXWDDM_ALLOCATION *PVBOXWDDM_ALLOCATION;
     
    3335#include "VBoxMPCr.h"
    3436
     37#ifdef VBOX_WITH_CROGL
    3538#include <cr_vreg.h>
     39#endif
    3640
    3741#ifdef DEBUG_misha
     
    126130    uint8_t u8SyncState;
    127131    BOOLEAN bVisible;
     132#ifdef VBOX_WITH_CROGL
    128133    /* specifies whether the source has 3D overlay data visible */
    129134    BOOLEAN fHas3DVrs;
    130135    VBOXVR_LIST VrList;
     136#endif
    131137    VBOXVBVAINFO Vbva;
    132138#ifdef VBOX_WITH_VIDEOHWACCEL
     
    231237#define VBOXWDDM_INVALID_COORD ((LONG)((~0UL) >> 1))
    232238
     239#ifdef VBOX_WITH_CROGL
    233240typedef struct VBOXWDDM_SWAPCHAIN
    234241{
     
    247254    VBOXVR_LIST VisibleRegions;
    248255}VBOXWDDM_SWAPCHAIN, *PVBOXWDDM_SWAPCHAIN;
     256#endif
    249257
    250258typedef struct VBOXWDDM_CONTEXT
     
    256264    UINT  EngineAffinity;
    257265    BOOLEAN fRenderFromShadowDisabled;
     266#ifdef VBOX_WITH_CROGL
    258267    int32_t hostID;
    259268    uint32_t u32CrConClientID;
    260269    VBOXMP_CRPACKER CrPacker;
    261270    VBOXWDDM_HTABLE Swapchains;
     271#endif
    262272    VBOXVIDEOCM_CTX CmContext;
    263273    VBOXVIDEOCM_ALLOC_CONTEXT AllocContext;
  • trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPVbva.cpp

    r50933 r50940  
    9898}
    9999
     100#ifdef VBOX_WITH_CROGL
    100101/* command vbva ring buffer */
    101102
     
    12871288    return pCmd->Hdr.i32Result;
    12881289}
     1290#endif
  • trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPVbva.h

    r50859 r50940  
    5959
    6060
     61#ifdef VBOX_WITH_CROGL
    6162/* customized VBVA implementation */
    6263struct VBVAEXBUFFERCONTEXT;
     
    232233int VBoxCmdVbvaConCmdSubmitAsync(PVBOXMP_DEVEXT pDevExt, VBOXCMDVBVA_CRCMD_CMD* pCmd, FNVBOXSHGSMICMDCOMPLETION pfnCompletion, void *pvCompletion);
    233234int VBoxCmdVbvaConCmdCompletionData(void *pvCmd, VBOXCMDVBVA_CRCMD_CMD **ppCmd);
     235#endif /* #ifdef VBOX_WITH_CROGL */
    234236
    235237#endif /* #ifndef ___VBoxMPVbva_h___ */
  • trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPVdma.cpp

    r50859 r50940  
    2323#include <iprt/asm.h>
    2424#include "VBoxMPCr.h"
    25 
     25#include <iprt/mem.h>
     26
     27#ifdef VBOX_WITH_CROGL
    2628# include <packer.h>
     29#endif
    2730
    2831NTSTATUS vboxVdmaPipeConstruct(PVBOXVDMAPIPE pPipe)
     
    263266    return true;
    264267}
    265 
     268#ifdef VBOX_WITH_CROGL
    266269NTSTATUS vboxVdmaPostHideSwapchain(PVBOXWDDM_SWAPCHAIN pSwapchain)
    267270{
     
    283286    return STATUS_NO_MEMORY;
    284287}
    285 
     288#endif
    286289static VOID vboxWddmBltPipeRectsTranslate(VBOXVDMAPIPE_RECTS *pRects, int x, int y)
    287290{
     
    306309    return pDup;
    307310}
    308 
     311#ifdef VBOX_WITH_CROGL
    309312typedef struct VBOXMP_VDMACR_WRITECOMPLETION
    310313{
     
    640643    return Status;
    641644}
     645#endif
    642646
    643647static NTSTATUS vboxVdmaGgDmaColorFill(PVBOXMP_DEVEXT pDevExt, VBOXVDMA_CLRFILL *pCF)
     
    845849}
    846850
     851#ifdef VBOX_WITH_CROGL
    847852typedef struct VBOXVDMA_CRRXGENERICSYNC
    848853{
     
    12771282    }
    12781283}
     1284#endif
    12791285
    12801286NTSTATUS vboxVdmaProcessBltCmd(PVBOXMP_DEVEXT pDevExt, VBOXWDDM_CONTEXT *pContext, VBOXWDDM_DMA_PRIVATEDATA_BLT *pBlt)
     
    12851291    BOOLEAN fRenderFromSharedDisabled = pDevExt->fRenderToShadowDisabled;
    12861292    BOOLEAN fVRAMUpdated = FALSE;
    1287 
     1293#ifdef VBOX_WITH_CROGL
    12881294    if (!pDstAlloc->AllocData.hostID && !pSrcAlloc->AllocData.hostID)
     1295#endif
    12891296    {
    12901297        /* the allocations contain a real data in VRAM, do blitting */
     
    12931300    }
    12941301
     1302#ifdef VBOX_WITH_CROGL
    12951303    if (VBOXWDDM_IS_REAL_FB_ALLOCATION(pDevExt, pDstAlloc)
    12961304            && pDstAlloc->bVisible)
     
    13111319        }
    13121320    }
    1313 
     1321#endif
    13141322    return Status;
    13151323}
     
    13211329    VBOXWDDM_SOURCE *pSource = &pDevExt->aSources[pAlloc->AllocData.SurfDesc.VidPnSourceId];
    13221330    vboxWddmAssignPrimary(pDevExt, pSource, pAlloc, pAlloc->AllocData.SurfDesc.VidPnSourceId);
     1331#ifdef VBOX_WITH_CROGL
    13231332    if (pAlloc->AllocData.hostID)
    13241333    {
     
    13411350    }
    13421351    else
     1352#endif
     1353    {
    13431354        WARN(("unexpected flip request"));
     1355    }
    13441356
    13451357    return Status;
     
    13501362    NTSTATUS Status = STATUS_SUCCESS;
    13511363    PVBOXWDDM_ALLOCATION pAlloc = pCF->ClrFill.Alloc.pAlloc;
    1352 
     1364#ifdef VBOX_WITH_CROGL
    13531365    if (!pAlloc->AllocData.hostID)
     1366#endif
    13541367    {
    13551368        Status = vboxVdmaGgDmaColorFill(pDevExt, &pCF->ClrFill);
     
    13571370            WARN(("vboxVdmaGgDmaColorFill failed Status 0x%x", Status));
    13581371    }
     1372#ifdef VBOX_WITH_CROGL
    13591373    else
    13601374        WARN(("unexpected clrfill request"));
     1375#endif
    13611376
    13621377    return Status;
  • trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPVdma.h

    r47566 r50940  
    197197} VBOXVDMAPIPE_CMD_RECTSINFO, *PVBOXVDMAPIPE_CMD_RECTSINFO;
    198198
    199 typedef struct VBOXVDMAPIPE_CMD_FINISH
    200 {
    201     VBOXVDMAPIPE_CMD_DR Hdr;
    202     PVBOXWDDM_CONTEXT pContext;
    203     PKEVENT pEvent;
    204 } VBOXVDMAPIPE_CMD_FINISH, *PVBOXVDMAPIPE_CMD_FINISH;
    205 
    206 typedef struct VBOXVDMAPIPE_CMD_CANCEL
    207 {
    208     VBOXVDMAPIPE_CMD_DR Hdr;
    209     PVBOXWDDM_CONTEXT pContext;
    210     PVBOXWDDM_SWAPCHAIN pSwapchain;
    211     PKEVENT pEvent;
    212 } VBOXVDMAPIPE_CMD_CANCEL, *PVBOXVDMAPIPE_CMD_CANCEL;
    213 
    214199typedef struct VBOXVDMAPIPE_CMD_DMACMD
    215200{
     
    316301
    317302#endif
    318 
     303#ifdef VBOX_WITH_CROGL
    319304NTSTATUS vboxVdmaPostHideSwapchain(PVBOXWDDM_SWAPCHAIN pSwapchain);
     305#endif
    320306
    321307NTSTATUS vboxVdmaGgCmdDmaNotifyCompleted(PVBOXMP_DEVEXT pDevExt, PVBOXVDMAPIPE_CMD_DMACMD pCmd, DXGK_INTERRUPT_TYPE enmComplType);
     
    333319NTSTATUS vboxVdmaProcessFlipCmd(PVBOXMP_DEVEXT pDevExt, struct VBOXWDDM_CONTEXT *pContext, struct VBOXWDDM_DMA_PRIVATEDATA_FLIP *pFlip);
    334320NTSTATUS vboxVdmaProcessClrFillCmd(PVBOXMP_DEVEXT pDevExt, struct VBOXWDDM_CONTEXT *pContext, struct VBOXWDDM_DMA_PRIVATEDATA_CLRFILL *pCF);
    335 
     321#ifdef VBOX_WITH_CROGL
    336322NTSTATUS vboxVdmaTexPresentSetAlloc(PVBOXMP_DEVEXT pDevExt, PVBOXWDDM_ALLOCATION pRealFbAlloc);
     323#endif
    337324
    338325#endif /* #ifndef ___VBoxMPVdma_h___ */
  • trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPWddm.cpp

    r50929 r50940  
    347347{
    348348    NTSTATUS Status;
    349 
     349#ifdef VBOX_WITH_CROGL
    350350    if ((u8CurCyncState & VBOXWDDM_HGSYNC_F_CHANGED_LOCATION_ONLY) == VBOXWDDM_HGSYNC_F_CHANGED_LOCATION_ONLY
    351351            && pRealFbAlloc->AllocData.hostID)
     
    356356        return Status;
    357357    }
    358 
     358#endif
    359359    Status = vboxWddmGhDisplaySetMode(pDevExt, pAllocData);
    360360    if (NT_SUCCESS(Status))
     
    366366            if (NT_SUCCESS(Status))
    367367            {
     368#ifdef VBOX_WITH_CROGL
    368369                if (pDevExt->f3DEnabled)
    369370                {
     
    374375                        WARN(("vboxVdmaTexPresentSetAlloc failed, Status 0x%x", Status));
    375376                }
     377#else
     378                return STATUS_SUCCESS;
     379#endif
    376380            }
    377381            else
     
    769773    }
    770774}
    771 
     775#ifdef VBOX_WITH_CROGL
    772776static NTSTATUS vboxWddmSetupDisplaysNew(PVBOXMP_DEVEXT pDevExt)
    773777{
     
    822826    return STATUS_UNSUCCESSFUL;
    823827}
    824 
     828#endif
    825829static NTSTATUS vboxWddmSetupDisplays(PVBOXMP_DEVEXT pDevExt)
    826830{
     831#ifdef VBOX_WITH_CROGL
    827832    if (pDevExt->fCmdVbvaEnabled)
    828833    {
     
    832837        return Status;
    833838    }
     839#endif
    834840
    835841    vboxWddmSetupDisplaysLegacy(pDevExt);
     
    965971            if (Status == STATUS_SUCCESS)
    966972            {
     973#ifdef VBOX_WITH_CROGL
    967974                pDevExt->f3DEnabled = VBoxMpCrCtlConIs3DSupported();
    968975
     
    977984                    pDevExt->fCmdVbvaEnabled = FALSE;
    978985                }
     986#endif
    979987
    980988                /* Guest supports only HGSMI, the old VBVA via VMMDev is not supported.
     
    10211029                    VBoxWddmSlInit(pDevExt);
    10221030
     1031#ifdef VBOX_WITH_CROGL
    10231032                    VBoxMpCrShgsmiTransportCreate(&pDevExt->CrHgsmiTransport, pDevExt);
    1024 
     1033#endif
    10251034
    10261035                    for (UINT i = 0; i < (UINT)VBoxCommonFromDeviceExt(pDevExt)->cDisplays; ++i)
     
    10281037                        PVBOXWDDM_SOURCE pSource = &pDevExt->aSources[i];
    10291038                        KeInitializeSpinLock(&pSource->AllocationLock);
     1039#ifdef VBOX_WITH_CROGL
    10301040                        VBoxVrListInit(&pSource->VrList);
     1041#endif
    10311042                    }
    10321043
     
    11731184    NTSTATUS Status = STATUS_SUCCESS;
    11741185
     1186#ifdef VBOX_WITH_CROGL
    11751187    VBoxMpCrShgsmiTransportTerm(&pDevExt->CrHgsmiTransport);
     1188#endif
    11761189
    11771190    VBoxWddmSlTerm(pDevExt);
     
    12981311}
    12991312
    1300 
     1313#ifdef VBOX_WITH_CROGL
    13011314BOOLEAN DxgkDdiInterruptRoutineNew(
    13021315    IN CONST PVOID MiniportDeviceContext,
     
    14371450    return bOur;
    14381451}
    1439 
     1452#endif
    14401453
    14411454static BOOLEAN DxgkDdiInterruptRoutineLegacy(
     
    16551668    vboxVtListDetach2List(&pDevExt->VhwaCmdList, &pdc->data.VhwaCmdList);
    16561669#endif
     1670#ifdef VBOX_WITH_CROGL
    16571671    if (!pDevExt->fCmdVbvaEnabled)
     1672#endif
     1673    {
    16581674        vboxVdmaDdiCmdGetCompletedListIsr(pDevExt, &pdc->data.CompletedDdiCmdQueue);
     1675    }
    16591676
    16601677    pdc->data.bNotifyDpc = pDevExt->bNotifyDxDpc;
     
    16661683}
    16671684
     1685#ifdef VBOX_WITH_CROGL
    16681686static VOID DxgkDdiDpcRoutineNew(
    16691687    IN CONST PVOID  MiniportDeviceContext
     
    17111729//    LOGF(("LEAVE, context(0x%p)", MiniportDeviceContext));
    17121730}
    1713 
     1731#endif
    17141732
    17151733static VOID DxgkDdiDpcRoutineLegacy(
     
    19131931    VbglTerminate();
    19141932
     1933#ifdef VBOX_WITH_CROGL
    19151934    VBoxVrTerm();
     1935#endif
    19161936
    19171937    PRTLOGGER pLogger = RTLogRelSetDefaultInstance(NULL);
     
    21132133                    memset (pQi, 0, sizeof (VBOXWDDM_QI));
    21142134                    pQi->u32Version = VBOXVIDEOIF_VERSION;
     2135#ifdef VBOX_WITH_CROGL
    21152136                    pQi->u32VBox3DCaps = VBoxMpCrGetHostCaps();
     2137#endif
    21162138                    pQi->cInfos = VBoxCommonFromDeviceExt(pDevExt)->cDisplays;
    21172139#ifdef VBOX_WITH_VIDEOHWACCEL
     
    22932315            break;
    22942316    }
    2295 
     2317#ifdef VBOX_WITH_CROGL
    22962318    PVBOXWDDM_SWAPCHAIN pSwapchain = vboxWddmSwapchainRetainByAlloc(pDevExt, pAllocation);
    22972319    if (pSwapchain)
     
    23002322        vboxWddmSwapchainRelease(pSwapchain);
    23012323    }
     2324#endif
    23022325}
    23032326
     
    28202843}
    28212844
     2845#ifdef VBOX_WITH_CROGL
    28222846static NTSTATUS
    28232847APIENTRY
     
    28682892    return STATUS_SUCCESS;
    28692893}
    2870 
     2894#endif
    28712895
    28722896static NTSTATUS
     
    30393063    PVBOXWDDM_CALL_ISR pdc = (PVBOXWDDM_CALL_ISR)Context;
    30403064    PVBOXMP_DEVEXT pDevExt = pdc->pDevExt;
     3065#ifdef VBOX_WITH_CROGL
    30413066    if (pDevExt->fCmdVbvaEnabled)
    30423067        return DxgkDdiInterruptRoutineNew(pDevExt, pdc->MessageNumber);
     3068#endif
    30433069    return DxgkDdiInterruptRoutineLegacy(pDevExt, pdc->MessageNumber);
    30443070}
     
    30713097#endif
    30723098
     3099#ifdef VBOX_WITH_CROGL
    30733100static NTSTATUS
    30743101APIENTRY
     
    31623189    return STATUS_UNSUCCESSFUL;
    31633190}
     3191#endif
    31643192
    31653193static NTSTATUS
     
    33573385}
    33583386
     3387#ifdef VBOX_WITH_CROGL
    33593388static NTSTATUS
    33603389APIENTRY
     
    33673396    PVBOXMP_DEVEXT pDevExt = (PVBOXMP_DEVEXT)hAdapter;
    33683397
     3398    vboxVDbgBreakF();
     3399
    33693400    VBoxCmdVbvaPreempt(pDevExt, &pDevExt->CmdVbva, pPreemptCommand->PreemptionFenceId);
    33703401
     
    33733404    return STATUS_SUCCESS;
    33743405}
    3375 
     3406#endif
    33763407
    33773408static NTSTATUS
     
    33913422}
    33923423
     3424#ifdef VBOX_WITH_CROGL
    33933425/*
    33943426 * DxgkDdiBuildPagingBuffer
     
    35443576    return STATUS_SUCCESS;
    35453577}
    3546 
     3578#endif
    35473579
    35483580static NTSTATUS
     
    40934125                break;
    40944126            }
    4095 #endif
     4127
    40964128            case VBOXESC_UHGSMI_ALLOCATE:
    40974129            {
     
    41344166                    Status = vboxVideoAMgrCtxAllocDestroy(&pContext->AllocContext, pDealocate->hAlloc);
    41354167                    Assert(Status == STATUS_SUCCESS);
    4136                 }
    4137                 else
    4138                     Status = STATUS_BUFFER_TOO_SMALL;
    4139 
    4140                 break;
    4141             }
    4142 
    4143             case VBOXESC_GETVBOXVIDEOCMCMD:
    4144             {
    4145                 if (pDevExt->fCmdVbvaEnabled || pDevExt->fTexPresentEnabled)
    4146                 {
    4147                     WARN(("VBOXESC_GETVBOXVIDEOCMCMD not supported for CmdVbva or TexPresent mode"));
    4148                     Status = STATUS_INVALID_PARAMETER;
    4149                     break;
    4150                 }
    4151 
    4152                 /* get the list of r0->r3 commands (d3d window visible regions reporting )*/
    4153                 PVBOXWDDM_CONTEXT pContext = (PVBOXWDDM_CONTEXT)pEscape->hContext;
    4154                 PVBOXDISPIFESCAPE_GETVBOXVIDEOCMCMD pRegions = (PVBOXDISPIFESCAPE_GETVBOXVIDEOCMCMD)pEscapeHdr;
    4155                 Assert(pEscape->PrivateDriverDataSize >= sizeof (VBOXDISPIFESCAPE_GETVBOXVIDEOCMCMD));
    4156                 if (pEscape->PrivateDriverDataSize >= sizeof (VBOXDISPIFESCAPE_GETVBOXVIDEOCMCMD))
    4157                 {
    4158                     if (pContext->enmType == VBOXWDDM_CONTEXT_TYPE_CUSTOM_3D)
    4159                     {
    4160                         Status = vboxVideoCmEscape(&pContext->CmContext, pRegions, pEscape->PrivateDriverDataSize);
    4161                         Assert(Status == STATUS_SUCCESS);
    4162                     }
    4163                     else
    4164                     {
    4165                         WARN(("VBOXESC_GETVBOXVIDEOCMCMD recieved invalid context type %d", pContext->enmType));
    4166                         Status = STATUS_INVALID_PARAMETER;
    4167                     }
    41684168                }
    41694169                else
     
    42204220                break;
    42214221            }
     4222#endif
    42224223
    42234224            case VBOXESC_SETVISIBLEREGION:
     
    43374338                break;
    43384339            }
     4340#ifdef VBOX_WITH_CROGL
    43394341            case VBOXESC_SETCTXHOSTID:
    43404342            {
     
    43824384                break;
    43834385            }
     4386#endif
    43844387            case VBOXESC_REINITVIDEOMODES:
    43854388            {
     
    47664769}
    47674770
     4771#ifdef VBOX_WITH_CROGL
    47684772static NTSTATUS
    47694773APIENTRY
     
    47834787    return STATUS_SUCCESS;
    47844788}
    4785 
     4789#endif
    47864790
    47874791static NTSTATUS
     
    57655769}
    57665770
     5771#ifdef VBOX_WITH_CROGL
    57675772static NTSTATUS
    57685773APIENTRY
     
    59325937    return STATUS_SUCCESS;
    59335938}
     5939#endif
    59345940
    59355941static void vboxWddmPatchLocationInit(D3DDDI_PATCHLOCATIONLIST *pPatchLocationListOut, UINT idx, UINT offPatch)
     
    60836089}
    60846090
     6091#ifdef VBOX_WITH_CROGL
    60856092/**
    60866093 * DxgkDdiPresent
     
    63626369    return STATUS_SUCCESS;
    63636370}
     6371#endif
    63646372
    63656373/**
     
    66826690                Assert(tmpStatus == STATUS_SUCCESS);
    66836691            }
    6684 
     6692#ifdef VBOX_WITH_CROGL
    66856693            if (!VBOXWDDM_IS_DISPLAYONLY() && pDevExt->f3DEnabled)
    66866694            {
     
    66906698                    WARN(("VBoxMpCrCtlConConnect failed rc (%d), ignoring for system context", rc));
    66916699            }
    6692 
     6700#endif
    66936701            Status = STATUS_SUCCESS;
    66946702        }
     
    67036711                switch (pInfo->enmType)
    67046712                {
     6713#ifdef VBOX_WITH_CROGL
    67056714                    case VBOXWDDM_CONTEXT_TYPE_CUSTOM_3D:
    67066715                    {
     
    68066815                        break;
    68076816                    }
     6817#endif
    68086818                    case VBOXWDDM_CONTEXT_TYPE_CUSTOM_2D:
    68096819                    {
     
    69156925    }
    69166926
     6927#ifdef VBOX_WITH_CROGL
    69176928    if (pContext->u32CrConClientID)
    69186929    {
    69196930        VBoxMpCrCtlConDisconnect(pDevExt, &pDevExt->CrCtlCon, pContext->u32CrConClientID);
    69206931    }
     6932#endif
    69216933
    69226934    vboxWddmModeRenderFromShadowDisableUnregister(pDevExt, pContext);
    69236935
     6936#ifdef VBOX_WITH_CROGL
    69246937    /* first terminate the swapchain, this will also ensure
    69256938     * all currently pending driver->user Cm commands
    69266939     * (i.e. visible regions commands) are completed */
    69276940    vboxWddmSwapchainCtxTerm(pDevExt, pContext);
     6941#endif
    69286942
    69296943    Status = vboxVideoAMgrCtxDestroy(&pContext->AllocContext);
     
    72407254static NTSTATUS vboxWddmInitFullGraphicsDriver(IN PDRIVER_OBJECT pDriverObject, IN PUNICODE_STRING pRegistryPath, BOOLEAN fCmdVbva)
    72417255{
     7256#ifdef VBOX_WITH_CROGL
    72427257#define VBOXWDDM_CALLBACK_NAME(_base, _fCmdVbva) ((_fCmdVbva) ? _base##New : _base##Legacy)
     7258#else
     7259#define VBOXWDDM_CALLBACK_NAME(_base, _fCmdVbva) (_base##Legacy)
     7260#endif
    72437261
    72447262    DRIVER_INITIALIZATION_DATA DriverInitializationData = {'\0'};
     
    74017419
    74027420        Status = STATUS_SUCCESS;
    7403 
     7421#ifdef VBOX_WITH_CROGL
    74047422        VBoxMpCrCtlConInit();
    74057423
     
    74077425        LOG(("Doing the 3D check.."));
    74087426        if (!VBoxMpCrCtlConIs3DSupported())
     7427#endif
    74097428        {
    74107429#ifdef VBOX_WDDM_WIN8
     
    74317450        if (NT_SUCCESS(Status))
    74327451        {
     7452#ifdef VBOX_WITH_CROGL
    74337453            rc = VBoxVrInit();
    74347454            if (RT_SUCCESS(rc))
     7455#endif
    74357456            {
    74367457#ifdef VBOX_WDDM_WIN8
     
    74427463#endif
    74437464                {
    7444                     Status = vboxWddmInitFullGraphicsDriver(DriverObject, RegistryPath, !!(VBoxMpCrGetHostCaps() & CR_VBOX_CAP_CMDVBVA));
     7465                    Status = vboxWddmInitFullGraphicsDriver(DriverObject, RegistryPath,
     7466#ifdef VBOX_WITH_CROGL
     7467                            !!(VBoxMpCrGetHostCaps() & CR_VBOX_CAP_CMDVBVA)
     7468#else
     7469                            FALSE
     7470#endif
     7471                            );
    74457472                }
    74467473
    74477474                if (NT_SUCCESS(Status))
    74487475                    return Status;
    7449 
     7476#ifdef VBOX_WITH_CROGL
    74507477                VBoxVrTerm();
    7451             }
     7478#endif
     7479            }
     7480#ifdef VBOX_WITH_CROGL
    74527481            else
    74537482            {
     
    74557484                Status = STATUS_UNSUCCESSFUL;
    74567485            }
     7486#endif
    74577487        }
    74587488        else
  • trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPWddm.h

    r50628 r50940  
    128128DECLINLINE(void) vboxWddmAssignShadow(PVBOXMP_DEVEXT pDevExt, PVBOXWDDM_SOURCE pSource, PVBOXWDDM_ALLOCATION pAllocation, D3DDDI_VIDEO_PRESENT_SOURCE_ID srcId)
    129129{
     130#ifdef VBOX_WITH_CROGL
    130131    if (pDevExt->fCmdVbvaEnabled)
    131132    {
     
    133134        return;
    134135    }
     136#endif
    135137
    136138    if (pSource->pShadowAllocation == pAllocation)
     
    238240bool vboxWddmGhDisplayCheckSetInfoFromSource(PVBOXMP_DEVEXT pDevExt, PVBOXWDDM_SOURCE pSource);
    239241
     242#ifdef VBOX_WITH_CROGL
    240243#define VBOXWDDMENTRY_2_SWAPCHAIN(_pE) ((PVBOXWDDM_SWAPCHAIN)((uint8_t*)(_pE) - RT_OFFSETOF(VBOXWDDM_SWAPCHAIN, DevExtListEntry)))
    241244
     
    244247    IN ULONG MessageNumber
    245248    );
     249#endif
    246250
    247251#ifdef VBOX_WDDM_WIN8
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette