El proyecto Wine ha publicado vkd3d 1.12 con la implementación de Direct3D 12

El proyecto Wine ha lanzado la versión del paquete vkd3d 1.12 con la implementación de Direct3D 12, operando a través de la traducción de llamadas al API gráfico Vulkan. El paquete incluye las bibliotecas libvkd3d con la implementación de Direct3D 12, libvkd3d-shader con el traductor de los modelos de sombreador 4 y 5, y libvkd3d-utils con funciones para facilitar la porteación de aplicaciones Direct3D 12, así como un conjunto de ejemplos de demostración, incluyendo el puerto de glxgears a Direct3D 12. El código del proyecto se distribuye bajo la licencia LGPLv2.1.

La biblioteca libvkd3d soporta la mayor parte de las características de Direct3D 12, incluyendo herramientas para gráficos y cálculos, colas y listas de comandos, descriptores y descriptores de montón, firmas raíz, acceso no ordenado, Samplers, firmas de comandos, constantes raíz, renderizado indirecto, métodos Clear*() y Copy*(). En libvkd3d-shader se implementa la traducción del bytecode de modelos de shaders a la representación intermedia SPIR-V. Se soportan shaders de vértices, píxeles, teselación, cómputo y shaders geométricos simples, así como la serialización y deserialización de la firma raíz. Se han implementado operaciones aritméticas, atómicas y bit a bit, operadores de comparación y control de flujo, instrucciones sample, gather y load, y operaciones de acceso no ordenado (UAV, Unordered Access View).

En la nueva versión:

  • Se ha añadido soporte en el compilador HLSL para la compilación directa en código ensamblador de los sombreados de Direct3D y para los tipos de destino SPIR-V.
  • Se ha mejorado el soporte en el compilador HLSL para los perfiles de los modelos de sombreado 1, 2 y 3.
  • Se han implementado funciones incorporadas para HLSL: cosh(), determinant(), refract(), sinh() y tanh().
  • Se ha añadido soporte en libvkd3d para los formatos DXGI_FORMAT_B5G6R5_UNORM, DXGI_FORMAT_B5G5R5A1_UNORM y DXGI_FORMAT_B4G4R4A4_UNORM, siempre que sean compatibles con la implementación existente del API Vulkan.
  • Se ha añadido soporte para las interfaces ID3D12ShaderCacheSession y ID3D12Device9. Se han agregado los métodos CreateCommittedResource2(), CreatePlacedResource1(), GetCopyableFootprints1() y GetResourceAllocationInfo2() a la interfaz ID3D12Device8.
  • Se han implementado las consultas de verificación D3D12_FEATURE_D3D12_OPTIONS14, D3D12_FEATURE_D3D12_OPTIONS15, D3D12_FEATURE_D3D12_OPTIONS16, D3D12_FEATURE_D3D12_OPTIONS17 y D3D12_FEATURE_D3D12_OPTIONS18.
  • Se ha añadido soporte experimental en libvkd3d-shader para el lenguaje intermedio DXIL (DirectX Intermediate Language), cubriendo la mayoría de los métodos e instrucciones de la 6ª versión del modelo de sombreado de Direct3D.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster