Hardware Acceleration for 2-D Graphics

This section summarizes guidelines related to 2-D DirectDraw graphics features that can be implemented as hardware acceleration features.

Hardware acceleration for 2-D graphics is required for Entertainment PC 97 systems, with individual items in this section marked as required or recommended for that system type.

In general, hardware acceleration for 2-D graphics is not required for Basic PC 97 or Workstation PC 97 systems. The individual items in this section are required or recommended only if a hardware manufacturer chooses to implement hardware acceleration in a graphics adapter. For Workstation PC 97, it is recommended that the PC system manufacturer select graphics adapters that provide hardware acceleration when designing PC systems to support high-quality graphics for use with professional graphics applications.

The following items for DirectDraw acceleration are presented in this section in order of importance.

17. Direct frame buffer access

Basic PC 97Workstation PC 97Entertainment PC 97

RequiredRequiredRequired


It must be possible for applications to perform direct frame buffer accesses at any time, even while asynchronous accelerator operations are being executed. Without this capability, drivers cannot support DirectDraw or Direct3D on Windows NT, and operations on Windows 95 will not be fully robust.

18. Linear-mapped low resolution modes

Basic PC 97Workstation PC 97Entertainment PC 97

RecommendedRecommendedRequired


Decreasing the size of the frame buffer decreases the average polygon size and increases the frame rate for a given scene. Most games currently run in 320x200x8 bpp mode. Providing additional modes provides support for software rendering games and software Direct3D.

If you implement low-resolution support in the hardware, the following are the required low-resolution modes:

320x200x16 bpp
320x200x8 bpp

320x240x16 bpp
320x240x8 bpp

640x400x16 bpp
640x400x8 bpp


The following low-resolution modes are recommended:

400x300x16 bpp
400x300x8 bpp

512x384x16 bpp
512x384x8 bpp


Note In Windows 95, low-resolution capabilities must not be defined in the registry so that they do not appear in the Display Control Panel. In Windows NT, the Control Panel automatically filters out these modes.

19. Transparent blter

Basic PC 97Workstation PC 97Entertainment PC 97

RecommendedRecommendedRequired


A transparent blter can perform a blt with a source key transparent color. This assumes that the blter is asynchronous with the host processor.

20. Perform double-buffer swaps with no tearing

Basic PC 97Workstation PC 97Entertainment PC 97

RecommendedRequiredRequired


If the frame buffer is large enough to support double-buffering, the hardware should support a mechanism for swapping buffers without visible artifacts such as "tearing." The mechanism for doing this is at the discretion of the hardware designer, but should support tear-free double-buffering for both full-screen and windowed applications.

21. Current scan line of refresh

Basic PC 97Workstation PC 97Entertainment PC 97

RecommendedRecommendedRequired


The ability to read the current scan line supports blting or writing to the screen without tearing. Also, in some contexts such as video playback, this support eliminates the need for a back buffer.

22. Programmable blter stride

Basic PC 97Workstation PC 97Entertainment PC 97

RecommendedRecommendedRecommended


A programmable blter stride ensures that Windows can use linear memory. Using a fixed stride forces Windows to use rectangular memory management, with all the related inefficiencies. It must be possible to specify different strides for the source and the destination on blts.

23. VGA destination color keying for video rectangle

Basic PC 97Workstation PC 97Entertainment PC 97

RecommendedRecommendedRequired


The compositing of the video plane under the VGA plane with the VGA pixels must be independently controllable for each VGA pixel. This VGA destination color keying must function in all video modes using either a specific color/color range (on 4-, 8-, 16-, and 24-bit SVGA modes) or an additional alpha blending bits in the color plane bits (on 15- and 32-bit SVGA modes).

This color keying of the VGA will allow certain VGA pixels to be replaced by the underlying video pixels on a pixel-by-pixel basis. This feature enables VGA video overlays, controls, Windows popups, dialogs, and so on. It must also work at the same time as any vertical/horizontal scaling that is active for the underlying video.