Collabora แž”แž„แŸ’แž€แžพแžแž€แž˜แŸ’แž˜แžœแžทแž’แžธแž”แž“แŸ’แžแŸ‚แž˜แžŸแž˜แŸ’แžšแžถแž”แŸ‹แžŠแŸ†แžŽแžพแžšแž€แžถแžš OpenCL แž“แžทแž„ OpenGL แž“แŸ…แž›แžพ DirectX

แž€แŸ’แžšแžปแž˜แž แŸŠแžปแž“ Collabora แž”แž„แŸ’แž แžถแž‰ แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž”แž‰แŸ’แž‡แžถ Gallium แžแŸ’แž˜แžธแžŸแž˜แŸ’แžšแžถแž”แŸ‹ Mesa แžŠแŸ‚แž›แžขแž“แžปแžœแžแŸ’แžแžŸแŸ’แžšแž‘แžถแž”แŸ‹แžŸแž˜แŸ’แžšแžถแž”แŸ‹แžšแŸ€แž”แž…แŸ†แž€แžถแžšแž„แžถแžšแžšแž”แžŸแŸ‹ OpenCL 1.2 แž“แžทแž„ OpenGL 3.3 APIs แž“แŸ…แž›แžพแž€แž˜แŸ’แž˜แžœแžทแž’แžธแž”แž‰แŸ’แž‡แžถแžŠแŸ‚แž›แž‚แžถแŸ†แž‘แŸ’แžš DirectX 12 (D3D12) แŸ” แž€แžผแžŠ แž”แžถแž“แž•แŸ’แžŸแž–แŸ’แžœแž•แŸ’แžŸแžถแž™แŸ” แž€แŸ’แžšแŸ„แž˜แžขแžถแž‡แŸ’แž‰แžถแž”แŸแžŽแŸ’แžŽ MIT แŸ”

แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž”แž‰แŸ’แž‡แžถแžŠแŸ‚แž›แž”แžถแž“แžŸแŸ’แž“แžพแžกแžพแž„แžขแž“แžปแž‰แŸ’แž‰แžถแžแžฑแŸ’แž™แžขแŸ’แž“แž€แž”แŸ’แžšแžพ Mesa แž“แŸ…แž›แžพแžงแž”แž€แžšแžŽแŸแžŠแŸ‚แž›แž˜แžทแž“แž‚แžถแŸ†แž‘แŸ’แžš OpenCL แž“แžทแž„ OpenGL แž แžพแž™แž€แŸแž‡แžถแž…แŸ†แžŽแžปแž…แž…แžถแž”แŸ‹แž•แŸ’แžแžพแž˜แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž”แž‰แŸ’แž‡แžผแž“แž€แž˜แŸ’แž˜แžœแžทแž’แžธ OpenGL/OpenCL แžŠแžพแž˜แŸ’แž”แžธแžŠแŸ†แžŽแžพแžšแž€แžถแžšแž“แŸ…แž›แžพแž€แŸ†แž–แžผแž›แž“แŸƒ D3D12แŸ” แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แŸ’แžšแžปแž˜แž แŸŠแžปแž“แž•แž›แžทแž GPU แž”แŸ’แžšแž–แŸแž“แŸ’แž’แžšแž„แž’แŸ’แžœแžพแžฑแŸ’แž™แžœแžถแžขแžถแž…แž•แŸ’แžแž›แŸ‹แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹ OpenCL แž“แžทแž„ OpenGL แž”แŸ’แžšแžŸแžทแž“แž”แžพแž˜แžถแž“แžแŸ‚แžขแŸ’แž“แž€แž”แžพแž€แž”แžšแžŠแŸ‚แž›แž˜แžถแž“แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžš D3D12 แž”แŸ‰แžปแžŽแŸ’แžŽแŸ„แŸ‡แŸ”

