Glossary:Display wrapper
System abstraction
General
Utilities
As APIs get older their maintenance or support may eventually deteriorate or outright dropped which can lead to numerous compatibility and performance issues. To circumvent these and allow older games to be played as normal as possible, API wrappers can be used as a compatibility layer that intercept instructions at runtime the game makes of the older or obsolete APIs and convert them to an entirely different, but newer, API to make use of more modern alternatives (like newer Direct3D, OpenGL or Vulkan). This process is transparent for the game, leaving it unaware that the display API it was developed for is not the one actually being used.
General information
3dfx / Glide wrappers
Name | API versions | Wrapping to |
---|---|---|
nGlide | 1/2/3 | D3D9, Vulkan |
dgVoodoo | 1/2/3 | D3D7, D3D9 |
dgVoodoo 2 | 1/2/3 | D3D11, D3D12 |
DirectDraw wrappers
Name | API versions | Wrapping to |
---|---|---|
Aqrit's DDwrapper | ? | DDraw |
cnc-ddraw | ? | GDI, OpenGL, D3D9 |
dgVoodoo 2 | 1-7 | D3D11, D3D12 |
DXGL | 1-7 | OpenGL |
DxWrapper | 1-7 | DDraw7 (for 1-6), D3D9 |
Direct3D wrappers
Name | API versions | Wrapping to |
---|---|---|
d3d8to9 | 8 | D3D9 |
D8VK | 8 | Vulkan |
d912pxy | 9 | D3D12 |
dgVoodoo 2 | 2-9 | D3D11, D3D12 |
DXGL | 7 | OpenGL |
DXUP | 9-10 | D3D11 |
DXVK | 9-11 | Vulkan 1.3[Note 1] |
DxWrapper | 2-6/8 | D3D7 (for 2-6), D3D9 (for 8) |
VKD3D-Proton | 12 | Vulkan |
WineD3D | 2-11 | OpenGL, Vulkan |
- There are no Direct3D 1 and 4 versions. Direct3D started with 2, and 4 was canceled.
Mantle wrappers
Name | API versions | Wrapping to |
---|---|---|
GRVK | Vulkan |
OpenGL wrappers
Name | API versions | Wrapping to |
---|---|---|
ANGLE | OpenGL ES (all, depending) | OpenGL, D3D9/11, Vulkan, Metal |
GL4ES | 2 | OpenGL ES 2.0 |
GLDirect | 1.4 | D3D6/7/8/9 |
OpenGLOn12 | 3.3 | D3D12 |
QindieGL | 1.1 | D3D9 |
TitaniumGL | 1.4 | D3D9 |
VKGL | 3.2 | Vulkan |
zink | 4.6 | Vulkan |
Vulkan wrappers
Name | API versions | Wrapping to |
---|---|---|
MoltenVK | ? | Metal |
Notes
- ↑ Since version 1.11 the
VK_KHR_dynamic_rendering
extension is required.[1] Technically speaking this was released two months before its mandated inclusion into the new Vulkan 1.3 specification (so compatible drivers aren't one and the same with it). But for just about every intent and purpose, every card that received this big major update is also new enough not to have been legacy at the end of 2021 (unlike for instance Nvidia's Kepler and AMD gpus older than GCN4).