wgpu/naga/tests/in/spv/subgroup-operations-s.spvasm
Alexander Meißner ea77d5674d
Subgroup Operations (#5301)
Co-authored-by: Jacob Hughes <j@distanthills.org>
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
Co-authored-by: atlas dostal <rodol@rivalrebels.com>
2024-04-17 15:25:52 -04:00

75 lines
2.4 KiB
Plaintext

; SPIR-V
; Version: 1.3
; Generator: rspirv
; Bound: 54
OpCapability Shader
OpCapability GroupNonUniform
OpCapability GroupNonUniformBallot
OpCapability GroupNonUniformVote
OpCapability GroupNonUniformArithmetic
OpCapability GroupNonUniformShuffle
OpCapability GroupNonUniformShuffleRelative
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint GLCompute %15 "main" %6 %9 %11 %13
OpExecutionMode %15 LocalSize 1 1 1
OpDecorate %6 BuiltIn NumSubgroups
OpDecorate %9 BuiltIn SubgroupId
OpDecorate %11 BuiltIn SubgroupSize
OpDecorate %13 BuiltIn SubgroupLocalInvocationId
%2 = OpTypeVoid
%3 = OpTypeInt 32 0
%4 = OpTypeBool
%7 = OpTypePointer Input %3
%6 = OpVariable %7 Input
%9 = OpVariable %7 Input
%11 = OpVariable %7 Input
%13 = OpVariable %7 Input
%16 = OpTypeFunction %2
%17 = OpConstant %3 1
%18 = OpConstant %3 0
%19 = OpConstant %3 4
%21 = OpConstant %3 3
%22 = OpConstant %3 2
%23 = OpConstant %3 8
%26 = OpTypeVector %3 4
%28 = OpConstantTrue %4
%15 = OpFunction %2 None %16
%5 = OpLabel
%8 = OpLoad %3 %6
%10 = OpLoad %3 %9
%12 = OpLoad %3 %11
%14 = OpLoad %3 %13
OpBranch %20
%20 = OpLabel
OpControlBarrier %21 %22 %23
%24 = OpBitwiseAnd %3 %14 %17
%25 = OpIEqual %4 %24 %17
%27 = OpGroupNonUniformBallot %26 %21 %25
%29 = OpGroupNonUniformBallot %26 %21 %28
%30 = OpINotEqual %4 %14 %18
%31 = OpGroupNonUniformAll %4 %21 %30
%32 = OpIEqual %4 %14 %18
%33 = OpGroupNonUniformAny %4 %21 %32
%34 = OpGroupNonUniformIAdd %3 %21 Reduce %14
%35 = OpGroupNonUniformIMul %3 %21 Reduce %14
%36 = OpGroupNonUniformUMin %3 %21 Reduce %14
%37 = OpGroupNonUniformUMax %3 %21 Reduce %14
%38 = OpGroupNonUniformBitwiseAnd %3 %21 Reduce %14
%39 = OpGroupNonUniformBitwiseOr %3 %21 Reduce %14
%40 = OpGroupNonUniformBitwiseXor %3 %21 Reduce %14
%41 = OpGroupNonUniformIAdd %3 %21 ExclusiveScan %14
%42 = OpGroupNonUniformIMul %3 %21 ExclusiveScan %14
%43 = OpGroupNonUniformIAdd %3 %21 InclusiveScan %14
%44 = OpGroupNonUniformIMul %3 %21 InclusiveScan %14
%45 = OpGroupNonUniformBroadcastFirst %3 %21 %14
%46 = OpGroupNonUniformBroadcast %3 %21 %14 %19
%47 = OpISub %3 %12 %17
%48 = OpISub %3 %47 %14
%49 = OpGroupNonUniformShuffle %3 %21 %14 %48
%50 = OpGroupNonUniformShuffleDown %3 %21 %14 %17
%51 = OpGroupNonUniformShuffleUp %3 %21 %14 %17
%52 = OpISub %3 %12 %17
%53 = OpGroupNonUniformShuffleXor %3 %21 %14 %52
OpReturn
OpFunctionEnd