แž€แŸ’แž“แžปแž„แž…แŸ†แžŽแŸ„แž˜แž•แŸ‚แž“แž€แžถแžšแž—แŸ’แž›แžถแž˜แŸ—แž‚แžบแž€แžถแžšแžŸแž˜แŸ’แžšแŸแž…แž”แžถแž“แž“แžผแžœแž€แžถแžšแž†แŸ’แž›แž„แž€แžถแžแŸ‹แž–แŸแž‰แž›แŸแž‰แž“แŸƒแž€แžถแžšแž’แŸ’แžœแžพแžแŸแžŸแŸ’แžแž—แžถแž–แž†แž”แž‚แŸ’แž“แžถแž“แŸƒ OpenCL 1.2 แž“แžทแž„ OpenGL 3.3 แž€แžถแžšแžแŸ’แžšแžฝแžแž–แžทแž“แžทแžแŸ’แž™แž—แžถแž–แž†แž”แž‚แŸ’แž“แžถแž‡แžถแž˜แžฝแž™แž€แž˜แŸ’แž˜แžœแžทแž’แžธ แž“แžทแž„แž€แžถแžšแžŠแžถแž€แŸ‹แž”แž‰แŸ’แž…แžผแž›แž€แžถแžšแžขแž—แžทแžœแžŒแŸ’แžแž“แŸแž“แŸ…แž€แŸ’แž“แžปแž„แžŸแž˜แžถแžŸแž—แžถแž–แžŸแŸ†แžแžถแž“แŸ‹แžšแž”แžŸแŸ‹ Mesa แŸ” แž€แžถแžšแžขแž—แžทแžœแžŒแŸ’แžแž“แŸแžแŸ’แžšแžผแžœแž”แžถแž“แžขแž“แžปแžœแžแŸ’แžแžšแžฝแž˜แž‚แŸ’แž“แžถแž‡แžถแž˜แžฝแž™แžœแžทแžŸแŸ’แžœแž€แžš Microsoft แž€แŸ†แž–แžปแž„แžขแž—แžทแžœแžŒแŸ’แž แž”แžพแž€ แžงแž”แž€แžšแžŽแŸ D3D11On12 แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž•แŸ’แž‘แŸแžšแž แŸ’แž‚แŸแž˜แž–แžธ D3D11 แž‘แŸ… D3D12 แž“แžทแž„แž”แžŽแŸ’แžŽแžถแž›แŸแž™ แžŸแŸ’แžšแž‘แžถแž”แŸ‹แž”แž€แž”แŸ’แžšแŸ‚ D3D12แžŠแŸ‚แž›แžขแž“แžปแžœแžแŸ’แžแžŸแŸ’แžแž„แŸ‹แžŠแžถแžšแž€แŸ’แžšแžถแž แŸ’แžœแžทแž€แž”แžปแž–แŸ’แžœแž€แžถแž›แž“แŸ…แž›แžพแž€แŸ†แž–แžผแž›แž“แŸƒ D3D12 แŸ”

แž€แžถแžšแžขแž“แžปแžœแžแŸ’แžแžšแžฝแž˜แž˜แžถแž“แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž”แž‰แŸ’แž‡แžถ Gallium, แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž…แž„แž€แŸ’แžšแž„ OpenCL, OpenCL runtime แž“แžทแž„ NIR-to-DXIL shader compiler แžŠแŸ‚แž›แž”แŸ†แž”แŸ’แž›แŸ‚แž„แžแŸ†แžŽแžถแž„แž˜แž’แŸ’แž™แž˜แž“แŸƒ NIR shaders แžŠแŸ‚แž›แž”แŸ’แžšแžพแž€แŸ’แž“แžปแž„ Mesa แž‘แŸ…แž‡แžถแž‘แž˜แŸ’แžšแž„แŸ‹แž‚แŸ„แž›แž–แžธแžš DXIL (DirectX Intermediate Language) แžŠแŸ‚แž›แž‚แžถแŸ†แž‘แŸ’แžšแž€แŸ’แž“แžปแž„ DirectX 12 แž“แžทแž„แž•แŸ’แžขแŸ‚แž€แž›แžพ LLVM 3.7 แž”แŸŠแžธแžแž€แžผแžŠ (แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž…แž„แž€แŸ’แžšแž„ DirectX Shader แž–แžธแž€แŸ’แžšแžปแž˜แž แŸŠแžปแž“ Microsoft แž‚แžบแžŸแŸ†แžแžถแž“แŸ‹แž‡แžถแž•แŸ’แž“แŸ‚แž€แž”แž“แŸ’แžแŸ‚แž˜แž“แŸƒ LLVM 3.7)แŸ” แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž…แž„แž€แŸ’แžšแž„ OpenCL แžแŸ’แžšแžผแžœแž”แžถแž“แžšแŸ€แž”แž…แŸ†แžŠแŸ„แž™แž•แŸ’แžขแŸ‚แž€แž›แžพแž€แžถแžšแžขแž—แžทแžœแžŒแŸ’แžแž“แŸแž“แŸƒแž‚แž˜แŸ’แžšแŸ„แž„ LLVM แž“แžทแž„แžงแž”แž€แžšแžŽแŸ SPIRV-LLVM.

