рд╡рд╛рдЗрди 8.0 рд░рд┐рд▓реАрдЬ рдЙрдореНрдореЗрджреНрд╡рд╛рд░ рд░ vkd3d 1.6 рд░рд┐рд▓реАрдЬ

WinAPI рдХреЛ рдЦреБрд▓рд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди, рдкрд╣рд┐рд▓реЛ рд░рд┐рд▓реАрдЬ рдЙрдореНрдореЗрджреНрд╡рд╛рд░ рд╡рд╛рдЗрди 8.0 рдорд╛ рдкрд░реАрдХреНрд╖рдг рд╕реБрд░реБ рднрдПрдХреЛ рдЫред рдХреЛрдб рдЖрдзрд╛рд░ рд░рд┐рд▓реАрдЬ рд╣реБрдиреБ рдЕрдШрд┐ рдлреНрд░рд┐рдЬ рдЪрд░рдгрдорд╛ рд░рд╛рдЦрд┐рдПрдХреЛ рдЫ, рдЬреБрди рдЬрдирд╡рд░реАрдХреЛ рдордзреНрдпрдорд╛ рдЕрдкреЗрдХреНрд╖рд┐рдд рдЫред рд╡рд╛рдЗрди 7.22 рдХреЛ рд░рд┐рд▓реАрдЬ рдкрдЫрд┐, 52 рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯрд╣рд░реВ рдмрдиреНрдж рдЧрд░рд┐рдПрдХреЛ рдЫ рд░ 538 рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рдЧрд░рд┐рдПрдХреЛ рдЫред

рд╕рдмреИрднрдиреНрджрд╛ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ:

  • рднрд▓реНрдХрди рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ API рдорд╛ рдХрд▓ рдЕрдиреБрд╡рд╛рдж рдорд╛рд░реНрдлрдд рдХрд╛рдо рдЧрд░реНрдиреЗ Direct3D 3 рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдХреЛ рд╕рд╛рде vkd12d рдкреНрдпрд╛рдХреЗрдЬ рд╕рдВрд╕реНрдХрд░рдг 1.6 рдорд╛ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░рд┐рдПрдХреЛ рдЫред
  • Vulkan рд░ OpenGL рдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рдгрд╛рд▓реА рдХрд▓ рдХрдиреНрднрд░реНрдЯрд░рд╣рд░реВ (thunks) рдХреЛ рдЕрдиреБрдХреВрд▓рди рдЧрд░рд┐рдПрдХреЛ рдЫред
  • WinPrint рд▓реЗ рдкреНрд░рд┐рдиреНрдЯ рдкреНрд░реЛрд╕реЗрд╕рд░рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рд╡рд┐рд╕реНрддрд╛рд░ рдЧрд░реЗрдХреЛ рдЫред
  • рд╕реБрдзрд╛рд░рд┐рдПрдХреЛ рдЬреЛрдЗрд╕реНрдЯрд┐рдХ рдирд┐рдпрдиреНрддреНрд░рдг рдкреНрдпрд╛рдирд▓ред
  • рдкреНрд░рд┐рдиреНрдЯрдл рдкреНрд░рдХрд╛рд░реНрдп рдХреЛрдбрдорд╛ 'рд▓рд╛рдореЛ' рдкреНрд░рдХрд╛рд░рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдкреНрд░рджрд╛рди рдЧрд░реНрди рдХрд╛рдо рдкреВрд░рд╛ рднрдПрдХреЛ рдЫред
  • рдЦреЗрд▓рд╣рд░реВрдХреЛ рд╕рдЮреНрдЪрд╛рд▓рдирд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рддреНрд░реБрдЯрд┐ рд░рд┐рдкреЛрд░реНрдЯрд╣рд░реВ рдмрдиреНрдж рдЫрдиреН: Tom Clancy's Rainbow Six: Vegas 2, The Void, Ragnarok Online, Drakan, Star Wars, Colin McRae, X-COMред
  • рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрдХреЛ рд╕рдЮреНрдЪрд╛рд▓рдирд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рдмрдиреНрдж рддреНрд░реБрдЯрд┐ рд░рд┐рдкреЛрд░реНрдЯрд╣рд░реВ: TMUnlimiter 1.2.0.0, MDB Viewer Plus, Framemaker 8, Studio One Professional 5ред

