DirectX рд╡рд░ OpenGL рдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдиреЗ OpenGL 3.3 рд╕рд╣ рд╕реБрд╕рдВрдЧрддрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХреЗрд▓реА рдЖрд╣реЗ рдЖрдгрд┐ Mesa рдордзреНрдпреЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХреЗрд▓реЗ рдЖрд╣реЗ.

Collabora рдХрдВрдкрдиреАрдиреЗ D3D12 Gallium рдбреНрд░рд╛рдпрд╡реНрд╣рд░рд▓рд╛ рдореБрдЦреНрдп Mesa рд░рдЪрдиреЗрдордзреНрдпреЗ рд╕реНрд╡реАрдХрд╛рд░рдгреНрдпрд╛рдЪреА рдШреЛрд╖рдгрд╛ рдХреЗрд▓реА, рдЬреА DirectX 12 (D3D12) API рдЪреНрдпрд╛ рд╡рд░ OpenGL рдХрд╛рд░реНрдп рдЖрдпреЛрдЬрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХ рд╕реНрддрд░ рд▓рд╛рдЧреВ рдХрд░рддреЗ. рддреНрдпрд╛рдЪ рд╡реЗрд│реА, рдбреНрд░рд╛рдпрд╡реНрд╣рд░рдиреЗ WARP (рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рд░рд╛рд╕реНрдЯрд░рд╛рдпрдЭрд░) рдЖрдгрд┐ NVIDIA D3.3D3 рдбреНрд░рд╛рдпрд╡реНрд╣рд░реНрд╕рдЪреНрдпрд╛ рд╢реАрд░реНрд╖рд╕реНрдерд╛рдиреА рдХрд╛рдо рдХрд░рдд рдЕрд╕рддрд╛рдирд╛ OpenGL 12 рд╕рд╣ рд╕реБрд╕рдВрдЧрддрддреЗрд╕рд╛рдареА рдЪрд╛рдЪрдгреНрдпрд╛ рдпрд╢рд╕реНрд╡реАрдкрдгреЗ рдЙрддреНрддреАрд░реНрдг рдЭрд╛рд▓реНрдпрд╛рдЪреА рдШреЛрд╖рдгрд╛ рдХреЗрд▓реА.

рдбреНрд░рд╛рдпрд╡реНрд╣рд░ рдлрдХреНрдд D3D12 рд▓рд╛ рд╕рдкреЛрд░реНрдЯ рдХрд░рдгрд╛рд▒реНрдпрд╛ рдбреНрд░рд╛рдпрд╡реНрд╣рд░реНрд╕рд╕рд╣ рдореЗрд╕рд╛ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ D3D12 API рдЪреНрдпрд╛ рд╢реАрд░реНрд╖рд╕реНрдерд╛рдиреА OpenGL рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕ рдкреЛрд░реНрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкреНрд░рд╛рд░рдВрдн рдмрд┐рдВрджреВ рдореНрд╣рдгреВрди рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЙрдкрдпреБрдХреНрдд рдард░реВ рд╢рдХрддреЛ. рд╡рд┐рд╢реЗрд╖рддрдГ, WSL (Windows Subsystem for Linux) рдЙрдкрдкреНрд░рдгрд╛рд▓реА рдЪрд╛рд▓рд╡рдгрд╛рд░реНтАНрдпрд╛ рд╡рд╛рддрд╛рд╡рд░рдгрд╛рдд рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рдЪреЗ рдСрдкрд░реЗрд╢рди рдЖрдпреЛрдЬрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдбреНрд░рд╛рдпрд╡реНрд╣рд░рдЪрд╛ рд╡рд╛рдкрд░ рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ, рдЬреЗ Windows рдордзреНрдпреЗ Linux рдПрдХреНрдЭрд┐рдХреНрдпреБрдЯреЗрдмрд▓ рдлрд╛рдЗрд▓реНрд╕ рд▓рд╛рдБрдЪ рдХрд░рдгреНрдпрд╛рдЪреА рдЦрд╛рддреНрд░реА рджреЗрддреЗ.

