Projektet Wine har publicerat Vkd3d 1.16 med implementering av Direct3D 12

Projektet Wine har offentliggjort en release av paketet vkd3d 1.16 med en implementering av Direct3D 12 som fungerar genom att översÀtta anrop till grafik-API:et Vulkan. Paketet innehÄller biblioteken libvkd3d med implementeringer av Direct3D 12, libvkd3d-shader med översÀttare för 4 och 5 shadermodeller och libvkd3d-utils som innehÄller funktioner för att förenkla portering av Direct3D 12-appar, samt en uppsÀttning demonstrationsexempel, inklusive porten av glxgears till Direct3D 12. Koden för projektet distribueras under LGPLv2.1-licensen.

Biblioteket libvkd3d stöder de flesta funktioner i Direct3D 12, inklusive grafik- och berÀkningsverktyg, köer och kommandolistor, deskriptorer och heap-deskriptorer, rot-signer, oordnad Ätkomst, Samplrar, kommandosignaturer, rot-konstanter, indirekt rendering, Clear*()- och Copy*()-metoder. I libvkd3d-shader finns det en översÀttning av shadermodeller till det mellanliggande formatet SPIR-V. Det stöder vertex-, pixel-, tessellations-, compute- och enkla geometriska shaders, serialization och deserialization av rot-signaturer. FrÄn shaderinstruktionerna finns det stöd för aritmetiska, atomÀra och bitoperationer, jÀmförelseoperatorer och kontroll av datarutten, samt instruktioner för sample, gather och load, och operationer för oordnad Ätkomst (UAV, Unordered Access View).

I den nya versionen:

  • Stöd för DXIL-shaders (DirectX Intermediate Language) har stabiliserats och aktiverats som standard.
  • Komponenten för HLSL shader-sprĂ„k har fĂ„tt tidigt stöd för geometriska shaders. För shadermodeller 1,2,3 har stöd för indirekt adressering, moduler och vĂ€rdestrĂ€ngar implementerats.
  • Biblioteket libvkd3d har annonserat stöd för shadermodell 6.0. I grĂ€nssnittet ID3D12Device1 har metoden SetEventOnMultipleFenceCompletion() implementerats. Stöd för Vulkan-tillĂ€gget VK_KHR_zero_initialize_workgroup_memory har lagts till för att nollstĂ€lla minne för shaders. Vulkan-tillĂ€gget VK_KHR_maintenance2, föreslaget i Vulkan-specifikationen 1.1, har blivit obligatoriskt.
  • Stöd för disassemblering av SPIR-V shaders och binĂ€ra effekter "fx_2_0" har lagts till.
  • Experimentellt stöd för indirekt adressering av konstanta buffrar i GLSL (OpenGL Shading Language) har lagts till.
  • I implementeringen av shader-sprĂ„ket MSL (Metal Shading Language), som anvĂ€nds av Apple i grafik-API:et Metal, har möjligheten att ladda texturer lagts till.
  • Stöd för inbyggda HLSL-funktioner har lagts till: AllMemoryBarrier(), AllMemoryBarrierWithGroupSync(), DeviceMemoryBarrier(), DeviceMemoryBarrierWithGroupSync(), GroupMemoryBarrier() och GroupMemoryBarrierWithGroupSync().
  • Flaggorna VKD3D_SHADER_COMPILE_OPTION_FEATURE_ZERO_INITIALIZE_WORKGROUP_MEMORY, VKD3D_SHADER_COMPONENT_INT64, VKD3D_SHADER_COMPONENT_FLOAT16, VKD3D_SHADER_COMPONENT_UINT16, VKD3D_SHADER_COMPONENT_INT16, VKD3D_SHADER_RESOURCE_DATA_NONE och VKD3D_SHADER_RESOURCE_DATA_UINT har implementerats.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster