The Khronos group publicly released the OpenGL 4.5 specification at Siggraph this week. The two biggest changes are OpenGL ES 3.1 compatibility (including ES shaders) and DX11 feature emulation. The first will make it easier to write OpenGL or OpenGL-ES apps for any platform on a desktop. The second will make it easier to port DX11.2 apps to OpenGL. The main list of new features is;
- Direct State Access (DSA) – object accessors enable state to be queried and modified without binding objects to contexts, for increased application and middleware efficiency and flexibility;
- Flush Control – applications can control flushing of pending commands before context switching – enabling high-performance multithreaded applications;
- Robustness – providing a secure platform for applications such as WebGL browsers, including preventing a GPU reset affecting any other running applications;
- OpenGL ES 3.1 API and shader compatibility – to enable the easy development and execution of the latest OpenGL ES applications on desktop systems;
- DX11 emulation features – for easier porting of applications between OpenGL and Direct3D.
Most of the changes deal with API alignment, corralling the proliferation of OpenGL, OpenGL-ES and WebGL syntactic differences and making WebGL a bit more secure – a requirement from browsers for a while now. This will allow OpenGL devices to run GL-ES, and with WebGL it will remove some obstacles that have prevented WebGL from being adopted widely. OpenGL-ES will again be an API aligned subset of OpenGL.
The DX11 emulation will allow easier porting by reproducing some of DX11.2’s implementation details into the OpenGL API – reducing the need to an extensive rewrite by providing simulation of some of DX11’s quirks/API features.
You can read all about the news here.