Lanzamento de DXVK 2.0, implementacións de Direct3D 9/10/11 ademais da API Vulkan

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

Engadir un comentario