Candidato á versión Wine 8.0 e versión vkd3d 1.6

Comezaron as probas do primeiro candidato á versión Wine 8.0, unha implementación aberta de WinAPI. O código base foi posto nunha fase de conxelación antes do lanzamento, que se espera para mediados de xaneiro. Desde o lanzamento de Wine 7.22, pecháronse 52 informes de erros e fixéronse 538 cambios.

Os cambios máis importantes:

  • O paquete vkd3d coa implementación Direct3D 12 que traballa mediante a tradución de chamadas á API de gráficos Vulkan actualizouse á versión 1.6.
  • Realizouse a optimización dos conversores de chamadas do sistema (agradecementos) para Vulkan e OpenGL.
  • WinPrint amplía o soporte para procesadores de impresión.
  • Panel de control de joystick mellorado.
  • Completouse o traballo para proporcionar soporte para o tipo "longo" no código da función printf.
  • Os informes de erros relacionados co funcionamento dos xogos están pechados: Tom Clancy's Rainbow Six: Vegas 2, The Void, Ragnarok Online, Drakan, Star Wars, Colin McRae, X-COM.
  • Informes de erros pechados relacionados co funcionamento das aplicacións: TMUnlimiter 1.2.0.0, MDB Viewer Plus, Framemaker 8, Studio One Professional 5.

Ademais, podemos destacar a publicación por parte do proxecto Wine do paquete vkd3d 1.6 cunha implementación de Direct3D 12, que traballa a través da tradución de chamadas á API de gráficos Vulkan. O paquete inclúe bibliotecas libvkd3d con implementacións de Direct3D 12, libvkd3d-shader cun tradutor dos modelos de sombreadores 4 e 5 e libvkd3d-utils con funcións para simplificar a portabilidade de aplicacións Direct3D 12, así como un conxunto de exemplos de demostración, incluíndo un porto de glxgears a Direct3D 12. O código do proxecto distribúese con licenza LGPLv2.1.

A biblioteca libvkd3d admite a maioría das funcións de Direct3D 12, incluíndo gráficos e instalacións informáticas, filas e listas de comandos, identificadores e identificadores de montón, sinaturas raíz, acceso fóra de orde, mostradores, sinaturas de comandos, constantes raíz, renderización indirecta, métodos claros *( ) e Copiar*(). En libvkd3d-shader, implícase a tradución do bytecode dos modelos de shader 4 e 5 nunha representación SPIR-V intermedia. Admite sombreadores de vértice, píxeles, teselación, computación e xeometría simple, serialización e deserialización de sinatura raíz. As instrucións de sombreado inclúen operacións aritméticas, atómicas e de bits, operadores de comparación e control de fluxo de datos, instrucións de mostra, recollida e carga, operacións de acceso sen ordenar (UAV, Vista de acceso sen ordenar).

A nova versión segue mellorando o compilador de shader en HLSL (High-Level Shader Language), proporcionado a partir de DirectX 9.0. As melloras relacionadas co HLSL inclúen:

  • Implementouse o soporte inicial para os sombreadores informáticos.
  • Compatibilidade mellorada para inicializar e asignar obxectos compostos como estruturas e matrices.
  • Engadiuse a posibilidade de cargar e gardar recursos de textura mediante o acceso fóra de orde (UAV).
  • Engadiuse soporte para atributos de función e implementáronse funcións integradas asuint(), length(), normalize().
  • Engadido soporte para módulos de coma flotante.
  • Implementouse a marca VKD3D_SHADER_DESCRIPTOR_INFO_FLAG_UAV_ATOMICS para indicar operacións atómicas en descritores de representación de acceso non ordenado (UAV).

Fonte: opennet.ru

Engadir un comentario