Khronos 在今年的 GDC(Game Developer’s Conference)上,發表了一波標準的更新,包括了:
- OpenGL ES 3.1 Specification
- WebCL 1.0 Specification
- EGL 1.5 Specification
- SYCL 1.2 Provisional Specification
- OpenCL 2.0 Adopters Program
OpenGL ES 3.1
官方新聞稿可以參考《Khronos Releases OpenGL ES 3.1 Specification》。
3.1 版主要是把 OpenGL 4.4 的部分功能引入,讓 OpenGL ES 的功能更完整;其中主要的新功能包括了:
- Compute shaders
- Separate shader objects
- Indirect draw commands
- Enhanced texturing functionality
- Shading language improvements
- Optional extensions
目前像是 NVIDIA 新一代的行動處理器 NVIDIA Tegra K1,就已經支援 OpenGL ES 3.1 了。另外,OpenGL ES 3.1 也相容於 OpenGL ES 2.0 和 3.0。
WebCL 1.0
官方新聞稿請參考《Khronos Releases WebCL 1.0 Specification》。
WebCL 基本上是一個試著把 OpenCL 這套跨平台的 GPGPU(圖形處理器通用計算、一般是用來做大量平行畫計算)標準、搬到網頁環境裡的標準;實際上這東西 Khronos 在三年前就提出了,不過看來是到現在才正式定案。
WebCL 基本上可以視為 JavaScript 版本的 OpenCL,目前支援 OpenCL 1.1 Embedded Profile 的功能,並且可以和 WebGL 做互通。
不過這東西現階段的問題應該是還沒有瀏覽器有直接支援。在官方的 Wiki 上,則有提到目前 Nokia、Samsung 和 Motorola 有提供 Prototype 的實作。
EGL 1.5
官方新聞稿請參考《Khronos Releases EGL 1.5 Specification》。
EGL 是「Native Platform Interface」(但是官網下面又有寫「Native Platform Graphics Interface」…),基本上應該是用來作 OpenGL、OpenGL ES 這類的圖形 API 與系統平台的圖形資源管理用的。不過目前似乎沒有什麼實作可以用?
SYCL 1.2
官方新聞稿請參考《Khronos Releases SYCL 1.2 Provisional Specification》。
一個更為高階的 OpenCL C 層開發環境。基本上是為了簡化 OpenCL 開發而提出的,目前還沒有正式定案。Khronos 希望透過 SYCL,可以在開發程式的時候不用再去切割 host 和 device 的程式碼,而是可以直接完成一個 OpenCL 的程式,以降低開發門檻。
他的功能特性包括了:
- API specifications for creating C template libraries and compilers using the C 11 standard;
- Easy to use, production grade API that can be built on-top of OpenCL and SPIR;
- Compatible with standard CPU C compilers across multiple platforms, as well as enabling new SYCL-based device compilers to target OpenCL devices;
- Asynchronous, low-level access to OpenCL features for high performance and low-latency – while retaining ease of use;
- Khronos open royalty-free standard – to guarantee ongoing support and reciprocal IP coverage;
- OpenGL® Integration to enable sharing of image and textures with SYCL as well as OpenCL;
- Development in parallel with OpenCL – future releases are expected to support upcoming OpenCL 2.0 implementations and track future OpenCL releases.
有興趣的話應該可以參考官方的投影片《An Overview of SYCL 1.2》(PDF)。
OpenCL 2.0 Adopters Program
官方新聞稿請參考《Khronos Launches OpenCL 2.0 Adopters Program》。
官方的 OpenCL 2.0 一致性測試程序,基本上是給廠商測試他們的實作用的。對於一般使用者來說應該意義比較不大。
整個看下來,個人覺得比較有興趣的應該是 SYCL 啦~不知道啥時會有東西可以用?