แž‚แž˜แŸ’แžšแŸ„แž„แžŸแŸ’แžšแžถแž”แžถแž“แž…แŸแž‰แž•แŸ’แžŸแžถแž™ Vkd3d 1.4 แž‡แžถแž˜แžฝแž™แž“แžนแž„แž€แžถแžšแžขแž“แžปแžœแžแŸ’แž Direct3D 12

แž‚แž˜แŸ’แžšแŸ„แž„แžŸแŸ’แžšแžถแž”แžถแž“แž”แŸ„แŸ‡แž–แžปแž˜แŸ’แž—แž€แžถแžšแž…แŸแž‰แž•แŸ’แžŸแžถแž™แž€แž‰แŸ’แž…แž”แŸ‹ vkd3d 1.4 แž‡แžถแž˜แžฝแž™แž“แžนแž„แž€แžถแžšแžขแž“แžปแžœแžแŸ’แž Direct3D 12 แžŠแŸ‚แž›แžŠแŸ†แžŽแžพแžšแž€แžถแžšแžแžถแž˜แžšแž™แŸˆแž€แžถแžšแž แŸ…แž‘แžผแžšแžŸแŸแž–แŸ’แž‘แž•แŸ’แžŸแžถแž™แž‘แŸ…แž€แžถแž“แŸ‹ Vulkan graphics API แŸ” แž€แž‰แŸ’แž…แž”แŸ‹แžšแžฝแž˜แž”แž‰แŸ’แž…แžผแž›แž”แžŽแŸ’แžŽแžถแž›แŸแž™ libvkd3d แž‡แžถแž˜แžฝแž™แž“แžนแž„แž€แžถแžšแžขแž“แžปแžœแžแŸ’แž Direct3D 12, libvkd3d-shader แž‡แžถแž˜แžฝแž™แžขแŸ’แž“แž€แž”แž€แž”แŸ’แžšแŸ‚แž“แŸƒแž˜แŸ‰แžผแžŠแŸ‚แž› shader 4 แž“แžทแž„ 5 แž“แžทแž„ libvkd3d-utils แžŠแŸ‚แž›แž˜แžถแž“แž˜แžปแžแž„แžถแžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹แžŸแž˜แŸ’แžšแžฝแž›แž€แžถแžšแž…แŸ’แžšแž€แž“แŸƒแž€แž˜แŸ’แž˜แžœแžทแž’แžธ Direct3D 12 แž€แŸแžŠแžผแž…แž‡แžถแžŸแŸ†แžŽแžปแŸ†แž“แŸƒแžงแž‘แžถแž แžšแžŽแŸแžŸแžถแž€แž›แŸ’แž”แž„ แžšแžฝแž˜แž‘แžถแŸ†แž„แž…แŸ’แžšแž€แž˜แžฝแž™แŸ” แž“แŸƒ glxgears แž‘แŸ… Direct3D 12. แž›แŸแžแž€แžผแžŠแž‚แž˜แŸ’แžšแŸ„แž„แžแŸ’แžšแžผแžœแž”แžถแž“แž…แŸ‚แž€แž…แžถแž™แžŠแŸ‚แž›แž˜แžถแž“แžขแžถแž‡แŸ’แž‰แžถแž”แŸแžŽแŸ’แžŽแž€แŸ’แžšแŸ„แž˜ LGPLv2.1 แŸ”

แž”แžŽแŸ’แžŽแžถแž›แŸแž™ libvkd3d แž‚แžถแŸ†แž‘แŸ’แžšแž˜แžปแžแž„แžถแžš Direct3D 12 แž—แžถแž‚แž…แŸ’แžšแžพแž“ แžšแžฝแž˜แž‘แžถแŸ†แž„แž€แŸ’แžšแžถแž แŸ’แžœแžทแž€ แž“แžทแž„แž‚แŸ’แžšแžฟแž„แž”แžšแžทแž€แŸ’แžแžถแžšแž€แžปแŸ†แž–แŸ’แž™แžผแž‘แŸแžš แž‡แžฝแžš แž“แžทแž„แž”แž‰แŸ’แž‡แžธแž–แžถแž€แŸ’แž™แž”แž‰แŸ’แž‡แžถ แž…แŸ†แžŽแžปแž…แž‘แžถแž‰ แž“แžทแž„แž…แŸ†แžŽแžปแž…แž‘แžถแž‰ heap แž แžแŸ’แžแž›แŸแžแžถแž‡แžถ root แž€แžถแžšแž…แžผแž›แž”แŸ’แžšแžพแž€แŸ’แžšแŸ…แž€แžถแžšแž”แž‰แŸ’แž‡แžถแž‘แžทแž‰ แž‚แŸ†แžšแžผ แž แžแŸ’แžแž›แŸแžแžถแž–แžถแž€แŸ’แž™แž”แž‰แŸ’แž‡แžถ แžแŸแžšแžซแžŸ แž€แžถแžšแž”แž„แŸ’แž แžถแž‰แžŠแŸ„แž™แž”แŸ’แžšแž™แŸ„แž› แžœแžทแž’แžธแžŸแžถแžŸแŸ’แžแŸ’แžšแž…แŸ’แž”แžถแžŸแŸ‹แž›แžถแžŸแŸ‹ *( ) แž“แžทแž„แž…แž˜แŸ’แž›แž„*()แŸ”