D3D11 рддреЗ D12D3 рдЖрдгрд┐ D11D3TranslationLayer рд▓рд╛рдпрдмреНрд░рд░реА, рдЬреЗ D12D3 рд╡рд░ рдорд╛рдирдХ рдЧреНрд░рд╛рдлрд┐рдХ рдкреНрд░рд┐рдорд┐рдЯрд┐рд╡реНрд╣реНрдЬ рд▓рд╛рдЧреВ рдХрд░рддреЗ, рдЧреЗрдордЪреЗ рднрд╛рд╖рд╛рдВрддрд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЦреБрд▓реНрдпрд╛ D12D3On12 рдЯреВрд▓рдХрд┐рдЯ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдгрд╛рд░реНтАНрдпрд╛ Microsoft рдЕрднрд┐рдпрдВрддреНрдпрд╛рдВрд╕рд╣ рд╕рдВрдпреБрдХреНрддрдкрдгреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗрд▓рд╛ рдЬрд╛рдд рдЖрд╣реЗ. рд╡рд┐рдЪрд╛рд░рд╛рдзреАрди рдкреНрд░рдХрд▓реНрдкрд╛рдЪреНрдпрд╛ рдЖрдзрд╛рд░реЗ, рдорд╛рдпрдХреНрд░реЛрд╕реЙрдлреНрдЯрдиреЗ рдЖрдзреАрдЪ рдПрдХ рд╕реНрддрд░ рддрдпрд╛рд░ рдХреЗрд▓рд╛ рдЖрд╣реЗ рдЬреЛ рд╕рдВрдкреВрд░реНрдг OpenGL рд╕рдорд░реНрдерди рдкреНрд░рджрд╛рди рдХрд░рдд рдирд╕рд▓реЗрд▓реНрдпрд╛ Windows рдЙрдкрдХрд░рдгрд╛рдВрд╡рд░ OpenGL-рдЖрдзрд╛рд░рд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЪрд╛рд▓рд╡рдгреЗ рд╢рдХреНрдп рдХрд░рддреЗ. рд╡рд┐рд╢реЗрд╖рддрдГ, рдПрдЖрд░рдПрдо рдкреНрд░реЛрд╕реЗрд╕рд░рд╕рд╣ рд╡рд┐рдВрдбреЛрдЬ рдЙрдкрдХрд░рдгрд╛рдВрд╡рд░ рдлреЛрдЯреЛрд╢реЙрдк рдХрд╛рд░реНрдп рдХрд░рддреЗ рдпрд╛рдЪреА рдЦрд╛рддреНрд░реА рдХрд░рдгреЗ рд╢рдХреНрдп рд╣реЛрддреЗ.

рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдордзреНрдпреЗ Mesa рд╕рд╛рдареА рдбреНрд░рд╛рдпрд╡реНрд╣рд░ рдЖрдгрд┐ NIR-to-DXIL рд╢реЗрдбрд░ рдХрдВрдкрд╛рдЗрд▓рд░ (D3D12 рд░рдирдЯрд╛рдЗрдо) рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ, рдЬреЗ Mesa рдордзреНрдпреЗ рд╡рд╛рдкрд░рд▓реНрдпрд╛ рдЬрд╛рдгрд╛рд░реНтАНрдпрд╛ NIR рд╢реЗрдбрд░реНрд╕рдЪреЗ рдЗрдВрдЯрд░рдореАрдбрд┐рдПрдЯ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдбрд╛рдпрд░реЗрдХреНрдЯрдПрдХреНрд╕ 12 рдордзреНрдпреЗ рд╕рдорд░реНрдерд┐рдд рдЖрдгрд┐ LLVM рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдмрд╛рдпрдирд░реА DXIL (рдбрд╛рдпрд░реЗрдХреНрдЯрдПрдХреНрд╕ рдЗрдВрдЯрд░рдореАрдбрд┐рдПрдЯ рд▓рдБрдЧреНрд╡реЗрдЬ) рдлреЙрд░рдореЕрдЯрдордзреНрдпреЗ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ. 3.7 рдмрд┐рдЯрдХреЛрдб (рдорд╛рдпрдХреНрд░реЛрд╕реЙрдлреНрдЯрдЪрд╛ рдбрд╛рдпрд░реЗрдХреНрдЯрдПрдХреНрд╕ рд╢реЗрдбрд░ рдХрдВрдкрд╛рдЗрд▓рд░ рд╣рд╛ LLVM 3.7 рдЪрд╛ рдлреЛрд░реНрдХ рдЖрд╣реЗ). рдореЗрд╕рд╛ рдбреНрд░рд╛рдпрд╡реНрд╣рд░ рдЧреЕрд▓рд┐рдпрдо рдЗрдВрдЯрд░рдлреЗрд╕ рд╡рд╛рдкрд░рддреЛ, рдУрдкрдирдЬреАрдПрд▓ рдХрдорд╛рдВрдбреНрд╕ рд╕реНрд╡реАрдХрд╛рд░рддреЛ рдЖрдгрд┐ D3D12 рдХрдорд╛рдВрдбреНрд╕ рд╡реНрдпреБрддреНрдкрдиреНрди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА NIR-рдЯреВ-DXIL рдЯреНрд░рд╛рдиреНрд╕рд▓реЗрдЯрд░ рд╡рд╛рдкрд░рддреЛ, рдЬреЗ D3D12 рд╕рд┐рд╕реНрдЯрдо рдбреНрд░рд╛рдпрд╡реНрд╣рд░рджреНрд╡рд╛рд░реЗ GPU рд╡рд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд. рд╕реНрд╡рддрдВрддреНрд░рдкрдгреЗ, OpenCL рдХрдВрдкрд╛рдЗрд▓рд░ рдЖрдгрд┐ OpenCL рд░рдирдЯрд╛рдЗрдорд╕рд╣ D3D12 рд╡рд░ OpenCL рдХрд╛рд░реНрдп рдХрд░рддреЗ рдпрд╛рдЪреА рдЦрд╛рддреНрд░реА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдШрдЯрдХ рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рдд рдЖрд╣реЗрдд.

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

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