From: suresh on
Hi,

My requirement is to write a generic display driver (using Windows
Vista Display Driver Model) for Vista and Win 7. I understand that I
need to write a user mode display driver and a miniport driver. The
display driver will be bound to Direct3D runtime.

My confusion comes from the point that WDK docs show a figure with
OpenGL ICD component as well. Is it an optional component if I choose
to have above mentioned architecture or a required one? I also need to
get the OpenGL ICD Development Kit for the same.
Consequently can I develop only the OpenGL ICD and still support all
the DirectX applications?

Any pointers will be of great help. Thanks,

Regards,
Suresh

From: suresh on
Hi,

Let me rephrase the question with what I have found or believe.
A display driver consists of a user mode driver (DLL) and a kernel
mode driver (SYS). The user mode automatically binds to D3D and so
will get all DirectX calls. If the display hardware supports DirectX
then these are simply offloaded to the hardware, otherwise implemented
in the software conusming CPU. The abobe is the case with an
application using DirectX APIs.
If an application uses OpenGL APIs and if vendor has provided an
OpenGL ICD then it receives OpenGL calls and like above they get
offloaded to hardware if the hardware supports it.
If there is no OpenGL ICD supplied by the vendor then the OS converts
them to D3D calls and gives to the DLL component of the driver.

Please correct if any of this is wrong. Thanks.

Regards,
Suresh

On Jan 5, 3:25 pm, suresh <patil_suresh...(a)yahoo.com> wrote:
> Hi,
>
> My requirement is to write a generic display driver (using Windows
> Vista Display Driver Model) for Vista and Win 7. I understand that I
> need to write a user mode display driver and a miniport driver. The
> display driver will be bound to Direct3D runtime.
>
> My confusion comes from the point that WDK docs show a figure with
> OpenGL ICD component as well. Is it an optional component if I choose
> to have above mentioned architecture or a required one? I also need to
> get the OpenGL ICD Development Kit for the same.
> Consequently can I develop only the OpenGL ICD and still support all
> the DirectX applications?
>
> Any pointers will be of great help. Thanks,
>
> Regards,
> Suresh

From: Tim Roberts on
suresh <patil_suresh420(a)yahoo.com> wrote:
>
>Let me rephrase the question with what I have found or believe.
>A display driver consists of a user mode driver (DLL) and a kernel
>mode driver (SYS). The user mode automatically binds to D3D and so
>will get all DirectX calls. If the display hardware supports DirectX
>then these are simply offloaded to the hardware, otherwise implemented
>in the software conusming CPU. The abobe is the case with an
>application using DirectX APIs.
>If an application uses OpenGL APIs and if vendor has provided an
>OpenGL ICD then it receives OpenGL calls and like above they get
>offloaded to hardware if the hardware supports it.
>If there is no OpenGL ICD supplied by the vendor then the OS converts
>them to D3D calls and gives to the DLL component of the driver.
>
>Please correct if any of this is wrong. Thanks.

You have the situation well in hand.
--
Tim Roberts, timr(a)probo.com
Providenza & Boekelheide, Inc.