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

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Wine обяви Π²Π΅Ρ€ΡΠΈΡ˜Π° Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π° vkd3d 1.13 со Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π° Π½Π° Direct3D 12, која Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΡ€Π΅ΠΊΡƒ Ρ‚Ρ€Π°Π½ΡΠ»Π°Ρ†ΠΈΡ˜Π° Π½Π° ΠΏΠΎΠ²ΠΈΡ†ΠΈ Π²ΠΎ Π³Ρ€Π°Ρ„ΠΈΡ‡ΠΊΠΈΠΎΡ‚ API Vulkan. Π’ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΡ‚ сС Π²ΠΊΠ»ΡƒΡ‡Π΅Π½ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈΡ‚Π΅ libvkd3d со Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π° Π½Π° Direct3D 12, libvkd3d-shader со транслационСр Π·Π° 4-Ρ‚Π° ΠΈ 5-Ρ‚Π° ΠΌΠΎΠ΄Π΅Π» ΡˆΠ΅ΠΉΠ΄Π΅Ρ€ΠΈ, ΠΈ libvkd3d-utils со Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π·Π° ΠΎΠ»Π΅ΡΠ½ΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Direct3D 12, ΠΊΠ°ΠΊΠΎ ΠΈ сСт Π½Π° дСмонстративни ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ, Π²ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π°Ρ˜ΡœΠΈ Π³ΠΎ ΠΏΠΎΡ€Ρ‚ΠΎΡ‚ glxgears Π½Π° Direct3D 12. ΠšΠΎΠ΄ΠΎΡ‚ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚ Π΅ распространСт ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Ρ†Π°Ρ‚Π° LGPLv2.1.

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

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

  • Π’ΠΎ ΠΊΠΎΠΌΠΏΠ°Ρ˜Π»Π΅Ρ€ΠΎΡ‚ HLSL Π΅ Π΄ΠΎΠ΄Π°Π΄Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π·Π° Ρ€Π°Π·Π²ΠΈΠ²Π°ΡšΠ΅ Π½Π° циклуси (loop unrolling, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ˜Π° која Π·Π°ΠΌΠ΅Π½ΡƒΠ²Π° Ρ†ΠΈΠΊΠ»ΠΈΡ‡Π½ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ со Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ послСдоватСлни ΠΊΠΎΠΏΠΈΠΈ Π½Π° ΠΊΠΎΠ΄ΠΎΡ‚ Π·Π° поСфикасно ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° процСсорскиот кСш ΠΈ Π½Π°ΠΌΠ°Π»ΡƒΠ²Π°ΡšΠ΅ Π½Π° Ρ€Π°Π·Π³Ρ€Π°Π½ΡƒΠ²Π°ΡšΠ΅).
  • Π”ΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π·Π° ΠΊΠΎΠΌΠΏΠ°Ρ˜Π»Π΅Ρ€ Π½Π° Π΅Ρ„Π΅ΠΊΡ‚ΠΈ Π·Π° Π½Π΅ΠΊΠΎΠΈ ΠΎΠ±Ρ˜Π΅ΠΊΡ‚ΠΈ Π½Π° ΡΠΎΡΡ‚ΠΎΡ˜Π±Π° Π½Π° Ρ‡Π΅Ρ‚Π²Ρ€Ρ‚Π°Ρ‚Π° ΠΌΠΎΠ΄Π΅Π» ΡˆΠ΅ΠΉΠ΄Π΅Ρ€ΠΈ.
  • ОбСзбСдСна Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π·Π° Ρ‚ΠΈΠΏΠΎΠ²ΠΈ Π½Π° Ρ‡Π΅Ρ‚Π²Ρ€Ρ‚Π°Ρ‚Π° ΠΌΠΎΠ΄Π΅Π» ΡˆΠ΅ΠΉΠ΄Π΅Ρ€ΠΈ BlendState, ComputeShader, DomainShader, GeometryShader, HullShader, DepthStencilState ΠΈ RasterizerState, ΠΊΠ°ΠΊΠΎ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ OMSetRenderTargets(), SetBlendState(), SetComputeShader(), SetDomainShader(), SetGeometryShader(), SetHullShader(), SetPixelShader(), SetVertexShader(), SetDepthStencilState() ΠΈ SetRasterizerState().
  • Π’ΠΎ ΠΊΠΎΠΌΠΏΠ°Ρ˜Π»Π΅Ρ€ΠΎΡ‚ Π·Π° ΡˆΠ΅ΠΉΠ΄Π΅Ρ€ΠΈ Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π·Π° ΠΏΠ°Ρ€ΡΠΈΡ€Π°ΡšΠ΅ ΠΈ ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ Π²ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈ Π½Π° ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π°Π»ΠΈΠ·ΠΈΡ€Π°ΡšΠ΅ Π½Π° Π³Π»ΠΎΠ±Π°Π»Π½ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π° ΠΈ Π°Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ.
  • Π”ΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π·Π° рСгистарски простор Π½Π° ΡˆΠ΅ΠΉΠ΄Π΅Ρ€ ΠΌΠΎΠ΄Π΅Π» 5.1.
  • Π Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ сС Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ tex1D(), tex2D(), tex3D(), texCUBE(), asint(), f16tof32(), faceforward(), GetRenderTargetSampleCount(), rcp(), tex2Dbias(), tex1Dgrad(), tex2Dgrad(), tex3Dgrad() ΠΈ texCUBEgrad().
  • Π’ΠΎ libvkd3d Π΅ Π΄ΠΎΠ΄Π°Π΄Π΅Π½ ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅Ρ˜Ρ ID3D12CommandList6 ΠΈ Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° моТност Π·Π° создавањС Π½Π° тСкстури, Ρ‡ΠΈΠ΅ ΠΊΠΎΠΌΠΏΡ€Π΅ΡΠΈΡ€Π°ΡšΠ΅ сС ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π° Π½Π° Π½ΠΈΠ²ΠΎ Π½Π° ΠΏΠΎΠ΅Π΄ΠΈΠ½Π΅Ρ‡Π½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²ΠΈ (Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π±Π»ΠΎΠΊΠΎΠ²ΠΈ со Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π° 4Γ—4 пиксСла сС компрСсираат ΠΎΠ΄Π΄Π΅Π»Π½ΠΎ).
  • Π”ΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π·Π° структура vkd3d_shader_parameter_info ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ VKD3D_SHADER_PARAMETER_DATA_TYPE_FLOAT32, VKD3D_SHADER_PARAMETER_NAME_ALPHA_TEST_FUNC, VKD3D_SHADER_PARAMETER_NAME_ALPHA_TEST_REF, VKD3D_SHADER_PARAMETER_NAME_FLAT_INTERPOLATION ΠΈ VKD3D_SHADER_PARAMETER_TYPE_BUFFER.

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

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