рд╡рд╛рдЗрди рдкреНрд░рдХрд▓реНрдкрд╛рдиреЗ рдбрд╛рдпрд░реЗрдХреНрдЯ3рдбреА 1.3 рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрд╕рд╣ Vkd3d 12 рдЬрд╛рд░реА рдХреЗрд▓реЗ рдЖрд╣реЗ

рджреАрдб рд╡рд░реНрд╖рд╛рдВрдЪреНрдпрд╛ рд╡рд┐рдХрд╛рд╕рд╛рдирдВрддрд░, рд╡рд╛рдИрди рдкреНрд░рдХрд▓реНрдкрд╛рдиреЗ рдбрд╛рдпрд░реЗрдХреНрдЯ3рдбреА 1.3 рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрд╕рд╣ vkd3d 12 рдкреЕрдХреЗрдЬ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ рдЬреЗ рд╡рд▓реНрдХрди рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ API рд╡рд░ рдХреЙрд▓реНрд╕рдЪреНрдпрд╛ рдкреНрд░рд╕рд╛рд░рдгрд╛рджреНрд╡рд╛рд░реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ. рдкреЕрдХреЗрдЬрдордзреНрдпреЗ Direct3D 3 рдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрд╕рд╣ libvkd12d рд▓рд╛рдпрдмреНрд░рд░реА, рд╢реЗрдбрд░ рдореЙрдбреЗрд▓ 3 рдЖрдгрд┐ 4 рдЪреНрдпрд╛ рдЕрдиреБрд╡рд╛рджрдХрд╛рд╕рд╣ libvkd5d-shader рдЖрдгрд┐ Direct3D 3 рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдВрдЪреЗ рдкреЛрд░реНрдЯрд┐рдВрдЧ рд╕реБрд▓рдн рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдлрдВрдХреНрд╢рдиреНрд╕рд╕рд╣ libvkd12d-utils, рддрд╕реЗрдЪ рдбреЗрдореЛ рдЙрджрд╛рд╣рд░рдгрд╛рдВрдЪрд╛ рд╕рдВрдЪ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ. рдбрд╛рдпрд░реЗрдХреНрдЯ3рдбреА 12 рдкрд░реНрдпрдВрдд glxgears. рдкреНрд░рдХрд▓реНрдк рдХреЛрдб LGPLv2.1 рдЕрдВрддрд░реНрдЧрдд рдкрд░рд╡рд╛рдирд╛рдХреГрдд рд╡рд┐рддрд░рд┐рдд рдХреЗрд▓рд╛ рдЬрд╛рддреЛ.

libvkd3d рд▓рд╛рдпрдмреНрд░рд░реА рдмрд╣реБрддреЗрдХ Direct3D 12 рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдВрдирд╛ рд╕рдорд░реНрдерди рджреЗрддреЗ, рдЬреНрдпрд╛рдд рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдЖрдгрд┐ рдЧрдгрди рд╕реБрд╡рд┐рдзрд╛, рд░рд╛рдВрдЧрд╛ рдЖрдгрд┐ рдХрдорд╛рдВрдб рд▓рд┐рд╕реНрдЯ, рд╣рдБрдбрд▓ рдЖрдгрд┐ рд╣реАрдк рд╣рдБрдбрд▓, рд░реВрдЯ рд╕реНрд╡рд╛рдХреНрд╖рд░реА, рдЖрдЙрдЯ-рдСрдл-рдСрд░реНрдбрд░ рдНрдХреНрд╕реЗрд╕, рд╕реЕрдореНрдкрд▓рд░реНрд╕, рдХрдорд╛рдВрдб рд╕рд┐рдЧреНрдиреЗрдЪрд░, рд░реВрдЯ рдХреЙрдиреНрд╕реНрдЯрдВрдЯреНрд╕, рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рд░реЗрдВрдбрд░рд┐рдВрдЧ, рдХреНрд▓рд┐рдпрд░ рдкрджреНрдзрддреА *( ) рдЖрдгрд┐ рдХреЙрдкреА рдХрд░рд╛*().

libvkd3d-shader рд╢реЗрдбрд░ рдореЙрдбреЗрд▓ 4 рдЖрдгрд┐ 5 рдЪреНрдпрд╛ рдмрд╛рдЗрдЯрдХреЛрдбрдЪреЗ рднрд╛рд╖рд╛рдВрддрд░ рдЗрдВрдЯрд░рдореАрдбрд┐рдПрдЯ SPIR-V рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡рд╛рдордзреНрдпреЗ рд▓рд╛рдЧреВ рдХрд░рддреЗ. рд╡реНрд╣рд░реНрдЯреЗрдХреНрд╕, рдкрд┐рдХреНрд╕реЗрд▓, рдЯреЗрд╕реЗрд▓реЗрд╢рди, рдХрдВрдкреНрдпреВрдЯ рдЖрдгрд┐ рд╕рд╛рдзреНрдпрд╛ рднреВрдорд┐рддреА рд╢реЗрдбрд░реНрд╕, рд░реВрдЯ рд╕рд┐рдЧреНрдиреЗрдЪрд░ рд╕реАрд░рд┐рдпрд▓рд╛рдпрдЭреЗрд╢рди рдЖрдгрд┐ рдбреАрд╕реАрд░рд┐рдпрд▓рд╛рдпрдЭреЗрд╢рдирд▓рд╛ рд╕рдорд░реНрдерди рджреЗрддреЗ. рд╢реЗрдбрд░ рд╕реВрдЪрдирд╛рдВрдордзреНрдпреЗ рдЕрдВрдХрдЧрдгрд┐рдд, рдЕрдгреВ рдЖрдгрд┐ рдмрд┐рдЯ рдСрдкрд░реЗрд╢рдиреНрд╕, рддреБрд▓рдирд╛ рдЖрдгрд┐ рдбреЗрдЯрд╛ рдкреНрд░рд╡рд╛рд╣ рдирд┐рдпрдВрддреНрд░рдг рдСрдкрд░реЗрдЯрд░, рдирдореБрдирд╛, рдПрдХрддреНрд░рд┐рдд рдЖрдгрд┐ рд▓реЛрдб рд╕реВрдЪрдирд╛, рдЕрдХреНрд░рдорд┐рдд рдНрдХреНрд╕реЗрд╕ рдСрдкрд░реЗрд╢рдиреНрд╕ (UAV, Unordered Access View) рдпрд╛рдВрдЪрд╛ рд╕рдорд╛рд╡реЗрд╢ рд╣реЛрддреЛ.

