ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ 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