Projek wain menerbitkan Vkd3d 1.7 dengan pelaksanaan Direct3D 12

Projek Wine telah menerbitkan keluaran pakej vkd3d 1.7 dengan pelaksanaan Direct3D 12 yang berfungsi melalui penyiaran panggilan ke API grafik Vulkan. Pakej ini termasuk perpustakaan libvkd3d dengan pelaksanaan Direct3D 12, libvkd3d-shader dengan penterjemah model shader 4 dan 5 dan libvkd3d-utils dengan fungsi untuk memudahkan pemindahan aplikasi Direct3D 12, serta satu set contoh demo, termasuk port daripada glxgears kepada Direct3D 12. Kod projek diedarkan berlesen di bawah LGPLv2.1.

Pustaka libvkd3d menyokong kebanyakan ciri Direct3D 12, termasuk kemudahan grafik dan pengkomputeran, baris gilir dan senarai arahan, pemegang dan pemegang timbunan, tandatangan akar, akses luar pesanan, Pensampel, tandatangan arahan, pemalar akar, pemaparan tidak langsung, Kaedah yang jelas *( ) dan Salin*(). Dalam libvkd3d-shader, terjemahan bytecode model shader 4 dan 5 ke dalam perwakilan SPIR-V perantaraan dilaksanakan. Menyokong bucu, piksel, teselasi, pengiraan dan pelorek geometri ringkas, siri tandatangan akar dan penyahserikatan. Arahan shader termasuk operasi aritmetik, atom dan bit, perbandingan dan pengendali kawalan aliran data, sampel, arahan kumpul dan muatkan, operasi capaian tidak tertib (UAV, Paparan Akses Tidak Teratur).

Dalam versi baharu:

  • Kerja diteruskan untuk menambah baik pengkompil shader dalam HLSL (High-Level Shader Language):
    • Menambahkan keupayaan untuk memanggil fungsi tersuai dan menggunakan tatasusunan sebagai parameter kepada fungsi tersuai.
    • Menambahkan sokongan untuk parameter SV_DispatchThreadID, SV_GroupID dan SV_GroupThreadID.
    • Menambahkan fungsi terbina dalam semua(), jarak(), exp(), exp2(), frac(), lit(), reflect(), sin(), cos(), smoothstep(), sqrt(), rsqrt () , step(), transpose().
    • Menambah sokongan awal untuk jenis titik terapung berketepatan rendah seperti "min16float".
  • Sokongan yang dipertingkatkan dengan ketara untuk profil model shader Direct3D 1/2/3.
  • Menambahkan API awam untuk menghurai (vkd3d_shader_parse_dxbc) dan bersiri (vkd3d_shader_serialize_dxbc) data binari DXBC.

Sumber: opennet.ru

Tambah komen