ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ Wine ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π° Vkd3d 1.11 с рСализация Π½Π° Direct3D 12

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Wine ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π° вСрсия Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ vkd3d 1.11 с Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° Direct3D 12, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΎ Ρ‡Ρ€Π΅Π· транслация Π½Π° извикванията Π² графичния API Vulkan. Π’ ΠΏΠ°ΠΊΠ΅Ρ‚Π° са Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ libvkd3d с Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° Direct3D 12, libvkd3d-shader с транслатор Π·Π° ΡˆΠ΅ΠΉΠ΄ΡŠΡ€ΠΈ ΠΎΡ‚ 4 ΠΈ 5 ΠΌΠΎΠ΄Π΅Π», ΠΈ libvkd3d-utils с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π·Π° улСсняванС прСноса Π½Π° прилоТСния Direct3D 12, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ дСмонстрационни ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ прСнос Π½Π° glxgears Π½Π° Direct3D 12. ΠšΠΎΠ΄ΡŠΡ‚ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° сС разпространява ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π· LGPLv2.1.

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° libvkd3d ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π½Π° Direct3D 12, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ срСдства Π·Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ° ΠΈ изчислСния, опашки ΠΈ ΡΠΏΠΈΡΡŠΡ†ΠΈ с ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, дСскриптори ΠΈ дСскриптори Π·Π° ΠΊΡƒΠΏΡ‡ΠΈΠ½ΠΈ, ΠΊΠΎΡ€Π΅Π½ΠΎΠ²ΠΈ сигнатури, нСупорядочСн Π΄ΠΎΡΡ‚ΡŠΠΏ, сСмплСри, ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΈ сигнатури, ΠΊΠΎΡ€Π΅Π½ΠΎΠ²ΠΈ константи, нСпряка (indirect) рисуванС, ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ Clear*() ΠΈ Copy*(). Π’ libvkd3d-shader Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° транслацията Π½Π° Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π° Π½Π° 4 ΠΈ 5 ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° ΡˆΠ΅ΠΉΠ΄ΡŠΡ€ΠΈ Π² ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π½ΠΎ прСдставянС SPIR-V. ΠŸΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ сС Π²Π΅Ρ€ΡˆΠΈΠ½Π½ΠΈ, пиксСлни, Ρ‚esselΠ°Ρ†ΠΈΠΎΠ½Π½ΠΈ, изчислитСлни ΠΈ лСсни Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΡ‡Π½ΠΈ ΡˆΠ΅ΠΉΠ΄ΡŠΡ€ΠΈ, сСриализация ΠΈ дСсиСриализация Π½Π° ΠΊΠΎΡ€Π΅Π½ΠΎΠ²Π°Ρ‚Π° сигнатура. ΠžΡ‚ ΡˆΠ΅ΠΉΠ΄Π΅Ρ€Π½ΠΈΡ‚Π΅ инструкции са Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ Π°Ρ€Π΅Ρ„ΠΌΠ΅Ρ‚ΠΈΡ‡Π½ΠΈ, Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½ΠΈ ΠΈ Π±ΠΈΡ‚ΠΎΠ²ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΈ Π·Π° сравнСниС ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΡ‚ΠΎΠΊΠ° Π½Π° Π΄Π°Π½Π½ΠΈ, инструкции sample, gather ΠΈ load, ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π·Π° нСупорядочСн Π΄ΠΎΡΡ‚ΡŠΠΏ (UAV, Unordered Access View).

Π’ Π½ΠΎΠ²Π°Ρ‚Π° вСрсия:

  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π½Π°Ρ‡Π°Π»Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° стар Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ Π½Π° Direct3D Π² ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π½ΠΎ прСдставянС Π½Π° ΡˆΠ΅ΠΉΠ΄ΡŠΡ€ΠΈ SPIR-V.
  • Π’ ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€Π° HLSL Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π½Π°Ρ‡Π°Π»Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈ Π½Π° Π΅Ρ„Π΅ΠΊΡ‚ΠΈ Π½Π° Direct3D ("fx_2_0", "fx_4_0", "fx_4_1" ΠΈ "fx_5_0").
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ СкспСримСнтална ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π΅Π½ Π΅Π·ΠΈΠΊ DXIL (DirectX Intermediate Language) Π² прСдставянС SPIR-V ΠΈ асСмблСрни инструкции Π½Π° ΡˆΠ΅ΠΉΠ΄ΡŠΡ€ΠΈ Direct3D.
  • Π’ HLSL Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈ "fx_2_0", "fx_4_0", "fx_4_1" ΠΈ "fx_5_0", Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ са Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ acos(), asin(), atan() ΠΈ atan2(), осигурСна Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° рСсурси "Buffer".
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ оптимизация, ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Ρ‰Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π½Π° дСскрипторитС Π² асинхронСн Ρ€Π΅ΠΆΠΈΠΌ, която ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ускорСниС Π½Π° прилоТСнията, обновяващи голямо количСство дСскриптори Π² ΠΊΠ°Π΄ΡŠΡ€.
  • ΠžΡΠΈΠ³ΡƒΡ€Π΅Π½Π° Π΅ ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π° Π½Π° Vulkan-Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡ VK_EXT_mutable_descriptor_type ΠΈ VK_EXT_shader_viewport_index_layer Π·Π° повишаванС Π½Π° СфСктивността Ρ€Π°Π±ΠΎΡ‚Π° с ΠΏΡƒΠ»Π° Π½Π° дСскрипторитС ΠΈ ускоряванС Π½Π° Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° масиви ΠΎΡ‚ Π²Π΅Ρ€ΡˆΠΈΠ½Π½ΠΈ ΠΈ tesselΠ°Ρ†ΠΈΠΎΠ½Π½ΠΈ ΡˆΠ΅ΠΉΠ΄ΡŠΡ€ΠΈ.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° интСрфСйситС ID3D12Device7 ΠΈ ID3D12Resource2. Π’ интСрфСйса ID3D12Device4 Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΠΌΠ΅Ρ‚ΠΎΠ΄ GetResourceAllocationInfo1().
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° интСрфСйситС D3DReflect() ΠΈ D3DDisassemble().
  • Π Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ са ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŠΡ‡Π½ΠΈ заявки D3D12_FEATURE_D3D12_OPTIONS6, D3D12_FEATURE_D3D12_OPTIONS7, D3D12_FEATURE_D3D12_OPTIONS8, D3D12_FEATURE_D3D12_OPTIONS9, D3D12_FEATURE_D3D12_OPTIONS10, D3D12_FEATURE_D3D12_OPTIONS11, D3D12_FEATURE_D3D12_OPTIONS12, D3D12_FEATURE_D3D12_OPTIONS13.
  • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΈ са Π½ΠΎΠ²ΠΈ ΠΎΠΏΡ†ΠΈΠΈ Π·Π° компилация: VKD3D_SHADER_COMPILE_OPTION_FEATURE, VKD3D_SHADER_COMPILE_OPTION_FEATURE_INT64, VKD3D_SHADER_COMPILE_OPTION_FEATURE_FLOAT64, VKD3D_SHADER_API_VERSION_1_10 ΠΈ VKD3D_SHADER_SPIRV_EXTENSION_EXT_VIEWPORT_INDEX_LAYER.
  • Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ D3D12CreateDeviceVKD3D() ΠΈ D3D12CreateDevice() са Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈ Vulkan-Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡΡ‚Π° VK_KHR_android_surface, VK_KHR_wayland_surface, VK_KHR_win32_surface, VK_KHR_xlib_surface, VK_EXT_metal_surface ΠΈ VK_MVK_ios_surface.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster