First post, by truth_deleted
[Edit: I confirmed that this fix is specific to the ATI HD6xxx series + driver. I did not observe the graphical anomaly in an older ATI card. So, the main bug mentioned below is specific to this class of video cards and their drivers. There are other anomalies related to occasional font problems in D3D games, but those issues are likely related to the core video emulation itself and not OpenGL; it's even possible the issues are in physical hardware, too]
Using both a new and older ATI video card, I observed occasional graphical anomalies in 2d rendered objects while running Voodoo1 hardware emulation in DOSBox. However, the software emulation does not show these anomalies in DOS games. Since these problems mainly occur in hardware emulation mode, therefore this is mainly an OpenGL-specific problem and not necessarily in the 3dfx emulation itself.
Voodoo1 hardware emulation renders an image by OpenGL instructions to the video card. This allows for fast framerates. We have Kekko (and gulikoza) to thank for this crucial advance in emulation. Unfortunately, the video drivers are not perfect in their OpenGL implementation. I have noted graphical anomalies in some 2d objects, mainly while running Direct3d games with hardware emulation active. This is typically observed in the heads-up display (HUD) in these games, although 3dfx games run fine in Windows. I have also noted an ATI-specific (HD6xxx) bug in the HUD in EF2000 (3dfx mode in DOS) including some font corruption. This EF2000 bug is fixed by the "3dfx scaling patch" while scaling the window above 100%; however, attached is a separate fix for this problem while the window is not scaled up. This (experimental) fix also reduces 2d anomalies while playing Direct3d games.
I attached a patch which includes just a single line of code to enable anti-aliasing of individual pixels (points) drawn to the screen during hardware emulation. It's not a perfect solution which causes occasional artifacts in the menu screen (of a d3d6 game), however, it allows the 2d-rendered HUD to display properly with fewer artifacts. It's an experimental workaround to fix graphical anomalies in direct3d games and in 3dfx DOS games. This line of code allows for a more readable HUD in Rainbow Six (Direct3d6) and fixes the HUD in EF2000 (DOS/3dfx). This fix should only be implemented to make these games playable, otherwise working games will show the anti-aliasing effect which may not be desired.