แž”แŸ’แžšแž—แž–แžŠแŸ‚แž›แž˜แžถแž“แž•แŸ’แž“แŸ‚แž€แž”แž“แŸ’แžแŸ‚แž˜ OpenCL แžแŸ’แžšแžผแžœแž”แžถแž“แž…แž„แž€แŸ’แžšแž„แžŠแŸ„แž™แž”แŸ’แžšแžพ clang แž‘แŸ…แž‡แžถ LLVM intermediate pseudocode (LLVM IR) แžŠแŸ‚แž›แž”แž“แŸ’แž‘แžถแž”แŸ‹แž˜แž€แžแŸ’แžšแžผแžœแž”แžถแž“แž”แŸ†แž”แŸ’แž›แŸ‚แž„แž‘แŸ…แž‡แžถแžแŸ†แžŽแžถแž„แž˜แž’แŸ’แž™แž˜แž“แŸƒแžแžบแžŽแŸ‚แž› OpenCL แž€แŸ’แž“แžปแž„แž‘แž˜แŸ’แžšแž„แŸ‹ SPIR-VแŸ” แžŸแŸ’แž“แžผแž›แž“แŸ…แž€แŸ’แž“แžปแž„แžแŸ†แžŽแžถแž„ SPIR-V แžแŸ’แžšแžผแžœแž”แžถแž“แž”แž‰แŸ’แž‡แžผแž“แž‘แŸ… Mesa แž”แž€แž”แŸ’แžšแŸ‚แž‘แŸ…แž‡แžถแž‘แž˜แŸ’แžšแž„แŸ‹ NIR แž’แŸ’แžœแžพแžฑแŸ’แž™แž”แŸ’แžšแžŸแžพแžš แž“แžทแž„แž”แž‰แŸ’แž‡แžผแž“แž‘แŸ… NIR-to-DXIL แžŠแžพแž˜แŸ’แž”แžธแž”แž„แŸ’แž€แžพแžแž€แž˜แŸ’แž˜แžœแžทแž’แžธแžŸแŸ’แžšแž˜แŸ„แž›แž‚แžŽแž“แžถแž€แŸ’แž“แžปแž„แž‘แž˜แŸ’แžšแž„แŸ‹ DXIL แžŠแŸ‚แž›แžŸแž˜แžšแž˜แŸ’แž™แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž›แžพ GPUs แžŠแŸ„แž™แž”แŸ’แžšแžพ DirectX 12-based runtime แŸ”
แž‡แŸ†แž“แžฝแžŸแžฑแŸ’แž™ Clover แž€แžถแžšแžขแž“แžปแžœแžแŸ’แž OpenCL แžŠแŸ‚แž›แž”แŸ’แžšแžพแž€แŸ’แž“แžปแž„ Mesa แž–แŸแž›แžœแŸแž›แžถแžŠแŸ†แžŽแžพแžšแž€แžถแžš OpenCL แžแŸ’แž˜แžธแžแŸ’แžšแžผแžœแž”แžถแž“แžŸแŸ’แž“แžพแžกแžพแž„ แžŠแŸ‚แž›แžขแž“แžปแž‰แŸ’แž‰แžถแžแžฑแŸ’แž™แž˜แžถแž“แž€แžถแžšแž”แŸ†แž”แŸ’แž›แŸ‚แž„แžŠแŸ„แž™แž•แŸ’แž‘แžถแž›แŸ‹แž”แž“แŸ’แžแŸ‚แž˜แž‘แŸ€แžแž‘แŸ…แž€แžถแž“แŸ‹ DirectX 12 API แŸ”

