66 lines
2.9 KiB
JavaScript
66 lines
2.9 KiB
JavaScript
; SPIR-V
|
|
; Version: 1.3
|
|
; Generator: Khronos Glslang Reference Front End; 8
|
|
; Bound: 78
|
|
; Schema: 0
|
|
OpCapability Shader
|
|
OpCapability GroupNonUniform
|
|
OpCapability GroupNonUniformArithmetic
|
|
OpCapability GroupNonUniformClustered
|
|
%1 = OpExtInstImport "GLSL.std.450"
|
|
OpMemoryModel Logical GLSL450
|
|
OpEntryPoint Fragment %main "main" %index %FragColor
|
|
OpExecutionMode %main OriginUpperLeft
|
|
OpSource GLSL 450
|
|
OpSourceExtension "GL_KHR_shader_subgroup_arithmetic"
|
|
OpSourceExtension "GL_KHR_shader_subgroup_basic"
|
|
OpSourceExtension "GL_KHR_shader_subgroup_clustered"
|
|
OpName %main "main"
|
|
OpName %index "index"
|
|
OpName %FragColor "FragColor"
|
|
OpDecorate %index Flat
|
|
OpDecorate %index Location 0
|
|
OpDecorate %FragColor Location 0
|
|
%void = OpTypeVoid
|
|
%3 = OpTypeFunction %void
|
|
%uint = OpTypeInt 32 0
|
|
%_ptr_Function_uint = OpTypePointer Function %uint
|
|
%uint_0 = OpConstant %uint 0
|
|
%int = OpTypeInt 32 1
|
|
%_ptr_Input_int = OpTypePointer Input %int
|
|
%index = OpVariable %_ptr_Input_int Input
|
|
%uint_3 = OpConstant %uint 3
|
|
%uint_4 = OpConstant %uint 4
|
|
%_ptr_Output_uint = OpTypePointer Output %uint
|
|
%FragColor = OpVariable %_ptr_Output_uint Output
|
|
%main = OpFunction %void None %3
|
|
%5 = OpLabel
|
|
%i = OpLoad %int %index
|
|
%u = OpBitcast %uint %i
|
|
%res0 = OpGroupNonUniformSMin %uint %uint_3 Reduce %i
|
|
%res1 = OpGroupNonUniformSMax %uint %uint_3 Reduce %u
|
|
%res2 = OpGroupNonUniformUMin %uint %uint_3 Reduce %i
|
|
%res3 = OpGroupNonUniformUMax %uint %uint_3 Reduce %u
|
|
%res4 = OpGroupNonUniformSMax %uint %uint_3 InclusiveScan %i
|
|
%res5 = OpGroupNonUniformSMin %uint %uint_3 InclusiveScan %u
|
|
%res6 = OpGroupNonUniformUMax %uint %uint_3 ExclusiveScan %i
|
|
%res7 = OpGroupNonUniformUMin %uint %uint_3 ExclusiveScan %u
|
|
%res8 = OpGroupNonUniformSMin %uint %uint_3 ClusteredReduce %i %uint_4
|
|
%res9 = OpGroupNonUniformSMax %uint %uint_3 ClusteredReduce %u %uint_4
|
|
%res10 = OpGroupNonUniformUMin %uint %uint_3 ClusteredReduce %i %uint_4
|
|
%res11 = OpGroupNonUniformUMax %uint %uint_3 ClusteredReduce %u %uint_4
|
|
OpStore %FragColor %res0
|
|
OpStore %FragColor %res1
|
|
OpStore %FragColor %res2
|
|
OpStore %FragColor %res3
|
|
OpStore %FragColor %res4
|
|
OpStore %FragColor %res5
|
|
OpStore %FragColor %res6
|
|
OpStore %FragColor %res7
|
|
OpStore %FragColor %res8
|
|
OpStore %FragColor %res9
|
|
OpStore %FragColor %res10
|
|
OpStore %FragColor %res11
|
|
OpReturn
|
|
OpFunctionEnd
|