1// RUN: mlir-translate -test-spirv-roundtrip %s | FileCheck %s
2
3spv.module Logical GLSL450 requires #spv.vce<v1.0, [Shader], []> {
4  spv.func @memory_barrier_0() -> () "None" {
5    // CHECK: spv.MemoryBarrier "Device", "Release|UniformMemory"
6    spv.MemoryBarrier "Device", "Release|UniformMemory"
7    spv.Return
8  }
9  spv.func @memory_barrier_1() -> () "None" {
10    // CHECK: spv.MemoryBarrier "Subgroup", "AcquireRelease|SubgroupMemory"
11    spv.MemoryBarrier "Subgroup", "AcquireRelease|SubgroupMemory"
12    spv.Return
13  }
14  spv.func @control_barrier_0() -> () "None" {
15    // CHECK: spv.ControlBarrier "Device", "Workgroup", "Release|UniformMemory"
16    spv.ControlBarrier "Device", "Workgroup", "Release|UniformMemory"
17    spv.Return
18  }
19  spv.func @control_barrier_1() -> () "None" {
20    // CHECK: spv.ControlBarrier "Workgroup", "Invocation", "AcquireRelease|UniformMemory"
21    spv.ControlBarrier "Workgroup", "Invocation", "AcquireRelease|UniformMemory"
22    spv.Return
23  }
24}
25