VirtualBox

Ignore:
Timestamp:
Jan 27, 2010 2:49:49 PM (15 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
56999
Message:

wddm: more impl

File:
1 edited

Legend:

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

    r26053 r26069  
    270270
    271271    dfprintf(("==> "__FUNCTION__ ", context(0x%x)\n", MiniportDeviceContext));
    272     for (ULONG i = 0; i < ChildRelationsSize; i++)
     272    for (ULONG i = 0; i < ChildRelationsSize; ++i)
    273273    {
    274274        ChildRelations[i].ChildDeviceType = TypeVideoOutput;
     
    277277        ChildRelations[i].ChildCapabilities.Type.VideoOutput.SupportsSdtvModes = FALSE;
    278278        ChildRelations[i].ChildCapabilities.HpdAwareness = HpdAwarenessAlwaysConnected;
    279         ChildRelations[i].AcpiUid =  i+1; /* @todo: do we need it? could it be zero ? */
    280         ChildRelations[i].ChildUid = i+1; /* could it be zero ? */
     279        ChildRelations[i].AcpiUid =  i; /* @todo: do we need it? could it be zero ? */
     280        ChildRelations[i].ChildUid = i; /* could it be zero ? */
    281281    }
    282282    dfprintf(("<== "__FUNCTION__ ", context(0x%x)\n", MiniportDeviceContext));
     
    408408    CONST DXGKARG_QUERYADAPTERINFO*  pQueryAdapterInfo)
    409409{
    410     return STATUS_NOT_IMPLEMENTED;
     410    /* The DxgkDdiQueryAdapterInfo should be made pageable. */
     411    PAGED_CODE();
     412
     413    dfprintf(("==> "__FUNCTION__ ", context(0x%x)\n", hAdapter));
     414    NTSTATUS Status = STATUS_SUCCESS;
     415
     416    switch (pQueryAdapterInfo->Type)
     417    {
     418        case DXGKQAITYPE_DRIVERCAPS:
     419        {
     420            DXGK_DRIVERCAPS *pCaps = (DXGK_DRIVERCAPS*)pQueryAdapterInfo->pOutputData;
     421
     422            pCaps->HighestAcceptableAddress.HighPart = 0xffffffffUL;
     423            pCaps->HighestAcceptableAddress.LowPart = 0xffffffffUL;
     424            pCaps->MaxAllocationListSlotId = 0xffffffffUL;
     425            pCaps->ApertureSegmentCommitLimit = 0;
     426            pCaps->MaxPointerWidth = 0xffffffffUL;
     427            pCaps->MaxPointerHeight = 0xffffffffUL;
     428            pCaps->PointerCaps.Value = 0x7; /* Monochrome , Color , MaskedColor */
     429            pCaps->InterruptMessageNumber = 0;
     430            pCaps->NumberOfSwizzlingRanges = 0;
     431            /* @todo: need to adjust this for proper 2D Accel support */
     432            pCaps->MaxOverlays = 0;
     433            pCaps->GammaRampCaps.Value = 0;
     434            pCaps->PresentationCaps.Value = 0;
     435            pCaps->PresentationCaps.NoScreenToScreenBlt = 1;
     436            pCaps->PresentationCaps.NoOverlapScreenBlt = 1;
     437            pCaps->MaxQueuedFlipOnVSync = 1; /* @todo: need more ?? */
     438            pCaps->FlipCaps.Value = 0;
     439            pCaps->FlipCaps.FlipOnVSyncWithNoWait = 1;
     440            pCaps->FlipCaps.FlipOnVSyncMmIo = 1; /* @todo: ?? */
     441            pCaps->SchedulingCaps.Value = 0;
     442            /* @todo: we might need it for Aero.
     443             * Setting this glag would mean we support DeviceContext, i.e.
     444             *  DxgkDdiCreateContext and DxgkDdiDestroyContext
     445             *
     446             *  pCaps->SchedulingCaps.MultiEngineAware = 1;
     447             */
     448            pCaps->MemoryManagementCaps.Value = 0;
     449            /* @todo: this corelates with pCaps->SchedulingCaps.MultiEngineAware */
     450            pCaps->MemoryManagementCaps.PagingNode = 0;
     451            /* @todo: this corelates with pCaps->SchedulingCaps.MultiEngineAware */
     452            pCaps->GpuEngineTopology.NbAsymetricProcessingNodes = 0;
     453
     454            break;
     455        }
     456        case DXGKQAITYPE_QUERYSEGMENT:
     457        {
     458            DXGK_QUERYSEGMENTIN *pQsIn = (DXGK_QUERYSEGMENTIN*)pQueryAdapterInfo->pInputData;
     459            DXGK_QUERYSEGMENTOUT *pQsOut = (DXGK_QUERYSEGMENTOUT*)pQueryAdapterInfo->pOutputData;
     460            break;
     461        }
     462        case DXGKQAITYPE_UMDRIVERPRIVATE:
     463            drprintf((""__FUNCTION__ ": we do not support DXGKQAITYPE_UMDRIVERPRIVATE\n"));
     464            Status = STATUS_NOT_SUPPORTED;
     465            break;
     466        default:
     467            drprintf((""__FUNCTION__ ": unsupported Type (%d)\n", pQueryAdapterInfo->Type));
     468            Status = STATUS_NOT_SUPPORTED;
     469            break;
     470    }
     471    dfprintf(("<== "__FUNCTION__ ", context(0x%x), Status(0x%x)\n", hAdapter, Status));
     472    return Status;
    411473}
    412474
Note: See TracChangeset for help on using the changeset viewer.

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