VirtualBox

Ignore:
Timestamp:
Jan 26, 2010 9:45:25 AM (15 years ago)
Author:
vboxsync
Message:

wddm: more impl

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/WINNT/Graphics/Miniport/wddm/VBoxVideoWddm.cpp

    r26036 r26041  
    575575    )
    576576{
    577     return STATUS_NOT_IMPLEMENTED;
     577    /* The DxgkDdiIsSupportedVidPn should be made pageable. */
     578    PAGED_CODE();
     579
     580    /* @todo: implement a check */
     581    pIsSupportedVidPnArg->IsVidPnSupported = TRUE;
     582    return STATUS_SUCCESS;
    578583}
    579584
     
    653658                            /* @todo: should we obtain the default mode from the host? */
    654659                            pNewVidPnSourceModeInfo->Format.Graphics.PrimSurfSize.cx = 1024;
    655                             pNewVidPnSourceModeInfo->Format.Graphics.PrimSurfSize.cx = 768;
     660                            pNewVidPnSourceModeInfo->Format.Graphics.PrimSurfSize.cy = 768;
    656661                            pNewVidPnSourceModeInfo->Format.Graphics.VisibleRegionSize = pNewVidPnSourceModeInfo->Format.Graphics.PrimSurfSize;
    657662                            pNewVidPnSourceModeInfo->Format.Graphics.Stride = pNewVidPnSourceModeInfo->Format.Graphics.PrimSurfSize.cx * 4;
     
    665670                                if(Status == STATUS_SUCCESS)
    666671                                {
    667 
     672                                    D3DKMDT_HVIDPNTARGETMODESET hNewVidPnTargetModeSet;
     673                                    CONST DXGK_VIDPNTARGETMODESET_INTERFACE *pVidPnTargetModeSetInterface;
     674                                    Status = pVidPnInterface->pfnCreateNewTargetModeSet(pRecommendFunctionalVidPnArg->hRecommendedFunctionalVidPn,
     675                                                0, /* __in CONST D3DDDI_VIDEO_PRESENT_TARGET_ID  VidPnTargetId */
     676                                                &hNewVidPnTargetModeSet,
     677                                                &pVidPnTargetModeSetInterface);
     678                                    if(Status == STATUS_SUCCESS)
     679                                    {
     680                                        D3DKMDT_VIDPN_TARGET_MODE *pNewVidPnTargetModeInfo;
     681                                        Status = pVidPnTargetModeSetInterface->pfnCreateNewModeInfo(hNewVidPnTargetModeSet, &pNewVidPnTargetModeInfo);
     682                                        if(Status == STATUS_SUCCESS)
     683                                        {
     684                                            D3DKMDT_VIDEO_PRESENT_TARGET_MODE_ID targetId = pNewVidPnTargetModeInfo->Id;
     685                                            pNewVidPnTargetModeInfo->VideoSignalInfo.VideoStandard = D3DKMDT_VSS_OTHER;
     686                                            pNewVidPnTargetModeInfo->VideoSignalInfo.TotalSize.cx = 1024;
     687                                            pNewVidPnTargetModeInfo->VideoSignalInfo.TotalSize.cy = 768;
     688                                            pNewVidPnTargetModeInfo->VideoSignalInfo.ActiveSize = pNewVidPnTargetModeInfo->VideoSignalInfo.TotalSize;
     689                                            pNewVidPnTargetModeInfo->VideoSignalInfo.VSyncFreq.Numerator = 60;
     690                                            pNewVidPnTargetModeInfo->VideoSignalInfo.VSyncFreq.Denominator = 1;
     691                                            pNewVidPnTargetModeInfo->VideoSignalInfo.HSyncFreq.Numerator = 63 * 768; /* @todo: do we need that? */
     692                                            pNewVidPnTargetModeInfo->VideoSignalInfo.HSyncFreq.Denominator = 1;
     693                                            pNewVidPnTargetModeInfo->VideoSignalInfo.PixelRate = 165000; /* ?? */
     694                                            pNewVidPnTargetModeInfo->VideoSignalInfo.ScanLineOrdering = D3DDDI_VSSLO_PROGRESSIVE;
     695                                            pNewVidPnTargetModeInfo->Preference = D3DKMDT_MP_PREFERRED;
     696                                            Status = pVidPnTargetModeSetInterface->pfnAddMode(hNewVidPnTargetModeSet, pNewVidPnTargetModeInfo);
     697                                            if(Status == STATUS_SUCCESS)
     698                                            {
     699                                                Status = pVidPnTargetModeSetInterface->pfnPinMode(hNewVidPnTargetModeSet, targetId);
     700                                                if(Status == STATUS_SUCCESS)
     701                                                {
     702
     703                                                }
     704                                                else
     705                                                {
     706                                                    drprintf(("VBoxVideoWddm: pfnPinMode (target) failed Status(0x%x)\n"));
     707                                                }
     708                                            }
     709                                            else
     710                                            {
     711                                                drprintf(("VBoxVideoWddm: pfnAddMode (target) failed Status(0x%x)\n"));
     712                                                pVidPnTargetModeSetInterface->pfnReleaseModeInfo(hNewVidPnTargetModeSet, pNewVidPnTargetModeInfo);
     713                                                pNewVidPnTargetModeInfo = NULL;
     714                                            }
     715                                        }
     716                                        else
     717                                        {
     718                                            drprintf(("VBoxVideoWddm: pfnCreateNewModeInfo (target) failed Status(0x%x)\n"));
     719                                        }
     720                                    }
     721                                    else
     722                                    {
     723                                        drprintf(("VBoxVideoWddm: pfnCreateNewTargetModeSet failed Status(0x%x)\n"));
     724                                    }
    668725                                }
    669726                                else
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