Projeto Wine publicado Vkd3d 1.13 com implementação Direct3D 12

O projeto Wine publicou o lançamento do pacote vkd3d 1.13 com uma implementação do Direct3D 12 que funciona por meio de chamadas de transmissão para a API gráfica Vulkan. O pacote inclui bibliotecas libvkd3d com implementações de Direct3D 12, libvkd3d-shader com um tradutor de modelos de shader 4 e 5 e libvkd3d-utils com funções para simplificar a portabilidade de aplicativos Direct3D 12, bem como um conjunto de exemplos de demonstração, incluindo uma porta do glxgears para Direct3D 12. O código do projeto é distribuído licenciado sob LGPLv2.1.

A biblioteca libvkd3d oferece suporte à maioria dos recursos do Direct3D 12, incluindo recursos gráficos e de computação, filas e listas de comandos, identificadores e identificadores de heap, assinaturas de raiz, acesso fora de ordem, amostradores, assinaturas de comando, constantes de raiz, renderização indireta, métodos Clear *( ) e Copiar*(). libvkd3d-shader implementa a tradução de bytecode de modelos de shader em uma representação SPIR-V intermediária. Suporta sombreadores de vértice, pixel, tesselação, computação e geometria simples, serialização e desserialização de assinatura raiz. As instruções do shader incluem operações aritméticas, atômicas e de bits, operadores de comparação e controle de fluxo de dados, instruções de amostragem, coleta e carregamento, operações de acesso não ordenado (UAV, Unordered Access View).

Na nova versão:

  • O compilador HLSL adicionou suporte para desenrolamento de loop (desenrolamento de loop, uma otimização na qual as operações cíclicas são substituídas por várias cópias consecutivas de código para usar o cache do processador com mais eficiência e reduzir a ramificação).
  • Adicionado suporte ao compilador de efeitos para alguns objetos de estado do modelo do quarto shader.
  • O suporte é fornecido para os tipos de modelo do quarto shader BlendState, ComputeShader, DomainShader, GeometryShader, HullShader, DepthStencilState e RasterizerState, bem como OMSetRenderTargets() SetBlendState(), SetComputeShader(), SetDomainShader(), SetGeometryShader(), SetHullShader(), Funções SetPixelShader(), SetVertexShader() SetDepthStencilState() e SetRasterizerState().
  • O compilador de shader agora oferece suporte à análise e armazenamento de valores de inicialização para variáveis ​​globais, parâmetros de função e anotações em vários formatos.
  • Adicionado suporte para espaço de registro do modelo de shader 5.1.
  • Funções integradas implementadas tex1D(), tex2D(), tex3D(), texCUBE(), asint(), f16tof32(), faceforward(), GetRenderTargetSampleCount(), rcp(), tex2Dbias(), tex1Dgrad(), tex2Dgrad () , tex3Dgrad() e texCUBEgrad().
  • A interface ID3D3CommandList12 foi adicionada ao libvkd6d e a capacidade de criar texturas é implementada, cuja compactação é realizada no nível de blocos individuais (por exemplo, blocos de 4x4 pixels são compactados separadamente).
  • Adicionado suporte para a estrutura e parâmetros vkd3d_shader_parameter_info VKD3D_SHADER_PARAMETER_DATA_TYPE_FLOAT32, VKD3D_SHADER_PARAMETER_NAME_ALPHA_TEST_FUNC, VKD3D_SHADER_PARAMETER_NAME_ALPHA_TEST_REF, TERP OLATION e VKD3D_SHADER_PARAMETER_TYPE_BUFFER.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção DDoS, servidores VPS VDS 🔥 Compre hospedagem de sites confiável com proteção contra DDoS, servidores VPS/VDS | ProHoster