Differences from Desktop Implementations (Windows CE 5.0)
The original graphics driver design for Windows CE was created to provide a uniform GDI implementation across a wide variety of simple hardware with a minimal memory footprint. By augmenting the display driver implementation to include DirectDraw, Windows CE supports more sophisticated hardware and applications that can support a wide variety of high-performance functionality. This extends the current implementation to support new hardware and provides applications with the graphical power and flexibility they require.
In Windows CE, DirectDraw is generally a subset of the corresponding version of DirectDraw for Windows. The DirectDraw hardware abstraction layer (DDHAL) for Windows CE was designed as a modified version of the DDHAL for Windows-based desktop platforms.
The following list describes the key differences in the Windows CE implementation:
A single 32-bit DDHAL implementation combines the 16-bit and 32-bit implementations for Windows-based desktop platforms.
This 32-bit implementation is part of a Windows CE–based display driver instead of a separate DLL or part of a display minidriver. Minimal divergence from the original design of DDI for Windows CE is very important. Additionally, it is important that GPE be extended to make supporting DirectDraw much easier.
The virtual display driver (VDD) and kernel services functionality specific to Windows-based desktop platforms is omitted.
A new entry point is included to allow DirectDraw to initialize the DDHAL for the current display driver.
There is no support for palletized primary surfaces.
Primary surfaces have a 16-bit minimum pixel width.
The special functionality of AGP, such as sharing system RAM as video memory, can be supported entirely from within the driver, but there is no help from the middleware.
Implementations of Windows CE for hardware platforms that rely heavily on emulated software alpha blending composition might want to differentiate between GDI**surfaces and active, screen, or primary surfaces. These are all the same in a Windows desktop implementation.
The driver is responsible for video management.
DirectDraw does not offer a VIDMEM-style heap management service. GPE-based heap management services can be for video management.
Because Windows CE is an exclusively 32-bit operating system, it cannot support the 16-bit functionality of DirectDraw. This functionality can be removed without any notable drawbacks.
The DDI for the Windows CE has combined the display driver, port, and miniport into a single device-specific display driver with a new set of initialization routines. This is different than the Windows desktop DDHAL architecture, so a different mechanism of DDHAL initialization is required.
Send Feedback on this topic to the authors