Collabora แž”แž„แŸ’แž€แžพแžแž€แž˜แŸ’แž˜แžœแžทแž’แžธแž”แž“แŸ’แžแŸ‚แž˜แžŸแž˜แŸ’แžšแžถแž”แŸ‹แžŠแŸ†แžŽแžพแžšแž€แžถแžš OpenCL แž“แžทแž„ OpenGL แž“แŸ…แž›แžพ DirectX

แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž”แž‰แŸ’แž‡แžถ OpenCL แž“แžทแž„ OpenGL แžแŸ’แžšแžผแžœแž”แžถแž“แžšแŸ€แž”แž…แŸ†แžŠแŸ„แž™แž”แŸ’แžšแžพแž…แŸ†แžŽแžปแž…แž”แŸ’แžšแž‘แžถแž€แŸ‹ Gallium แžŠแŸ‚แž›แž”แžถแž“แž•แŸ’แžแž›แŸ‹แž‡แžผแž“แž“แŸ…แž€แŸ’แž“แžปแž„ Mesa แžŠแŸ‚แž›แžขแž“แžปแž‰แŸ’แž‰แžถแžแžฑแŸ’แž™แžขแŸ’แž“แž€แž”แž„แŸ’แž€แžพแžแž€แž˜แŸ’แž˜แžœแžทแž’แžธแž”แž‰แŸ’แž‡แžถแžŠแŸ„แž™แž˜แžทแž“แž…แžถแŸ†แž”แžถแž…แŸ‹แž…แžผแž›แž‘แŸ…แž€แŸ’แž“แžปแž„แž–แŸแžแŸŒแž˜แžถแž“แž›แž˜แŸ’แžขแžทแžแž‡แžถแž€แŸ‹แž›แžถแž€แŸ‹แžšแž”แžŸแŸ‹ OpenGL แž“แžทแž„แž”แž€แž”แŸ’แžšแŸ‚แž€แžถแžšแž แŸ…แž‘แžผแžšแžŸแŸแž–แŸ’แž‘ OpenGL แž“แŸ…แž€แŸ’แž“แžปแž„แžแŸ’แž›แžนแž˜แžŸแžถแžšแž€แžถแž“แŸ‹แžแŸ‚แž‡แžทแžแž‘แŸ…แž“แžนแž„แž”แžปแž–แŸ’แžœแž”แž‘แž€แŸ’แžšแžถแž แŸ’แžœแžทแž€แžŠแŸ‚แž› GPUs แž‘แŸ†แž“แžพแž”แžŠแŸ†แžŽแžพแžšแž€แžถแžšแŸ” แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž”แž‰แŸ’แž‡แžถ Gallium แž‘แž‘แžฝแž›แž™แž€แž–แžถแž€แŸ’แž™แž”แž‰แŸ’แž‡แžถ OpenGL แž แžพแž™แž“แŸ…แž–แŸแž›แž”แŸ’แžšแžพแžขแŸ’แž“แž€แž”แž€แž”แŸ’แžšแŸ‚ NIR-to-DXIL
แž”แž„แŸ’แž€แžพแžแž”แžŽแŸ’แžแžปแŸ†แž–แžถแž€แŸ’แž™แž”แž‰แŸ’แž‡แžถแžŠแŸ‚แž›แžแŸ’แžšแžผแžœแž”แžถแž“แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž“แŸ…แž›แžพ GPU แžŠแŸ„แž™แž”แŸ’แžšแžพแž€แž˜แŸ’แž˜แžœแžทแž’แžธแž”แž‰แŸ’แž‡แžถ D3D12 แŸ”

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

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