Difference between revisions of "Glossary:Display wrapper"
(One intermediate revision by the same user not shown) | |||
Line 52: | Line 52: | ||
| [https://github.com/crosire/d3d8to9/releases d3d8to9] || 8 || D3D9 | | [https://github.com/crosire/d3d8to9/releases d3d8to9] || 8 || D3D9 | ||
|- | |- | ||
− | | [[DXVK]] || | + | | [[DXVK]] || -11 || Vulkan 1.3<ref>[https://github.com/doitsujin/dxvk/wiki/Driver-support Driver support · doitsujin/dxvk Wiki - GitHub]</ref> |
− | |||
− | |||
|- | |- | ||
| [https://www.winehq.org/ WineD3D] || 2-11 || OpenGL, Vulkan | | [https://www.winehq.org/ WineD3D] || 2-11 || OpenGL, Vulkan |
Revision as of 12:17, 10 July 2024
System abstraction
General
Utilities
Description
As APIs get older, their maintenance or support may eventually deteriorate or outright dropped, which can lead to numerous compatibility and performance issues in older games. To circumvent these and allow older games to be played with as few issues as possible, display API wrappers can be used as a compatibility layer that intercepts instructions at runtime which the game sends using older or obsolete APIs and converts them to a different, but newer, API to make use of more modern alternatives (like newer Direct3D, OpenGL or Vulkan). This process is opaque to the game, leaving it unaware that the display API it was developed for is not the one actually being used. Hence, wrappers most often have the same filename as the game's original wrapper to be properly called on every launch.
General information
3dfx / Glide wrappers
Name | API versions | Wrapping to |
---|---|---|
dgVoodoo | 1, 2, 3 | D3D7, 9 |
dgVoodoo 2 | 1, 2, 3 | D3D11, 12 |
nGlide | 1, 2, 3 | D3D9, Vulkan |
DirectDraw wrappers
Name | API versions | Wrapping to |
---|---|---|
dgVoodoo 2 | 1-7 | D3D11, 12 |
DxWrapper | 1-7 | DDraw7 (for 1-6), D3D9 |
DDrawCompat | 1-7 | System's DDraw, but optimized |
WineD3D | 1-7 | OpenGL, Vulkan |
DXGL | 1-7 | OpenGL |
cnc-ddraw | 1-7 | GDI, OpenGL, D3D9 |
Aqrit's DDwrapper | ? | System's DDraw, but optimized |
- Required for fixing DirectDraw issues on modern systems.
Direct3D wrappers
Name | API versions | Wrapping to |
---|---|---|
dgVoodoo 2 | 2-9 | D3D11, 12 |
d3d8to9 | 8 | D3D9 |
DXVK | 8-11 | Vulkan 1.3[1] |
WineD3D | 2-11 | OpenGL, Vulkan |
DxWrapper | 2-8 | D3D7 (for 2-6), 9 |
DDrawCompat | 2-7 | System's D3D2-7, but optimized |
VKD3D-Proton | 12 | Vulkan |
Special K | 9 | D3D9Ex |
DXGL | 7 | OpenGL |
DXUP | 9-10 | D3D11 |
d912pxy | 9 | D3D12 |
- There are no Direct3D 1 and 4 versions. Direct3D started with 2, and 4 was cancelled.
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 |