2018年8月1日 星期三

Think Silicon 開源其 GLOVE 專案, 為OpenGL ES over Vulkan 實作

去年針對低功耗市場推出 GPU IP 的廠商 Think Silicon 將其 OpenGL over Vulkan 的軟體專案 GLOVE 於 GitHub 上以 LGPL 的方式 open source. GLOVE 這類實作帶給軟體開發者的好處是能夠確保 Vulkan 平台上能夠使用習慣的 OpenGLES, 對於硬體平台商而言, 可以專注於 Vulkan Driver/API 效能, 對於 OpenGLES 的部份交給這一類型的 middleware. 另外可以對於 VM 只提供 Vulkan Virtual Layer, 而 OpenGL 環境就交給 GLOVE.
事實上在 OpenGL ES 自 1.x 到 2.0 的時候多數的 GPU vendor 即是以類似的方式將 OpenGL ES 1.x 的 fixed function 以 OpenGL ES 2.0 shader 的方式實作提供.
事實上類似的專案不少:
OpenGL over Vulkan — Glo: https://github.com/g-truc/glo
DirectX 9 3D over Vulkan — VK9: https://github.com/disks86/VK9
DirectX 11 3D over Vulkan — DXVK: https://github.com/doitsujin/dxvk
DirectX 12 3D over Vulkan — VKD3D: https://source.winehq.org/git/vkd3d.git/
還有反向的在 Apple 平台提供 Vulkan API (這幾乎成為 Apple 平台唯一方式, 因為蘋果只推自己的 Meta)
Vulkan over Metal — MoltenVK: https://github.com/KhronosGroup/MoltenVK
原本 Apple 的態度是堅決不願意開放非 Metal APPs
July 8th, 2018 — Apple Rejects iOS App For Using MoltenVK Vulkan, Alleged Non-Public API
https://www.phoronix.com/scan.php?page=news_item&px=Apple-Rejects-iOS-MoltenVK
Apple 後來可能發現這樣會流失很多 APPs 開發者而同意 (一些說法個人比較認為是找台階下)
July 29th, 2018 — Apple Accepts Updated MoltenVK-Using App/Game For Vulkan API On iOS
https://www.phoronix.com/scan.php?page=news_item&px=Apple-Lets-In-Updated-MVK-App

沒有留言:

在 ARM 平台上使用 Function Multi-Versioning (FMV) - 以使用 Android NDK 為例

Function Multi-Versioning (FMV) 過往的 CPU 發展歷程中, x86 平台由於因應各種應用需求的提出, 而陸陸續續加入了不同的指令集, 此外也可能因為針對市場做等級區隔, 支援的數量與種類也不等. 在 Linux 平台上這些 CPU 資訊可以透過...