O lanzamento da capa DXVK 2.0 está dispoñible, que ofrece unha implementación de DXGI (DirectX Graphics Infrastructure), Direct3D 9, 10 e 11, que funciona mediante a tradución de chamadas á API de Vulkan. DXVK require controladores compatibles coa API Vulkan 1.3, como Mesa RADV 22.0, NVIDIA 510.47.03, Intel ANV 22.0 e AMDVLK. DXVK pódese usar para executar aplicacións e xogos 3D en Linux usando Wine, servindo como unha alternativa de maior rendemento ás implementacións integradas de Wine Direct3D 9/10/11 que se executan enriba de OpenGL.
Principais cambios:
- Aumentáronse os requisitos para a versión da API de gráficos Vulkan: agora require un controlador con soporte para Vulkan 1.3 (anteriormente era necesario Vulkan 1.1), o que permitiu implementar soporte para novas funcións relacionadas coa compilación de sombreadores. Na práctica, DXVK 2.0 pódese executar en calquera sistema que admita o uso do paquete Proton Experimental para executar xogos baseados en D3D11 e D3D12. Winevulkan require polo menos Wine 7.1 para funcionar.
- Inclúe o código do proxecto dxvk-native, que permite crear ensamblaxes DXVK nativas para Linux (non vinculadas a Wine), que se poden usar non para executar aplicacións de Windows, pero si en aplicacións Linux habituais, que poden ser útiles para crear portos de xogos para Linux sen cambiar o código de renderizado baseado en D3D.
- Ampliouse o soporte para Direct3D 9, incluíndo a xestión da memoria mellorada (usanse ficheiros mapeados na memoria para almacenar copias de texturas), implementouse o soporte para a lectura correcta das áreas de renderización activas (resolveuse os problemas coa aparición de artefactos ao xogar GTA IV) , e reelaborouse a implementación do control de transparencia.
- Para Direct3D 10, descontinuáronse as bibliotecas d3d10.dll e d3d10_1.dll, que non estaban instaladas por defecto debido á presenza dunha implementación máis avanzada de D3D10 en viño. Ao mesmo tempo, a compatibilidade coa API D3D10 continúa na biblioteca d3d10core.dll.
- A compatibilidade con Direct3D 11 pasou ao nivel de funcionalidade 12_1 (Nivel de función D3D11), para conseguir que funcións se implementaron como Recursos en mosaico, Rasterización conservadora e Vistas ordenadas por rasterización.
- A implementación da interface ID3D11DeviceContext, que representa o contexto do dispositivo que xera comandos de debuxo, foi redeseñado e achégase no seu comportamento a Windows. A reelaboración mellorou a compatibilidade con bibliotecas de terceiros e reduciu a carga da CPU. En particular, a carga da CPU reduciuse nos xogos que usan activamente contextos diferidos (por exemplo, Assassin's Creed: Origins) ou chaman frecuentemente á operación ClearState (por exemplo, God of War).
- Realizáronse cambios relacionados coa compilación de sombreadores. En presenza de controladores Vulkan con soporte para a extensión VK_EXT_graphics_pipeline_library, a compilación de sombreadores Vulkan implícase mentres os xogos cargan sombreadores D3D, e non durante a renderización, o que resolveu os problemas de conxelación debido á compilación de sombreadores durante o xogo. A extensión necesaria actualmente só se admite nos controladores propietarios de NVIDIA, a partir da versión 520.56.06.
- Os sombreadores D3D11 usan o modelo de memoria Vulkan.
- Eliminouse o límite no número de recursos que se poden ligar á vez.
- Solucionáronse os problemas que se producían nos xogos:
- Alan Wake
- Volve Alice Madness
- Anomalía: Warzone Earth
- Máis aló do ben e do mal
- Orixes da idade do dragón
- Empire: Total War
- Final Fantasy XV
- Grand Theft Auto IV
- Heroes Of Annihilated Empires
- Límite King Of Fighters XIII
- Metal Gear Solid V: Ground Zeroes
- Episodios de SiN: emerxencia
- Xeracións Sonic
- Spider-Man
- O barco
- Warhammer en liña
- Y's Sete
Fonte: opennet.ru