Wine-projektet har publicerat Vkd3d 1.13 med implementering av Direct3D 12

Projekt Wine har publicerat version 1.13 av paketet vkd3d, som implementerar Direct3D 12, som fungerar via translatering av anrop till grafiska API:er Vulkan. Paketet innehÄller bibliotek som libvkd3d med implementation av Direct3D 12, libvkd3d-shader med translatörer för shader-modeller 4 och 5, samt libvkd3d-utils med funktioner för att förenkla portningen av Direct3D 12-applikationer, samt en uppsÀttning demonstrations exempel, inklusive porteringen av glxgears till Direct3D 12. Projektkoden distribueras under LGPLv2.1-licensen.

Biblioteket libvkd3d stöder de flesta funktionerna i Direct3D 12, inklusive verktyg för grafik och berÀkningar, köer och kommandolister, deskriptorer och stapeldeskriptorer, rot-signaturer, osorterad Ätkomst, Sampler-ar, kommandosignaturer, rot-konstanter, indirekt rendering, samt metoderna Clear*() och Copy*(). I libvkd3d-shader har translatörerna för shader-modeller implementerat översÀttning av bytekod till mellankod i SPIR-V. Vertex-, pixel-, tessellations-, compute- och geometriska shaders stöds, liksom serialisering och deserialisering av rot-signaturer. Bland shader-instruktionerna implementeras aritmetiska, atomÀra och bitoperationer, jÀmförelse- och kontrollflödesoperatörer, samt instruktionerna sample, gather och load, och operationerna för osorterad Ätkomst (UAV, Unordered Access View).

I den nya versionen:

  • Kompilatorn HLSL har fĂ„tt stöd för loopopprullning (loop unrolling, en optimering dĂ€r cykliska operationer för att effektivt anvĂ€nda processorcache och minska förgrening ersĂ€tts med flera pĂ„ varandra följande kopior av koden).
  • Stöd för effektkompilatorn har lagts till för vissa tillstĂ„ndsobjekt av den fjĂ€rde shader-modellen.
  • Stöd för typer av den fjĂ€rde shader-modellen som BlendState, ComputeShader, DomainShader, GeometryShader, HullShader, DepthStencilState och RasterizerState har sĂ€kerstĂ€llts, samt funktionerna OMSetRenderTargets(), SetBlendState(), SetComputeShader(), SetDomainShader(), SetGeometryShader(), SetHullShader(), SetPixelShader(), SetVertexShader(), SetDepthStencilState() och SetRasterizerState().
  • I shader-kompilatorn har stöd för analys och lagring av olika format av initieringsvĂ€rden för globala variabler, funktionsparametrar och annotationer implementerats.
  • Stöd för registerutrymmet i shader-modell 5.1 har lagts till.
  • Implementerade inbyggda funktioner inkluderar tex1D(), tex2D(), tex3D(), texCUBE(), asint(), f16tof32(), faceforward(), GetRenderTargetSampleCount(), rcp(), tex2Dbias(), tex1Dgrad(), tex2Dgrad(), tex3Dgrad() och texCUBEgrad().
  • I libvkd3d har grĂ€nssnittet ID3D12CommandList6 lagts till och möjligheten att skapa texturer, vars komprimering sker pĂ„ nivĂ„er av individuella block (till exempel komprimeras block av storlek 4×4 pixlar separat).
  • Stödet för struktur vkd3d_shader_parameter_info och parametrarna VKD3D_SHADER_PARAMETER_DATA_TYPE_FLOAT32, VKD3D_SHADER_PARAMETER_NAME_ALPHA_TEST_FUNC, VKD3D_SHADER_PARAMETER_NAME_ALPHA_TEST_REF, VKD3D_SHADER_PARAMETER_NAME_FLAT_INTERPOLATION och VKD3D_SHADER_PARAMETER_TYPE_BUFFER har lagts till.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster