DxgkInitialize call in WDDM display architecture

Discussion in 'Windows Vista Drivers' started by chaitanyasudi, Dec 26, 2007.

  1. Hi,

    What happens when the DxgkInitialize is called in another kernel mode
    miniport driver apart from the regular primary diplay miniport driver?

    is this a valid one to do?

    what i am trying to do is creating a virtual display driver(WDDM), in
    order to get the drawing calls i should initialize dxgkrnl with
    DxgkInitialize , if i am correct?

    please help me ?

    Thanks in advance
    chaitanya.
     
    chaitanyasudi, Dec 26, 2007
    #1
    1. Advertisements

  2. This is a perfectly valid scenario.
    You can have an array of physical (or virtual) devices,
    each one of them will initialized with DxgKrnl.sys, anch each one
    of them will report a number of Adapters and
    Video-Present-Path Sources avd Video-Present-Path Targets.
    I have one machine with an nVidia PCI-ex and an ATI PCI card,
    and, they work this way.
    I have reports of machines with 1 AGP card and 4 PCI cards,
    so, I don't see any practical issues in this.

    I'm also curious about what kind of drawings you expect
    to receive with a WDDM driver.
     
    Ivan Brugiolo [MSFT], Dec 26, 2007
    #2
    1. Advertisements

  3. Hi Ivan,

    first of all let me thank you for your reply,
    I am talking about a machine with vista OS and a graphics card with a
    WDDM display driver , according to microsoft documentation multiple
    graphic cards in WDDM architecture should be driven by the same WDDM
    driver.complete documentation regarding this is provided here -http://
    www.microsoft.com/whdc/device/display/multimonVista.mspx
    a video port(DxgKrnl) can have only one video miniport attached to it
    as per the wddm architecture, so how can we attach another miniport to
    the dxgkrnl?


    specifically in my driver entry i called DxgkInitialize, after the
    driver entry call i am unable to recieve any of the drawing calls
    afterwards for example drawing calls like DxgkDdiSetPointerShape,
    DxgkDdiSetPointerPosition etc.More over my display device is not added
    as a secondary device in the display properties?

    so suggest me a way to achieve this?


    Thanks in advance

    chaitanaya
     
    chaitanyasudi, Dec 27, 2007
    #3
  4. The scenario I tried with etherogeneous adapters (ATI and nVidia)
    was on a post-Vista development build.
    Getting back the same machine to Vista/WS08 gives the documented
    result that etherogeneous adapters are not supported.
    [Or, one miniport must drive all of the physical or virtual cards].
    Sorry about that.
    I was expecting that it was possible to have different miniports,
    all of them initialized, but, not bound to NtGdi.
    This scenario would have been of no use for a (virtual)GPU as
    a video-device, but, it could have been useful for generic-purpose
    math calculation with shaders, for example.

    Probably with your experimentation you have gotten to the same point:
    the extra miniport `works` but, it is not used by NtGdi as a video-device.

    Out of my curiosity, if you use Direct3d9/DXGI functions, can you see
    your virtual device as an adapter, and, can you submit generic rendering
    commands ?
     
    Ivan Brugiolo [MSFT], Dec 27, 2007
    #4
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.