2.73 / 26-02-2021

dgVoodoo 2

competition

dgVoodoo is a wrapper for old graphics APIs to run on modern Windows operating systems. Its applied using Direct3D11 with different types of wrapping outputs:

  • Hardware rendering at GPU feature level 10.1 (recommended)

  • Hardware rendering at GPU feature level 10.0 (there are some restrictions)

  • Software rendering through Microsoft WARP renderer


The API's it currently can wrap are:

  • Glide 2.11, Glide 2.45, Glide 3.1 and Glide 3.1 Napalm

  • DirectX 1-7 (all versions of DirectDraw and Direct3D up to version 7)

  • Direct3D 8.1


You also need the 3Dfx splash dlls for Glide if you want 3Dfx splash screen or watermark (shameless plug) through dgVoodoo. 


You may also need D3DRM.dll (Direct3D Retained mode) for some games and demos. It's not part of the OS since Windows Vista.

Accuracy

Performance

Features

...

Most Recent Changes

  • Replacing the HLSL compiler in Glide ps shaders with an own code generator
    So now dgVoodoo does not need the external D3DCompiler at all

  • Optimizations in D3D sw vertex processing calcs

  • Optimizations in D3D state blocks + some minor D3D9 optimizations

  • Fixing a D3D9 shader incompatibility (Mass Effect)

  • Fixing a shader validator bug (Garfield - Lasagna World Tour)

  • Fixing a regression bug in D3D frontend (Crush)

  • Fixing another bug in D3D frontend

  • Fixing a D3D12 API driving bug

  • Fixing a bump mapping bug in FF shaders (Matrox G400 demo)

  • Fixing a cube texture resolution scaling bug (Colin McRae Rally 3)

  • Fixing a vs.1.x code generator bug (Splinter Cell 2)

  • Fixing D3D9 vs.3.x pointsize output (Fable 3)

  • Minor comparison sampling fix for D3D8/9 (Test Drive Unlimited 2) (D3D12 is recommended)

  • Fixing a D3D colorkeying bug (Restricted Area)

  • Changing the criterions for accepting incoming refresh rate values in DX (see the DirectX readme for details)

  • Fixing a bug in Glide D3D12 backend (Ultimate Race Pro)

  • Fixing an encountered Glide bug (texture chroma range)

  • Minor modification for Glide GrSstWinOpen to accept (and convert) more invalid buffercount combinations

  • Some debug layer fixings for Glide3 Napalm

  • Gamma ramps now automatically works with D3D12 (with underlying optimizations)
    Color profile is always inherited because of calibration standards on modern systems
    Option General\InheritColorProfileInFullScreenMode is only taken into account when a D3D11 output API is explicitly selected (compatibility mode for old hw)

  • Introducing option GeneralExt\FullscreenAttributes with attribute 'Fake' to enable fake fullscreen rendering

  • Enabling control tabbing + fixing tab-order for the CPL



Previous Update Changes

  • Fixing a state management bug in the D3D11/12 backend (XIII)

  • Fixing a DDraw incompatibility bug (Tetris Worlds)

  • Fixing a Glide LFB locking bug + shutdown incompatibility (Speedboats, but this game has other problems too, causing crash)

  • Fixing a DDraw palette bug (Jedi Knight 2, ... and other old Star Wars games)

  • Fixing a bug in D3D9 frontend (Gothic 3)

  • Fixing an incompatibility in D3D8/9 frontend (Gothic 3)

  • Fixing some bugs in the D3D11 backend when revising code

  • Minor CPL improvements: adding 4GB to DX predefined videomemory values and observing textboxes to detect config changes

  • Internal changes/minor optimizations for future features