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 97 | Workstation PC 97 | Entertainment PC 97 | ||||
Required | Required | Required |
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 97 | Workstation PC 97 | Entertainment PC 97 | ||||
Recommended | Recommended | Required |
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 | 320x240x16 bpp | 640x400x16 bpp |
The following low-resolution modes are recommended:
400x300x16 bpp | 512x384x16 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 97 | Workstation PC 97 | Entertainment PC 97 | ||||
Recommended | Recommended | Required |
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 97 | Workstation PC 97 | Entertainment PC 97 | ||||
Recommended | Required | Required |
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 97 | Workstation PC 97 | Entertainment PC 97 | ||||
Recommended | Recommended | Required |
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 97 | Workstation PC 97 | Entertainment PC 97 | ||||
Recommended | Recommended | Recommended |
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 97 | Workstation PC 97 | Entertainment PC 97 | ||||
Recommended | Recommended | Required |
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.