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