Vkd3d 1.3 рдордзреАрд▓ рд╕рд░реНрд╡рд╛рдд рд▓рдХреНрд╖рдгреАрдп рдирд╡рдХрд▓реНрдкрдирд╛ рдЖрд╣реЗрдд:

  • рдПрдЪрдПрд▓рдПрд╕рдПрд▓ (рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рд╢реЗрдбрд░ рд▓рдБрдЧреНрд╡реЗрдЬ) рдордзреНрдпреЗ рд╢реЗрдбрд░реНрд╕рдЪреЗ рд╕рдВрдХрд▓рди рдЖрдгрд┐ рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧрд╕рд╛рдареА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ, рдбрд╛рдпрд░реЗрдХреНрдЯрдПрдХреНрд╕ 9.0 рд╕рд╣ рдкреНрд░рд╛рд░рдВрдн рдХрд░реВрди рдкреНрд░рджрд╛рди рдХреЗрд▓реЗ.
  • 5.1 рд╢реЗрдбрд░ рдореЙрдбреЗрд▓рдордзреНрдпреЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╡рд░реНрдгрдирдХрд░реНрддреНрдпрд╛рдВрдЪреНрдпрд╛ рдЕреЕрд░реЗрд╕рд╛рдареА рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ.
  • рд╢реЗрдбрд░реНрд╕рдордзреНрдпреЗ рджреБрд╣реЗрд░реА-рдкрд░рд┐рд╢реБрджреНрдзрддрд╛ рдлреНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рдСрдкрд░реЗрд╢рдиреНрд╕, рдЯреЗрд╕реЗрд▓реЗрд╢рди рд╢реЗрдбрд░реНрд╕рд╕рд╛рдареА рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рдкрддреНрддрд╛, рд╢реЗрдбрд░реНрд╕рдордзреВрди рд╕реНрдЯреЕрдиреНрд╕рд┐рд▓рдЪреА рдирд┐рд░реНрдпрд╛рдд, рдПрдХ "рдЕрдЪреВрдХ" рд╢реЗрдбрд░ рд╕реБрдзрд╛рд░рдХ рдЖрдгрд┐ рдореЗрдорд░реА рд╕рдВрд╕рд╛рдзрдирд╛рдВрдордзреНрдпреЗ рдЬрд╛рдЧрддрд┐рдХ рдЕрдбрдерд│реЗ рдпрд╛рд╕рд╛рдареА рд╕рдорд░реНрдерди рдкреНрд░рджрд╛рди рдХрд░рддреЗ.
  • рдбрд╛рдпрд░реЗрдХреНрдЯ3рдбреА рд╢реЗрдбрд░реНрд╕рдирд╛ рдмрд╛рдЗрдЯрдХреЛрдбрдордзреВрди рдЕрд╕реЗрдВрдмреНрд▓реА рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡рд╛рдордзреНрдпреЗ рд╡реЗрдЧрд│реЗ рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рд▓рд╛рдЧреВ рдХреЗрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ.
  • Direct3D 3, 1 рдЖрдгрд┐ 2 рд╢реЗрдбрд░ рдореЙрдбреЗрд▓реНрд╕рдордзреНрдпреЗ рд╡рд╛рдкрд░рд▓реЗрд▓реЗ рдЬреБрдиреЗ Direct3D bytecode рдлреЙрд░рдореЕрдЯ рдкрд╛рд░реНрд╕ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ.
  • libvkd3d Direct3D 12 рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рдЬреЛрдбрддреЗ рдЬрд╕реЗ рдХреА рд░реВрдЯ рд╕реНрд╡рд╛рдХреНрд╖рд░реА, рдЖрдЙрдЯ-рдСрдл-рдСрд░реНрдбрд░ рд╡реНрд╣реНрдпреВ рдХрд╛рдЙрдВрдЯрд░, рдЖрдЙрдЯрдкреБрдЯрд╕рд╛рдареА рд▓реЙрдЬрд┐рдХрд▓ рдорд░реНрдЬ рдСрдкрд░реЗрдЯрд░, рдЖрдгрд┐ mirror_once рдЯреЗрдХреНрд╕рдЪрд░ рдЕреЕрдбреНрд░реЗрд╕рд┐рдВрдЧ рдореЛрдб. vkd3d_host_time_domain_info рд╕рдВрд░рдЪрдирд╛ рдЬреЛрдбрд▓реА.

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