แž“แŸ…แž€แŸ’แž“แžปแž„ libvkd3d-shader แž€แžถแžšแž”แž€แž”แŸ’แžšแŸ‚ bytecode แž“แŸƒ shader model 4 แž“แžทแž„ 5 แž‘แŸ…แž‡แžถแžแŸ†แžŽแžถแž„ SPIR-V แž€แž˜แŸ’แžšแžทแžแž˜แž’แŸ’แž™แž˜แžแŸ’แžšแžผแžœแž”แžถแž“แžขแž“แžปแžœแžแŸ’แžแŸ” แž‚แžถแŸ†แž‘แŸ’แžš vertex, pixel, tessellation, compute and simple geometry shaders, root signature serialization and deserialization แŸ” แžŸแŸแž…แž€แŸ’แžแžธแžŽแŸ‚แž“แžถแŸ†แžšแž”แžŸแŸ‹ Shader แžšแžฝแž˜แž˜แžถแž“แž“แž–แŸ’แžœแž“แŸ’แž’ แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžšแžขแžถแžแžผแž˜ แž“แžทแž„แž”แŸŠแžธแž แž€แžถแžšแž”แŸ’แžšแŸ€แž”แž’แŸ€แž” แž“แžทแž„แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžšแž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แžšแž„แž›แŸ†แž แžผแžšแž‘แžทแž“แŸ’แž“แž“แŸแž™ แž‚แŸ†แžšแžผ แž€แžถแžšแž”แŸ’แžšแž˜แžผแž›แž•แŸ’แžแžปแŸ† แž“แžทแž„แž•แŸ’แž‘แžปแž€แžŸแŸแž…แž€แŸ’แžแžธแžŽแŸ‚แž“แžถแŸ† แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžšแž…แžผแž›แžŠแŸ†แžŽแžพแžšแž€แžถแžšแžŠแŸ„แž™แž˜แžทแž“แž˜แžถแž“แž›แŸ†แžŠแžถแž”แŸ‹ (UAV, Unordered Access View)แŸ”

แž“แŸ…แž€แŸ’แž“แžปแž„แž€แŸ†แžŽแŸ‚แžแŸ’แž˜แžธแŸ–

  • ะ’ะฝะตัะตะฝั‹ ะผะฝะพะณะพั‡ะธัะปะตะฝะฝั‹ะต ัƒะปัƒั‡ัˆะตะฝะธั ะฒ ะบะพะผะฟะธะปัั‚ะพั€ ัˆะตะนะดะตั€ะพะฒ ะฝะฐ ัะทั‹ะบะต HLSL (High-Level Shader Language), ะฟั€ะตะดะพัั‚ะฐะฒะปัะตะผะพะผ ะฝะฐั‡ะธะฝะฐั ั DirectX 9.0.
  • ะŸั€ะตะดะปะพะถะตะฝะฐ ะฝะพะฒะฐั ั€ะตะฐะปะธะทะฐั†ะธั ะบัƒั‡ะธ ะดะตัะบั€ะธะฟั‚ะพั€ะพะฒ (Descriptor Heap), ะธัะฟะพะปัŒะทัƒัŽั‰ะฐั Vulkan-ั€ะฐััˆะธั€ะตะฝะธะต VK_EXT_descriptor_indexing.
  • ะ”ะพะฑะฐะฒะปะตะฝะฐ ะฝะพะฒะฐั ั€ะตะฐะปะธะทะฐั†ะธั ะณั€ะฐะฝะธั† (fence), ะพัะฝะพะฒะฐะฝะฝะฐั ะฝะฐ Vulkan-ั€ะฐััˆะธั€ะตะฝะธะธ K_KHR_timeline_semaphore.

แž”แŸ’แžšแž—แž–: opennet.ru

แž”แž“แŸ’แžแŸ‚แž˜แž˜แžแžทแž™แŸ„แž”แž›แŸ‹