From d58243d9041947c99f18b82385e62c082507decb Mon Sep 17 00:00:00 2001 From: Jay Kwak <82421531+jkwak-work@users.noreply.github.com> Date: Sat, 17 May 2025 02:26:44 +0000 Subject: Support Vulkan memory model (#7057) The user can explicitly use Vulkan memory model, or it will be automatically used when cooperative-matrix is used. When vulkan memory model is used, two keywords, "Coherent" and "Volatile", are not allowed. There are many differences regarding atomic and texture but this PR has changes limited to support `globallycoherent` keyword. When variables with `globallycoherent` is used with `OpLoad`, it will use additional options, `MakePointerAvailable|NonPrivatePointer`, that will provide the same effect. For `OpStore`, it will use `MakePointerVisible|NonPrivatePointer`. --- docs/command-line-slangc-reference.md | 3 +++ 1 file changed, 3 insertions(+) (limited to 'docs/command-line-slangc-reference.md') diff --git a/docs/command-line-slangc-reference.md b/docs/command-line-slangc-reference.md index 296441a2e..89e7f0b4c 100644 --- a/docs/command-line-slangc-reference.md +++ b/docs/command-line-slangc-reference.md @@ -1162,6 +1162,8 @@ A capability describes an optional feature that a target may or may not support. * `spvTensorAddressingNV` * `spvMaximalReconvergenceKHR` * `spvQuadControlKHR` +* `spvVulkanMemoryModelKHR` +* `spvVulkanMemoryModelDeviceScopeKHR` * `metallib_latest` * `dxil_lib` * `any_target` @@ -1294,6 +1296,7 @@ A capability describes an optional feature that a target may or may not support. * `cooperative_matrix_block_load` * `tensor_addressing` * `cooperative_matrix_2` +* `vk_mem_model` * `pixel` * `tesscontrol` * `tesseval` -- cgit v1.2.3