Khronos Blog

Announcements, articles, and blurbs from Khronos and Khronos members about Khronos tech, conformant products, and more. If you are a interested in submitting a blog post, please check out our Blog Guidlines.

On September 19 at AutoSens Brussels, Stephane Strahm of Kalray will be joining other attendees to discuss options for addressing the increasingly complex challenges facing automotive vision system engineers. Pushed by developments in markets such as Advanced Driver Assistance Systems (ADAS) and autonomous vehicles, maintaining component interoperability in increasingly complex vehicle subsystems is proving to be a big obstacle.



Earlier today, Google and Binomial announced that they have partnered to open source a sophisticated texture compressor and a high-performance transcoder for Binomial’s cross-platform Basis Universal texture format. This format can help solve a long-standing problem in the 3D ecosystem: how can 3D textures assets be efficiently packaged or transmitted for an application in a way that is both compact AND can be efficiently processed by the wide diversity of GPU hardware texture engines - each of which has a preferred native format?



To jointly advance accessibility of 3D geospatial content, The Khronos Group recently formalized a liaison with the Open Geospatial Consortium(OGC). One of the first victories of this collaboration between the computer graphics and geospatial communities is a new OGC Community Standard addressing massive scale 3D pioneered by longtime Khronos contributors, the Cesium team.

The Khronos Safety Critical Advisory Forum (KSCAF) gathers safety critical experts from a wide range of disciplines, such as transportation and medical imaging, who have experience developing software and products to widely adopting standards. The goal of KSCAF is to develop guidelines and recommendations for engineers creating open standard APIs within Khronos, and elsewhere in the industry, so that those standards can help streamline the product safety certification process. The Forum’s chair looks back on a successful 2018, with plans to expand in the new year ahead.


The Vulkan/SPIR-V memory model was built on the foundation of the C++ memory model, but ended up diverging in a number of places.

A lot of how GPU programming models work across modern graphics APIs has evolved through years of development, reflecting the markets that those APIs have targeted. Naturally, the Vulkan/SPIR-V memory model has made several decisions that reflect this. We added several new facets to the model, including scopes, storage classes, and memory availability and visibility operations to name some of the more prominent ones.

However, It is not a strict superset either, and there are a few places where some features have been omitted for similar reasons. For example, sequential consistency is not supported, and forward progress guarantees are limited.

This post aims to give a high-level overview of the differences, explaining what the differences are, why they are different, and how (if at all) C++ concepts can map to the Vulkan/SPIR-V memory model. It is aimed primarily at people already familiar with the C++ memory model who either want to get some insight into what the differences are or those who are curious about why we took the direction we did.

Khronos has released a provisional Vulkan Memory Model Specification that includes extensions for Vulkan, SPIR-V, and GLSL and gives Vulkan developers additional control over how their shaders synchronize access to should cooperate safely over memory operations in a parallel execution environment. In tandem with the extension specification, Khronos has released memory model extension conformance tests to enable implementers to do early tests on their shader compilers to ensure that the specified memory synchronization is implemented correctly. The memory model will have an Alloy description of the extension functionality to enable formal modeling and experimentation.

