Step 4: Add Hardware Acceleration Code

Because the DIB engine uses highly-efficient software acceleration routines, it is not necessary to write any software accelerators. To improve display performance, your display adapter may be able to implement specific DDI calls through hardware. If you can use hardware to accelerate some driver drawing calls, performance will be greatly enhanced. The following operations are suggested, in order of importance:

For each call you replace with hardware acceleration, take the corresponding line out of DIBLINK.ASM. For example, if you replace StretchBlt with hardware acceleration, remove:


DIBLINK StretchBlt, DIB_StretchBlt

Note that if the driver can support multiple chipsets, the Enable section should detect the chipset and set flags for specific accelerators. Only add the detection you need; for example, don't add code to detect bus types if your hardware acceleration code does nothing unusual for a particular type of bus.