Collabora เบžเบฑเบ”เบ—เบฐเบ™เบฒเบชเปˆเบงเบ™เป€เบชเบตเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เปเบฅเปˆเบ™ OpenCL เปเบฅเบฐ OpenGL เบขเบนเปˆเป€เบ—เบดเบ‡เบชเบธเบ”เบ‚เบญเบ‡ DirectX

เบšเปเบฅเบดเบชเบฑเบ”เบฎเปˆเบงเบกเบกเบท เบ™เบณ เบชเบฐ เป€เปœเบต เป„เบ”เป€เบงเบต 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 เปเบฅเบฐโ€‹เบซเป‰เบญเบ‡โ€‹เบชเบฐโ€‹เบซเบกเบธเบ”โ€‹ D3D12TranslationLayer, เป€เบŠเบดเปˆเบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบเบฃเบฒเบŸเบดเบเป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบขเบนเปˆเป€เบ—เบดเบ‡เบชเบธเบ”เบ‚เบญเบ‡ D3D12.

เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ›เบฐเบเบญเบšเบกเบตเป„เบ”เป€เบงเบต Gallium, OpenCL compiler, OpenCL runtime เปเบฅเบฐ NIR-to-DXIL shader compiler, เป€เบŠเบดเปˆเบ‡เบ›เปˆเบฝเบ™เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบ•เบปเบงเบเบฒเบ‡เบ‚เบญเบ‡ NIR shaders เบ—เบตเปˆเปƒเบŠเป‰เปƒเบ™ Mesa เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบฎเบนเบšเปเบšเบšเบ„เบนเปˆ DXIL (DirectX Intermediate Language), เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เปƒเบ™ DirectX 12 เปเบฅเบฐเบญเบตเบ‡เปƒเบชเปˆ. LLVM 3.7 bitcode (เบœเบนเป‰เบฎเบงเบšเบฎเบงเบก DirectX Shader เบˆเบฒเบ Microsoft เปเบกเปˆเบ™เป€เบ›เบฑเบ™ fork เบ‚เบฐเบซเบเบฒเบเบ‚เบญเบ‡ LLVM 3.7). OpenCL compiler เปเบกเปˆเบ™เบเบฒเบ™เบเบฐเบเบฝเบกเป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ‚เบญเบ‡เป‚เบ„เบ‡เบเบฒเบ™ LLVM เปเบฅเบฐเป€เบ„เบทเปˆเบญเบ‡เบกเบท SPIRV-LLVM.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบกเบตเบชเปˆเบงเบ™เบ‚เบฐเบซเบเบฒเบ OpenCL เบ–เบทเบเบฅเบงเบšเบฅเบงเบกเป‚เบ”เบเปƒเบŠเป‰ clang เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™ LLVM intermediate pseudocode (LLVM IR), เป€เบŠเบดเปˆเบ‡เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ–เบทเบเบ›เปˆเบฝเบ™เป€เบ›เบฑเบ™เบ•เบปเบงเปเบ—เบ™เบ›เบฒเบ™เบเบฒเบ‡เบ‚เบญเบ‡ OpenCL kernels เปƒเบ™เบฎเบนเบšเปเบšเบš SPIR-V. Cores เปƒเบ™เบเบฒเบ™เป€เบ›เบฑเบ™เบ•เบปเบงเปเบ—เบ™ SPIR-V เบ–เบทเบเบชเบปเปˆเบ‡เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™ Mesa, เปเบ›เป€เบ›เบฑเบ™เบฎเบนเบšเปเบšเบš NIR, optimized เปเบฅเบฐเบชเบปเปˆเบ‡เบœเปˆเบฒเบ™ NIR-to-DXIL เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡ compute shaders เปƒเบ™เบฎเบนเบšเปเบšเบš DXIL, เป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™ GPU เป‚เบ”เบเปƒเบŠเป‰ 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
เบชเป‰เบฒเบ‡ buffers เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™ GPU เป‚เบ”เบเปƒเบŠเป‰เป„เบ”เป€เบงเบต D3D12.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™