vkd3d 1.2, uyumluluk iyileştirmeleri, gölgeleme ve daha fazlasıyla birlikte gelir

proje Wine, vkd3d 1.2 paketinin yeni bir sürümünü yayınladı ile Direct3D 12 uygulaması çağrıları Vulkan grafik API'sine çevirerek çalışır.

Vkd3d 1.2'nin bu yeni sürümü çeşitli iyileştirmeler içerir, ama asıl göze çarpanlar libvkd3d-shader'ın halka açık kütüphane olarak kullanılabilirliği, gölgelendirici desteği Mozaiklemenin yanı sıra akış çıkışı desteği.

PaketDirect3D 3 uygulamalarına sahip libvkd12d kitaplıklarını, libvkd3d-shader'ı içerir Direct4D 5 uygulamalarının ve glxgears bağlantı noktasının Direct3D 3'ye taşınmasını basitleştirme işlevlerine sahip model 12 ve 3 gölgelendirici çevirmeni ve libvkd12d-utils ile. Proje kodu LGPLv2.1 altında dağıtılır.

Kütüphane libvkd3d, Direct3D 12 özelliklerinin çoğunu destekler, grafikler ve bilgi işlem işlevleri, komut listeleri ve kuyrukları, tanımlayıcılar ve yığın tanımlayıcıları, kök imzaları, sırasız erişim, örnekleyiciler, komut imzaları, kök sabitleri, dolaylı gösterim vb. dahil.

Libvkd3d-gölgelendirici Bayt kodu 4 ve 5'in çevirisini uygular SPIR-V ara gösterimindeki gölgeleme modellerinin. Köşeler, pikseller, mozaikleme, basit ve hesaplamalı geometri gölgelendiricileri, kök imza serileştirmesi ve seri durumdan çıkarma desteklenir.

Gölgelendirici talimatları aritmetik, atomik ve bitsel işlemleri içerir, veri akışı kontrolü ve karşılaştırma operatörleri, örnekleme, toplama ve yükleme talimatları, sırasız erişim işlemleri (İHA, Sırasız erişim görünümü).

Mevcut geliştirme aşamasında, Direct3D 12'ye yapılan tüm çağrılar uygulanmamaktadır ve testler öncelikle bir dizi demo uygulaması üzerinde gerçekleştirildi. Sürüm, mozaikleme desteği ve karmaşık geometri gölgelendiricileri gibi geliştirme aşamasındaki özelliklerin yanı sıra Direct3D 12 çekirdek gölgelendiricileri ve yöntemleriyle ilgili bir dizi iyileştirmeyi içermiyor. Bu özellikler gelecek bir sürümde sunulacak.

Vkd3d 1.2'nin başlıca yeni özellikleri

Yeni versiyonda sunulan en önemli değişikliklerden biri, libvkd3d-shader kitaplığının kullanılabilirliği üçüncü taraf projelerinde kullanılmak üzere Aşağıdakiler gibi çeşitli Direct3D 12 işlevleri eklendi:

  • Çoklu örnekleme.
  • Rezerve edilmiş kaynaklar.
  • Örnek veri aktarım hızları.
  • Tüm arayüzler için "özel veri" API'si.
  • Gölgelendirici kaynak görünümü bileşen atamaları.
  • VK_KHR_draw_indirect_count uzantısı.
  • Yüklem/koşullu gösterim.
  • Piksel gölgelendirici olmadan derinlik oluşturma.
  • Derinlik kesimi. Bunun için VK_EXT_length_clip_enable uzantısı gerekir.
  • Rasterleştiriciyi atın.
  • Çift kaynak karışımı.
  • Yerleştirilen kaynakların haritalanması.
  • ReadFromSubresource() ve WriteToSubresource() yöntemleri ID3D12Resource.
  • Birden fazla kuyruktan kaynaklara eşzamanlı erişim.
  • Boş görüntülemeler. Yani, temel bir kaynağı olmayan görüşler.
  • Birkaç özellik destek sorgusu daha.

Buna ek olarak, Ayrıca imzaların dönüştürülmesi, seri hale getirilmesi ve seri durumdan çıkarılması için eklenen destek de vurgulanmaktadır root (vkd3d_serialize_versioned_root_signature () ve vkd3d_create_versioned_root_signature_deserializer () ve ayrıca akış çıkışı desteği.

Öne çıkan bir diğer değişiklik ise ortam değişkeni uygulaması: Libvkd3d'nin davranışını değiştirme seçeneklerini ayarlamak için VKD3D_CONFIG ve Vulkan API'si için cihazı geçersiz kılmak üzere VKD3D_VULKAN_DEVICE.

bunun yanı sıra gölgeleme talimatları için destek eklendi bufinfo, eval_centroid, eval_sample_index, ld2ms, sample_b, sample_d, sample_info, samplepos ve model 5.1 gölgelendiriciler için ön destek.

Ayrıca OpenGL SPIR-V hedef ortamları için de destek. Bu, libvkd3d-shader tarafından üretilen SPIR-V'nin GL_ARB_gl_spirv ile kullanılmasına olanak tanır. Buna OpenGL atomik sayaçları ve birleştirme örnekleyicileri desteği de dahildir.

Nihayet onun hakkında daha fazlasını bilmek istiyorsan Bu yeni sürümle ilgili değişikliklerin tam listesine başvurabilirsiniz Aşağıdaki bağlantıda.

Linux'a vkd3d nasıl kurulur?

Sistemlerine vkd3d kurabilmek isteyenler, kaynak kodunu almalı ve derlemeye devam etmelidir, ancak pratik amaçlar veya yeni başlayanlar için bu kütüphaneyi fazla çaba harcamadan deneyebilirler. Bunun için sadece lutris'i ve konfigürasyonları dahilinde kurmaları gerekir.

Derlemeyle ilgilenenlere gelince, kodu şu şekilde almaları gerekir:

git clone git://source.winehq.org/git/vkd3d.git/
./autogen.sh
./configure
make
../vkd3d/configure --build=i686-pc-linux-gnu "CPPFLAGS=-m32" "LDFLAGS=-m32"

Son olarak, Vulkan katmanları etkinleştirilmelidir:

export VK_INSTANCE_LAYERS=VK_LAYER_LUNARG_standard_validation
VKD3D_CONFIG=vk_debug


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.