blob: f24c4be5d5649909b045d3986969fede14231de2 [file] [log] [blame]
dan sinclair1b77b6c2024-08-06 15:47:05 +00001; SPIR-V
2; Version: 1.3
3; Generator: Google Tint Compiler; 1
Natalie Chouinard8f3ec782024-08-08 13:41:53 +00004; Bound: 30
dan sinclair1b77b6c2024-08-06 15:47:05 +00005; Schema: 0
6 OpCapability Shader
7 OpCapability GroupNonUniformBallot
8 OpMemoryModel Logical GLSL450
Natalie Chouinard8f3ec782024-08-08 13:41:53 +00009 OpEntryPoint Fragment %fragment_main "fragment_main"
dan sinclair1b77b6c2024-08-06 15:47:05 +000010 OpEntryPoint GLCompute %compute_main "compute_main"
Natalie Chouinard8f3ec782024-08-08 13:41:53 +000011 OpExecutionMode %fragment_main OriginUpperLeft
dan sinclair1b77b6c2024-08-06 15:47:05 +000012 OpExecutionMode %compute_main LocalSize 1 1 1
13 OpMemberName %tint_symbol_1 0 "tint_symbol"
14 OpName %tint_symbol_1 "tint_symbol_1"
15 OpName %subgroupBroadcast_279027 "subgroupBroadcast_279027"
16 OpName %arg_0 "arg_0"
17 OpName %res "res"
Natalie Chouinard8f3ec782024-08-08 13:41:53 +000018 OpName %fragment_main "fragment_main"
dan sinclair1b77b6c2024-08-06 15:47:05 +000019 OpName %compute_main "compute_main"
20 OpMemberDecorate %tint_symbol_1 0 Offset 0
21 OpDecorate %tint_symbol_1 Block
22 OpDecorate %1 DescriptorSet 0
23 OpDecorate %1 Binding 0
dan sinclaird117d652024-08-21 01:20:00 +000024 OpDecorate %1 Coherent
dan sinclair1b77b6c2024-08-06 15:47:05 +000025 %uint = OpTypeInt 32 0
26 %v4uint = OpTypeVector %uint 4
27%tint_symbol_1 = OpTypeStruct %v4uint
28%_ptr_StorageBuffer_tint_symbol_1 = OpTypePointer StorageBuffer %tint_symbol_1
29 %1 = OpVariable %_ptr_StorageBuffer_tint_symbol_1 StorageBuffer
30 %7 = OpTypeFunction %v4uint
31%_ptr_Function_v4uint = OpTypePointer Function %v4uint
32 %uint_1 = OpConstant %uint 1
33 %11 = OpConstantComposite %v4uint %uint_1 %uint_1 %uint_1 %uint_1
34 %uint_3 = OpConstant %uint 3
35 %void = OpTypeVoid
36 %20 = OpTypeFunction %void
37%_ptr_StorageBuffer_v4uint = OpTypePointer StorageBuffer %v4uint
38 %uint_0 = OpConstant %uint 0
39%subgroupBroadcast_279027 = OpFunction %v4uint None %7
40 %8 = OpLabel
41 %arg_0 = OpVariable %_ptr_Function_v4uint Function
42 %res = OpVariable %_ptr_Function_v4uint Function
43 OpStore %arg_0 %11
dan sinclair50260412024-08-28 19:43:27 +000044 %13 = OpLoad %v4uint %arg_0 None
dan sinclair1b77b6c2024-08-06 15:47:05 +000045 %14 = OpGroupNonUniformBroadcast %v4uint %uint_3 %13 %uint_1
46 OpStore %res %14
dan sinclair50260412024-08-28 19:43:27 +000047 %17 = OpLoad %v4uint %res None
dan sinclair1b77b6c2024-08-06 15:47:05 +000048 OpReturnValue %17
49 OpFunctionEnd
Natalie Chouinard8f3ec782024-08-08 13:41:53 +000050%fragment_main = OpFunction %void None %20
dan sinclair1b77b6c2024-08-06 15:47:05 +000051 %21 = OpLabel
52 %22 = OpFunctionCall %v4uint %subgroupBroadcast_279027
53 %23 = OpAccessChain %_ptr_StorageBuffer_v4uint %1 %uint_0
dan sinclair50260412024-08-28 19:43:27 +000054 OpStore %23 %22 None
dan sinclair1b77b6c2024-08-06 15:47:05 +000055 OpReturn
56 OpFunctionEnd
Natalie Chouinard8f3ec782024-08-08 13:41:53 +000057%compute_main = OpFunction %void None %20
58 %27 = OpLabel
59 %28 = OpFunctionCall %v4uint %subgroupBroadcast_279027
60 %29 = OpAccessChain %_ptr_StorageBuffer_v4uint %1 %uint_0
dan sinclair50260412024-08-28 19:43:27 +000061 OpStore %29 %28 None
Natalie Chouinard8f3ec782024-08-08 13:41:53 +000062 OpReturn
63 OpFunctionEnd