Wine project luam tawm Vkd3d 1.7 nrog Direct3D 12 kev siv

Txoj haujlwm Wine tau tshaj tawm qhov kev tso tawm ntawm vkd3d 1.7 pob nrog kev siv ntawm Direct3D 12 uas ua haujlwm los ntawm kev hu xov tooj mus rau Vulkan graphics API. Cov pob suav nrog libvkd3d cov tsev qiv ntawv nrog kev siv ntawm Direct3D 12, libvkd3d-shader nrog tus txhais lus ntawm cov qauv ntxoov ntxoo 4 thiab 5 thiab libvkd3d-utils nrog cov haujlwm yooj yim rau kev yooj yim porting ntawm Direct3D 12 daim ntawv thov, nrog rau cov qauv piv txwv, suav nrog chaw nres nkoj ntawm glxgears rau Direct3D 12. Qhov project code yog muab tso rau hauv LGPLv2.1.

Lub tsev qiv ntawv libvkd3d txhawb nqa feem ntau Direct3D 12 nta, suav nrog cov duab thiab cov khoom siv suav nrog, cov kab thiab cov npe hais kom ua, cov lis haujlwm thiab heap tuav, cov hauv paus kos npe, kev nkag mus tsis tau, Samplers, kos npe kos npe, cov hauv paus tsis tu ncua, tsis ncaj qha rendering, Clear txoj kev *( ) thiab Copy*(). Hauv libvkd3d-shader, kev txhais lus ntawm bytecode ntawm cov qauv duab ntxoov ntxoo 4 thiab 5 rau hauv qhov nruab nrab SPIR-V sawv cev yog siv. Txhawb vertex, pixel, tessellation, xam thiab yooj yim geometry shaders, hauv paus kos npe serialization thiab deserialization. Shader cov lus qhia suav nrog kev suav lej, atomic thiab me ntsis kev ua haujlwm, kev sib piv thiab cov ntaub ntawv tswj hwm cov neeg khiav dej num, piv txwv, sib sau thiab thauj cov lus qhia, kev ua haujlwm tsis raug cai (UAV, Unordered Access View).

Hauv qhov tshiab version:

  • Ua hauj lwm txuas ntxiv los txhim kho cov shader compiler hauv HLSL (High-Level Shader Language):
    • Ntxiv lub peev xwm los hu rau kev cai ua haujlwm thiab siv cov arrays raws li cov kev txwv rau kev cai ua haujlwm.
    • Ntxiv kev txhawb nqa rau SV_DispatchThreadID, SV_GroupID thiab SV_GroupThreadID tsis.
    • Ntxiv cov haujlwm ua haujlwm tag nrho (), nrug(), exp(), exp2(), frac(), lit(), reflect(), sin(), cos(), smoothstep(), sqrt(), rsqrt ( ) , step( ), transpose( ) .
    • Ntxiv kev txhawb nqa thawj zaug rau qhov tsis tshua muaj siab ntab ntab hom xws li "min16float".
  • Txhim kho kev txhawb nqa rau Direct3D 1/2/3 shader qauv profiles.
  • Ntxiv rau pej xeem API rau parsing (vkd3d_shader_parse_dxbc) thiab serialization (vkd3d_shader_serialize_dxbc) ntawm DXBC binary cov ntaub ntawv.

Tau qhov twg los: opennet.ru

Ntxiv ib saib