| |

Khronos Updates

August 10, 2015, Siggraph, Los Angeles—Neil Trevett from Khronos provided an update on the organization’s various standards and initiatives. The graphics APIs have undergone fundamental changes in approach while the safety critical work is getting increased looks from areas outside the traditional safety critical industries.

All of the graphics APIs have updates. OpenGL ES 3.2 added AEP (Android Extension Pack) functionality to enhance graphics capabilities across smaller, portable devices. It has a new core for additional functionality and includes:
– Geometry and tessellation shaders to efficiently process complex scenes on the GPU;
– Floating point render targets for increased flexibility in higher precision compute operations;
– ASTC compression to reduce the memory footprint and bandwidth used to process textures;
– Enhanced blending for sophisticated compositing and handling of multiple color attachments;
– Advanced texture targets such as texture buffers, multisample 2D array and cube map arrays;
– Debug and robustness features for easier code development and secure execution.

OpenGL 7.1 now enables C++ headers for DSP functions and added extensions for:
– Streamlined sparse texture functionality to more effectively manage multisample sparse textures and uncommitted and unpopulated texture areas;
– Enhanced shader functionality including interlocks to efficiently ensure proper execution order for multi-pass algorithms, 64-bit integer handling, control of coverage results in sample masks for early fragment testing, enhanced atomic counter capabilities and a 64-bit monotonically incrementing counter to derive local timing information;
– Control over the number of threads used to compile shaders to accelerate compilation time;
– Modifiable locations of samples within a pixel to increase multisample antialiasing quality;

In addition, the OpenGL ES 3.2 compatibility extension enables the use of desktop OpenGL to develop mobile applications. More information on all Khronos specifications is available at: http://www.khronos.org.

In a parallel set of standards, Vulkan gives application programmers direct control over GPU acceleration for maximized performance and predictability, and uses the SPIR-V intermediate language specification for shading language flexibility. Vulkan minimizes driver overhead and enables multi-threaded performance on all platforms, at the cost of much more detailed programming requirements to explicitly define transfers and operations on CPU and GPU functions. Khronos is working to provide a full ecosystem to include:
– Open source Vulkan conformance test suite to enable direct feedback and contributions from developers to resolve cross-vendor inconsistencies;
– Develop a Vulkan tools architecture that can load code validation, debugging and profiling layers during development, without impacting production performance. The first open source, cross-vendor Vulkan SDK is being developed by Valve working with LunarG;
– Build key SPIR-V tools in open source, including translators from GLSL, OpenCL C and C++, a validator to check the correctness of any SPIR-V file and a SPIR-V assembler/disassembler.

The efforts in OpenGL SC continues its work that started in ’05 for safety critical graphics and compute functions like avionics as a subset of OpenGL ES. Continuing work will update the standard to include the latest release of OpenGL ES and the Vulkan API for higher efficiency graphics and compute. More information on Khronos safety critical specifications and activities is available at: http://www.khronos.org/safetycritical.

The working group will use DO-178C Level A / EASA ED-12C Level A as the safety critical benchmark for the avionics industry and ISO 26262 certifability to satisfy the safety critical requirements of the automotive industry. The working group is also working to align its specifications with the Future Airborne Capability Environment (FACE™) consortium (www.opengroup.us/face) technical standard for graphics.
 

Similar Posts