老實說,個人是覺得這東西對於一般人的意義不大,不過由於和工作方面似乎還是有點相關,所以這邊紀錄一下。
微軟在 Windows 商店上推出了「OpenCL™和 OpenGL®相容性套件」(連結、英文名稱是「OpenCL and OpenGL Compatibility Pack」)這個 App,提供了使用 DirectX 12 來對應 OpenCL 與 OpenGL 的功能。
下面是官方的說明:
相容性套件可讓您最愛的 OpenCL™ 和 OpenGL® 應用程式在未預設安裝 OpenCL 和 OpenGL 硬體驅動程式的 Windows 10 電腦上執行。如果已安裝 DirectX 12 驅動程式,支援的應用程式將會以硬體加速執行,以獲得更佳的效能。此套件支援使用 OpenCL 版本 1.2 及更早版本和 OpenGL 版本 3.3 及更早版本的應用程式。
只有特定應用程式可以使用此相容性套件。Windows 測試人員可以取得此套件的測試人員版本,讓更多應用程式使用。
如需詳細資訊,請參閱 Windows 10 說明: https://aka.ms/clglcp-faq
他基本上應該不是用來開發程式用的,而是讓不支援 OpenCL 與 OpenGL 的電腦,在支援 DirectX 12 的情況下,可以透過這個相容性套件,來對應 OpenCL 1.2 以及 OpenGL 3.3 以前的 API、做出支援。
而由於這個模擬基本上是透過 DirectX 來做底層的,所以還是能得到硬體加速的效果~
不過現階段,僅有特定的應用程式可以透過這個相容性套件來獲得硬體加速,所以自己寫的程式,應該是沒辦法直接用的。
目前微軟官方還沒能找到更進一步的資料,上面 FAQ 的連結基本上也沒有用,所以細節也還不確動。
不過基本上,這應該是之前《In the works: OpenCL™ and OpenGL® mapping layers to DirectX》這篇文章的後續產物吧?而基本上,應該就是和 Collabora 合作的結果了(參考《Introducing OpenCL and OpenGL on DirectX》)。
不過,老實說啦,其實在 Windows PC 上以 NVIDIA、AMD、Intel 為主的顯示晶片驅動程式本來就有支援 OpenGL 和 OpenCL 了,真的有機會用到這種用 DirectX 來支援 OpenGL 的狀況嗎?
又或者,這東西主要是要給 HoloLens 和 Surface Hub 這類特殊的硬體用的嗎?
我猜想是XBOX,像是Xbox Series X 已經超越很多桌電筆電,而且又便宜。
讚讚
以目前來看,應該不是
讚讚
Announcing the OpenCL™ and OpenGL® Compatibility Pack for Windows 10 on ARM
https://devblogs.microsoft.com/directx/announcing-the-opencl-and-opengl-compatibility-pack-for-windows-10-on-arm/
所以看來主要是給 ARM 版的 Windows 用的?
讚讚
看來我還想多了(客制硬件沒人權)
讚讚
“不支援 OpenCL 與 OpenGL 的電腦,在支援 DirectX 12 的情況下"
能做出符合這個條件的軟件就比較神奇。說不支持DirectX而支持OpenCL/GL倒是挺正常,不支持OpenCL/GL但支持DirectX再實現OpenCL/GL?這是什麼奇葩場景?是指不支持新版OpenCL/GL淘汰掉的舊API但可以通過DirectX向下兼容一層?
讚讚
他是指讓本來只支援 Direct X 12 的顯示卡可以支援 OpenGL 和 OpenCL。
讚讚
我大腦想死機了也沒想通,這又不是2000年怎麼會出現只支援 Direct X 卻不支援 OpenGL 的顯卡,畢竟顯卡核心就剩三家還在做了。於是我谷歌了一下得到了結論:客制顯卡。
好吧,作爲被客制硬件坑過的用戶表示:客制硬件真的什麼妖蛾子都有可能。
讚讚