Geeks3D.com | GeeXLab | Softwares | Reviews | Downloads | Shader Lib
News:Rendering 3D Graphics on a 32×32 RGB LED Matrix Display with a Raspberry Pi and GeeXLab
0 Members and 1 Guest are viewing this topic.
This week, Vulkan® has become the world’s first graphics API to include a formal memory model for its associated GLSL™ and SPIR-V™ programming languages. This significant announcement has a number of components that come together to significantly boost the robustness of the Vulkan standard for programming correctness and sophisticated compiler optimizations.Firstly, Khronos® has released a provisional Vulkan Memory Model Specification that includes extensions for Vulkan, SPIR-V, and GLSL that gives Vulkan developers additional control over how their shaders synchronize access to memory in a parallel execution environment. In tandem with the extension specification, Khronos has released memory model extension conformance tests to help shader compilers ensure that they implement the specified memory model synchronization functionality correctly.The Vulkan memory model is based on the C++ memory model, but adds valuable functionality including scopes, storage classes, and memory availability and visibility operations. Scopes allow synchronization to be limited to threads in close proximity to each other. Storage classes allow synchronization to be limited to specific types of memory. Availability and visibility operations give control over when and how cache maintenance operations are performed in systems with noncoherent cache hierarchies. Each of these capabilities enable an additional level of control compared to the baseline C++ model, which can be exploited to reduce the cost of synchronization and thus increase performance.