Projek wain menerbitkan Vkd3d 1.5 dengan pelaksanaan Direct3D 12

Projek Wine telah menerbitkan keluaran pakej vkd3d 1.5 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:

  • Banyak penambahbaikan telah dibuat pada pengkompil shader HLSL (High-Level Shader Language) yang disediakan sejak DirectX 9.0. Termasuk sokongan yang dipertingkatkan untuk jenis objek HLSL seperti Texture2D dalam struktur dan tatasusunan, menambah sokongan untuk fungsi terbina dalam dot(), ldexp() dan lerp(), menambah sokongan untuk operator logik "dan", "atau" untuk model shader 4 dan 5 dan "bukan", serta keupayaan untuk menghantar jenis Boolean.
  • Melaksanakan pilihan VKD3D_SHADER_COMPILE_OPTION_TYPED_UAV untuk memuatkan perwakilan akses tidak tertib (UAV) untuk format berbilang bahagian SPIR-V (DXGI_FORMAT).

Sumber: opennet.ru

Tambah komen