Se ha lanzado la versión de la capa DXVK 2.0, que proporciona una implementación de DXGI (Infraestructura Gráfica DirectX), Direct3D 9, 10 y 11, funcionando a través de la traducción de llamadas en la API Vulkan. Para usar DXVK se requiere tener controladores que soporten la API Vulkan 1.3, como Mesa RADV 22.0, NVIDIA 510.47.03, Intel ANV 22.0 y AMDVLK. DXVK se puede utilizar para ejecutar aplicaciones y juegos 3D en Linux a través de Wine, actuando como una alternativa de mayor rendimiento a las implementaciones de Direct3D 9/10/11 integradas en Wine que funcionan sobre OpenGL.
Principales cambios:
- Se han incrementado los requisitos para la versión de la API gráfica Vulkan: ahora se requiere un controlador que soporte Vulkan 1.3 (anteriormente se necesitaba Vulkan 1.1), lo que ha permitido implementar el soporte para nuevas características relacionadas con la compilación de shaders. En la práctica, DXVK 2.0 puede ejecutarse en cualquier sistema que soporte el uso del paquete Proton Experimental para ejecutar juegos basados en D3D11 y D3D12. Para que winevulkan funcione se requiere al menos Wine 7.1.
- Se ha integrado el código del proyecto dxvk-native, que permite crear compilaciones nativas de DXVK para Linux (no vinculadas a Wine), que se pueden utilizar no solo para ejecutar aplicaciones de Windows, sino en aplicaciones comunes de Linux, lo que puede ser útil para crear puertos de juegos para Linux sin cambiar el código de renderizado basado en D3D.
- Se ha ampliado el soporte para Direct3D 9, incluyendo una mejora en la gestión de memoria (se utilizan archivos reflejados en memoria para almacenar copias de texturas), se ha implementado el soporte para una correcta lectura de áreas activas de renderizado (solucionando problemas de artefactos al jugar GTA IV) y se ha revisado la implementación de la verificación de transparencia.
- Para Direct3D 10 se ha dejado de suministrar las bibliotecas d3d10.dll y d3d10_1.dll, las cuales no se instalaban por defecto debido a la existencia en wine de una implementación más avanzada de D3D10. Sin embargo, el soporte para la API D3D10 se ha mantenido en la biblioteca d3d10core.dll.
- El soporte para Direct3D 11 se ha llevado al nivel de funcionalidad 12_1 (Nivel de Característica D3D11), para lo cual se han implementado características como recursos en mosaico (Tiled Resources), rasterización conservadora (Conservative Rasterization) y renderizado ordenado en el rasterizador (Rasterizer Ordered Views).
- Se ha reformulado y acercado en su comportamiento a la implementación de Windows de la interfaz ID3D11DeviceContext, que representa el contexto del dispositivo que genera comandos de renderizado. La reestructuración ha mejorado la compatibilidad con bibliotecas externas y ha reducido la carga en la CPU. En particular, se ha disminuido la carga en la CPU en juegos que utilizan activamente contextos diferidos (por ejemplo, el juego Assassin’s Creed: Origins) o que llaman con frecuencia a la operación ClearState (por ejemplo, el juego God of War).
- Se han realizado cambios relacionados con la compilación de shaders. Con controladores Vulkan que soportan la extensión VK_EXT_graphics_pipeline_library, se ha implementado la compilación de shaders Vulkan durante la carga de los shaders D3D por los juegos, y no durante el renderizado, lo que ha resuelto problemas de bloqueos debido a la compilación de shaders durante el juego. La extensión requerida actualmente solo es soportada en controladores propietarios de NVIDIA, a partir de la versión 520.56.06.
- En los shaders D3D11 se ha empleado el modelo de memoria de Vulkan.
- Se ha eliminado el límite en el número de recursos que pueden estar vinculados a la vez.
- Se han solucionado problemas que se presentaban en los juegos:
- Alan Wake
- Alice Madness Returns
- Anomaly: Warzone Earth
- Beyond Good and Evil
- Dragon Age Origins
- Empire: Total War
- Final Fantasy XV
- Grand Theft Auto IV
- Heroes Of Annihilated Empires
- Limit King Of Fighters XIII
- Metal Gear Solid V: Ground Zeroes
- SiN Episodes: Emergence
- Sonic Generations
- Spider Man
- The Ship
- Warhammer Online
- Ys Seven
Fuente: opennet.ru
