https://github.com/khronosgroup/vulkan-memorymodel
Vulkan Memory Model
https://github.com/khronosgroup/vulkan-memorymodel
alloy litmus-test vulkan vulkan-memorymodel
Last synced: about 1 year ago
JSON representation
Vulkan Memory Model
- Host: GitHub
- URL: https://github.com/khronosgroup/vulkan-memorymodel
- Owner: KhronosGroup
- License: other
- Created: 2018-08-30T16:59:47.000Z (almost 8 years ago)
- Default Branch: main
- Last Pushed: 2024-08-29T15:41:59.000Z (almost 2 years ago)
- Last Synced: 2025-05-07T10:18:18.661Z (about 1 year ago)
- Topics: alloy, litmus-test, vulkan, vulkan-memorymodel
- Language: C++
- Size: 12.1 MB
- Stars: 106
- Watchers: 17
- Forks: 13
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: COPYING.md
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Vulkan-MemoryModel
The Vulkan-MemoryModel repo includes documentation and tools related to the
Vulkan Memory Model that are not built into the core specification. The core
specification is available at
https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VK_KHR_vulkan_memory_model.
Other Khronos-maintained specifications and software projects that have been
extended to support this model are listed in the
[extension release checklist](https://github.com/KhronosGroup/Vulkan-Docs/issues/787).
## Alloy Model
The [alloy](alloy) subdirectory includes an
[Alloy](http://alloy.lcs.mit.edu/alloy/index.html) [implementation](alloy/spirv.als)
of the memory model, a set of [litmus tests](alloy/tests) written in a
rudimentary syntax, [C++ source](alloy/litmus.cpp) for a tool to translate
the litmus tests to alloy, and a [makefile](alloy/Makefile) to execute the
tests. A java class to run the alloy tests is compiled against
https://oss.sonatype.org/content/repositories/snapshots/org/alloytools/org.alloytools.alloy.dist/5.0.0-SNAPSHOT/org.alloytools.alloy.dist-5.0.0-20190619.101010-34.jar.
Download this jar file and place it in the [alloy](alloy) subdirectory.
Simply run "make -j4" from the [alloy](alloy) subdirectory to run the
tests. Required dependencies are just g++, GNU make, alloy, and a Java runtime.
## License
This repo is treated as an offshoot of the Vulkan-Docs repo, and uses the
same Creative Commons Attribution 4.0 license. See [COPYING.md](COPYING.md).
[Alloy](http://alloy.lcs.mit.edu/alloy/index.html) is a third-party tool
used in this repo, and is available from
https://github.com/AlloyTools/org.alloytools.alloy.