рдердк рд░реВрдкрдорд╛, рд╣рд╛рдореА Vkd3d 1.6 рдкреНрдпрд╛рдХреЗрдЬрдХреЛ рд╡рд╛рдЗрди рдкреНрд░реЛрдЬреЗрдХреНрдЯ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдХрд╛рд╢рдирд▓рд╛рдИ Direct3D 12 рдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдХреЛ рд╕рд╛рде рдиреЛрдЯ рдЧрд░реНрди рд╕рдХреНрдЫреМрдВ, Vulkan рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ API рдорд╛ рдХрд▓рд╣рд░реВрдХреЛ рдЕрдиреБрд╡рд╛рдж рдорд╛рд░реНрдлрдд рдХрд╛рдо рдЧрд░реНрджреИред рдкреНрдпрд╛рдХреЗрдЬрд▓реЗ Direct3D 3 рдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдХреЛ рд╕рд╛рде libvkd12d рдкреБрд╕реНрддрдХрд╛рд▓рдпрд╣рд░реВ, shader рдореЛрдбреЗрд▓ 3 рд░ 4 рдХреЛ рдЕрдиреБрд╡рд╛рджрдХрдХреЛ рд╕рд╛рде libvkd5d-shader рд░ Direct3D 3 рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрдХреЛ рдкреЛрд░реНрдЯрд┐рдЩрд▓рд╛рдИ рд╕рд░рд▓ рдмрдирд╛рдЙрдиреЗ рдХрд╛рд░реНрдпрд╣рд░реВ рд╕рд╣рд┐рдд libvkd12d-utils, рд╕рд╛рдереИ рдбреЗрдореЛ рдЙрджрд╛рд╣рд░рдгрд╣рд░реВрдХреЛ рд╕реЗрдЯ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫред Direct3D 12 рдорд╛ glxgears рдХреЛред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛрдб LGPLv2.1 рдЕрдиреНрддрд░реНрдЧрдд рд▓рд╛рдЗрд╕реЗрдиреНрд╕ рд╡рд┐рддрд░рдг рдЧрд░рд┐рдПрдХреЛ рдЫред

libvkd3d рдкреБрд╕реНрддрдХрд╛рд▓рдпрд▓реЗ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рд░ рдХрдореНрдкреНрдпреБрдЯрд┐рдЩ рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ, рд▓рд╛рдо рд░ рдЖрджреЗрд╢ рд╕реВрдЪреАрд╣рд░реВ, рд╣реНрдпрд╛рдиреНрдбрд▓рд╣рд░реВ рд░ рд╣рд┐рдк рд╣реНрдпрд╛рдиреНрдбрд▓рд╣рд░реВ, рд░реВрдЯ рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд╣рд░реВ, рдЖрдЙрдЯ-рдЕрдл-рдЕрд░реНрдбрд░ рдкрд╣реБрдБрдЪ, рдирдореВрдирд╛рд╣рд░реВ, рдЖрджреЗрд╢ рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд╣рд░реВ, рдореВрд▓ рд╕реНрдерд┐рд░рддрд╛рд╣рд░реВ, рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рдкреНрд░рддрд┐рдкрд╛рджрди, рд╕реНрдкрд╖реНрдЯ рд╡рд┐рдзрд┐рд╣рд░реВ *( ) рд░ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ *()ред libvkd3d-shader рдорд╛, рдордзреНрдпрд╡рд░реНрддреА SPIR-V рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡рдорд╛ shader рдореЛрдбреЗрд▓ 12 рд░ 3 рдХреЛ рдмрд╛рдЗрдЯрдХреЛрдбрдХреЛ рдЕрдиреБрд╡рд╛рдж рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░рд┐рдПрдХреЛ рдЫред рднреЗрд░реНрдЯреЗрдХреНрд╕, рдкрд┐рдХреНрд╕реЗрд▓, рдЯреЗрд╕реЗрд▓реЗрд╕рди, рдХрдореНрдкреНрдпреБрдЯ рд░ рд╕рд╛рдзрд╛рд░рдг рдЬреНрдпрд╛рдорд┐рддрд┐ рд╢реЗрдбрд░рд╣рд░реВ, рд░реВрдЯ рд╕рд┐рдЧреНрдиреЗрдЪрд░ рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬреЗрд╕рди рд░ рдбрд┐рд╕реЗрд░рд┐рдпрд▓рд╛рдЗрдЬреЗрд╕рдирд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫред рд╢реЗрдбрд░ рдирд┐рд░реНрджреЗрд╢рдирд╣рд░реВрдорд╛ рдЕрдВрдХрдЧрдгрд┐рдд, рдкрд░рдорд╛рдгреБ рд░ рдмрд┐рдЯ рдЕрдкрд░реЗрд╢рдирд╣рд░реВ, рддреБрд▓рдирд╛ рд░ рдбреЗрдЯрд╛ рдкреНрд░рд╡рд╛рд╣ рдирд┐рдпрдиреНрддреНрд░рдг рдЕрдкрд░реЗрдЯрд░рд╣рд░реВ, рдирдореВрдирд╛, рд╕рдЩреНрдХрд▓рди рд░ рд▓реЛрдб рдирд┐рд░реНрджреЗрд╢рдирд╣рд░реВ, рдЕрдХреНрд░рдорд┐рдд рдкрд╣реБрдБрдЪ рд╕рдЮреНрдЪрд╛рд▓рдирд╣рд░реВ (UAV, Unordered Access View) рд╕рдорд╛рд╡реЗрд╢ рдЫрдиреНред

