Txoj haujlwm Wine tau tso tawm Vkd3d 1.2 nrog Direct3D 12 kev siv

Wine Project luam tawm pob tso tawm vkd3d ib 1.2 nrog rau kev siv 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 faib los ntawm muaj ntawv tso cai raws li LGPLv2.1.

libvkd3d lib txhawb nqa Feem ntau ntawm cov yam ntxwv ntawm Direct3D 12, suav nrog cov duab thiab cov khoom siv suav nrog, cov kab thiab cov npe hais kom ua, tuav thiab heap tuav, cov hauv paus kos npe, kev nkag mus tsis tau, Samplers, kos npe kos npe, 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. Vertex, pixel, tessellation, suav thiab yooj yim geometry shaders, hauv paus kos npe serialization thiab deserialization tau txais kev txhawb nqa. 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).

Ntawm qhov tseem ceeb tshaj plaws kev tsim kho tshiab hauv Vkd3d 1.2 cov hauv qab no tau qhia meej:

  • Lub tsev qiv ntawv libvkd3d-shader tau npaj siv rau hauv cov haujlwm thib peb.
  • Tessellation shader kev them nyiaj yug.
  • Txhawb kev hloov dua siab tshiab, serialization thiab deserialization ntawm cov hauv paus kos npe (vkd3d_serialize_versioned_root_signature() thiab vkd3d_create_versioned_root_signature_deserializer()).
  • Kev them nyiaj yug rau streaming tso zis.
  • Kev siv ntau yam yav dhau los tsis muaj Direct3D 12 nta, suav nrog kev txhawb nqa rau ntau qhov kev ua haujlwm, kev tuav pov hwm,
    indirect indexed rendering, qhov tob rendering yam tsis muaj pixel shaders, ib txhij nkag mus rau cov kev pab cuam los ntawm txawv command queues, Null-views.

  • Ntxiv qhov hloov pauv ib puag ncig: VKD3D_CONFIG los teeb tsa kev xaiv los hloov libvkd3d tus cwj pwm thiab VKD3D_VULKAN_DEVICE kom dhau lub cuab yeej rau Vulkan API.
  • Ntxiv kev txhawb nqa rau buffinfo shader cov lus qhia,
    eval_centroid,
    eval_sample_index,
    ld2ms ,ua.
    sample_b,
    sample_d,
    sample_info,
    ua piv txwv.

Tau qhov twg los: opennet.ru

Ntxiv ib saib