Visualization is a great tool for understanding large amounts of data, but transferring the data from an HPC system or from the cloud to a local workstation for analysis can be a painful experience. Analyzing and visualizing data right where it is generated and using server-side rendering lets you deliver high quality visual content to any client hardware. Whether it’s a DGX station or a smartphone. With the arrival of EGL, taking advantage of OpenGL on a headless server has become even simpler, making it unnecessary to run an X server or any other tools. Slight modifications to your OpenGL context management code using EGL functions is required as described in this post. Using EGL also requires you to link your application to different libraries. This post from NVIDIA is about how to correctly link a modern OpenGL application.
In Qt 5.9 is now possible to render Qt Quick applications with OpenVG when using hardware that supports it. This is made possible by a new scene graph adaptation that uses EGL and OpenVG to render Qt Quick scenes.
This post by Peter Messmer on the NVIDIA Parallel Forall blog provides the basic steps to create a (full) OpenGL context using EGL in a headless environment, with code examples. EGL context creation is particularly relevant for accelerated rendering on HPC systems or in a cloud environment, where context management via X11 is often times impractical. Applications include in situ visualization and CUDA/OpenGL interoperation.
Mesa 11.0.3–according to the internal release notes–is a major bugfix release that resolves the KDE and Weston regressions that have been introduced in the previous release of the software, Mesa 11.0.2. Additionally, Mesa 3D Graphics Library 11.0.3 has a great number of patches for EGL and includes numerous bugfixes, especially for the Intel i830, Intel i915, Intel i965, RadeonSI, and Nouveau graphics drivers, as well as various under-the-hood improvements. "Mesa 11.0.3 is now available. In the current release we have a bunch of EGL patches, mangledGL build fixes and a healthy amount of driver bugfixes - RadeonSI, Nouveau, Intel i915 and i965," says Emil Velikov, software release engineer for Collabora. "Last but not least, the KDE/Weston regression introduced with 11.0.2 has also been resolved."
The PowerVR Imaging Framework for Android comprises a set of extensions to the OpenCL and EGL Application Programming Interfaces (APIs) that enable efficient interoperability of software running on PowerVR GPUs with other components such as a CPU, ISP and VDE. These extensions enable the construction of shared memory allocations and software pipelines across multiple hardware components with no redundant memory copies (termed zero-copy). The framework is integrated at the library layer of the Android software stack, enabling efficient interoperability between APIs such as OpenCL, OpenGL ES and emerging APIs such as OpenVX.
This is a tool to generate OpenGL function loaders. Select the language, OpenGL / OpenGL ES versions, core or compat profiles, and hit generate. The tool generates a header file with the declarations for the GL functions and enums for the chosen GL version, and generates a little C source file that resolves all of the functions at runtime. Many thanks to Mark Sunet on LinkedIn for pointing us to this project.
The Khronos Group today announced a number of new and significant updates to its portfolio of open, royalty free industry standards that enable the authoring and acceleration of parallel computing, graphics, vision, sensor processing and dynamic media on a wide variety of platforms and devices:
The Khronos Group today announced the ratification and release of the EGL 1.5 specification. EGL is an open, royalty-free standard that defines a portable interface to underlying operating system and display platforms to handle graphics context management, surface and buffer binding, and rendering synchronization. EGL also provides interop capability to enable efficient transfer of data and events between Khronos APIs. The new EGL 1.5 specification incorporates functionality for enhanced rendering flexibility and security, improved interop between OpenGL or OpenGL ES and OpenCL for mixed compute and rendering acceleration, and standardized support for multiple common operating systems including Android and 64-bit platforms.
drawElements announced that Vivante Corporation has subscribed to the drawElements Quality Program. The drawElements Quality Program focuses on quality assurance and consists of multiple API test modules that ensure robust OpenGL ES, EGL, and OpenCL vendor implementations.