рдирдпрд╛рдБ рд╕рдВрд╕реНрдХрд░рдгрд▓реЗ HLSL (рдЙрдЪреНрдЪ-рд╕реНрддрд░ рд╢реЗрдбрд░ рднрд╛рд╖рд╛) рдорд╛ рд╢реЗрдбрд░ рдХрдореНрдкрд╛рдЗрд▓рд░ рд╕реБрдзрд╛рд░ рдЧрд░реНрди рдЬрд╛рд░реА рд░рд╛рдЦреНрдЫ, DirectX 9.0 рдмрд╛рдЯ рд╕реБрд░реБ рдЧрд░реА рдкреНрд░рджрд╛рди рдЧрд░рд┐рдПрдХреЛ рдЫред HLSL-рд╕рдореНрдмрдиреНрдзрд┐рдд рд╕реБрдзрд╛рд░рд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЫрдиреН:

  • рдХрдореНрдкреНрдпреБрдЯ рд╢реЗрдбрд░рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рд╛рд░рдореНрднрд┐рдХ рд╕рдорд░реНрдерди рд▓рд╛рдЧреВ рдЧрд░рд┐рдПрдХреЛ рдЫред
  • рд╕рдВрд░рдЪрдирд╛ рд░ arrays рдЬрд╕реНрддрд╛ рдорд┐рд╢реНрд░рд┐рдд рд╡рд╕реНрддреБрд╣рд░реВ рдкреНрд░рд╛рд░рдореНрдн рдЧрд░реНрди рд░ рдЕрд╕рд╛рдЗрди рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рд╕реБрдзрд╛рд░рд┐рдПрдХреЛ рд╕рдорд░реНрдердиред
  • рдЖрдЙрдЯ-рдЕрдл-рдЕрд░реНрдбрд░ рдкрд╣реБрдБрдЪ (UAV) рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдмрдирд╛рд╡рдЯ рд╕реНрд░реЛрддрд╣рд░реВ рд▓реЛрдб рдЧрд░реНрди рд░ рдмрдЪрдд рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рдердкрд┐рдпреЛред
  • рдкреНрд░рдХрд╛рд░реНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдердкрд┐рдпреЛ рд░ рдмрд┐рд▓реНрдЯ-рдЗрди рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВ asuint(), length(), normalize() рд▓рд╛рдЧреВ рдЧрд░рд┐рдпреЛред
  • рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдкреЛрдЗрдиреНрдЯ рдореЛрдбреНрдпреБрд▓рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдердкрд┐рдпреЛред
  • рдЕрдХреНрд░рдорд┐рдд рдкрд╣реБрдБрдЪ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ (UAV) рд╡рд░реНрдгрдирдХрд░реНрддрд╛рд╣рд░реВрдорд╛ рдкрд░рдорд╛рдгреБ рд╕рдЮреНрдЪрд╛рд▓рдирд╣рд░реВ рд╕рдВрдХреЗрдд рдЧрд░реНрди VKD3D_SHADER_DESCRIPTOR_INFO_FLAG_UAV_ATOMICS рдЭрдгреНрдбрд╛ рд▓рд╛рдЧреВ рдЧрд░рд┐рдпреЛред

рд╕реНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди