KhronosGroup / KhronosGroup/Vulkan-Docs

VK_KHR_vulkan_memory_model poorly integrated with the core spec

Open
#1,841 1 comment 0 reactions 0 assignees View on GitHub
Memory Model TSG
Dominant language
JavaScript
Stars
3.3k
Forks
549
Avg merge
5d 5h
Merged PRs (30d)
2

Description

I am being told there is an internal ticket for this, but all the same documenting some loose ends in the sync spec before I forget:

I am still not exactly clear what features `VK_KHR_vulkan_memory_model` adds. But for sure it seems to contain lot of things that are supposed to be part of even the core 1.0 Vulkan spec. And those things do not yet seem to properly integrated back to that version.

From top of my head these things should be properly specified in the core spec (even retrospectively in some manner):

- "happens-before"\"happens-after", which seems to be used throughout the spec, but not define outside the extension
- domain operations, which gives meaning to synch of GPU–Host transfers
- in-shader barrier sync

Contributor guide

Open the contributing guide

Research direction

Start by reading the VK_KHR_vulkan_memory_model extension alongside the core Vulkan 1.0 synchronization specification in Vulkan-Docs. Determine how “happens-before” and “happens-after,” domain operations, and in-shader barrier synchronization should be defined in the core specification; done means these loose ends are consistently specified there.

Written by the indexing model from the issue text.

Assessment

Domain
api, documentation
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.