RetroArch/deps/SPIRV-Cross/shaders/asm/geom/unroll-glposition-load.asm.geom

103 lines
4.2 KiB
GLSL

; SPIR-V
; Version: 1.0
; Generator: Khronos Glslang Reference Front End; 7
; Bound: 55
; Schema: 0
OpCapability Geometry
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Geometry %main "main" %OUT_pos %positions_1
OpExecutionMode %main Triangles
OpExecutionMode %main Invocations 1
OpExecutionMode %main OutputTriangleStrip
OpExecutionMode %main OutputVertices 3
OpSource HLSL 500
OpName %main "main"
OpName %SceneOut "SceneOut"
OpMemberName %SceneOut 0 "pos"
OpName %_main_vf4_3__struct_SceneOut_vf41_ "@main(vf4[3];struct-SceneOut-vf41;"
OpName %positions "positions"
OpName %OUT "OUT"
OpName %i "i"
OpName %o "o"
OpName %OUT_pos "OUT.pos"
OpName %positions_0 "positions"
OpName %positions_1 "positions"
OpName %OUT_0 "OUT"
OpName %param "param"
OpName %param_0 "param"
OpDecorate %OUT_pos BuiltIn Position
OpDecorate %positions_1 BuiltIn Position
%void = OpTypeVoid
%3 = OpTypeFunction %void
%float = OpTypeFloat 32
%v4float = OpTypeVector %float 4
%uint = OpTypeInt 32 0
%uint_3 = OpConstant %uint 3
%_arr_v4float_uint_3 = OpTypeArray %v4float %uint_3
%_ptr_Function__arr_v4float_uint_3 = OpTypePointer Function %_arr_v4float_uint_3
%SceneOut = OpTypeStruct %v4float
%_ptr_Function_SceneOut = OpTypePointer Function %SceneOut
%14 = OpTypeFunction %void %_ptr_Function__arr_v4float_uint_3 %_ptr_Function_SceneOut
%int = OpTypeInt 32 1
%_ptr_Function_int = OpTypePointer Function %int
%int_0 = OpConstant %int 0
%int_3 = OpConstant %int 3
%bool = OpTypeBool
%_ptr_Function_v4float = OpTypePointer Function %v4float
%_ptr_Output_v4float = OpTypePointer Output %v4float
%OUT_pos = OpVariable %_ptr_Output_v4float Output
%int_1 = OpConstant %int 1
%_ptr_Input__arr_v4float_uint_3 = OpTypePointer Input %_arr_v4float_uint_3
%positions_1 = OpVariable %_ptr_Input__arr_v4float_uint_3 Input
%main = OpFunction %void None %3
%5 = OpLabel
%positions_0 = OpVariable %_ptr_Function__arr_v4float_uint_3 Function
%OUT_0 = OpVariable %_ptr_Function_SceneOut Function
%param = OpVariable %_ptr_Function__arr_v4float_uint_3 Function
%param_0 = OpVariable %_ptr_Function_SceneOut Function
%48 = OpLoad %_arr_v4float_uint_3 %positions_1
OpStore %positions_0 %48
%51 = OpLoad %_arr_v4float_uint_3 %positions_0
OpStore %param %51
%53 = OpFunctionCall %void %_main_vf4_3__struct_SceneOut_vf41_ %param %param_0
%54 = OpLoad %SceneOut %param_0
OpStore %OUT_0 %54
OpReturn
OpFunctionEnd
%_main_vf4_3__struct_SceneOut_vf41_ = OpFunction %void None %14
%positions = OpFunctionParameter %_ptr_Function__arr_v4float_uint_3
%OUT = OpFunctionParameter %_ptr_Function_SceneOut
%18 = OpLabel
%i = OpVariable %_ptr_Function_int Function
%o = OpVariable %_ptr_Function_SceneOut Function
OpStore %i %int_0
OpBranch %23
%23 = OpLabel
OpLoopMerge %25 %26 None
OpBranch %27
%27 = OpLabel
%28 = OpLoad %int %i
%31 = OpSLessThan %bool %28 %int_3
OpBranchConditional %31 %24 %25
%24 = OpLabel
%33 = OpLoad %int %i
%35 = OpAccessChain %_ptr_Function_v4float %positions %33
%36 = OpLoad %v4float %35
%37 = OpAccessChain %_ptr_Function_v4float %o %int_0
OpStore %37 %36
%40 = OpAccessChain %_ptr_Function_v4float %o %int_0
%41 = OpLoad %v4float %40
OpStore %OUT_pos %41
OpEmitVertex
OpBranch %26
%26 = OpLabel
%42 = OpLoad %int %i
%44 = OpIAdd %int %42 %int_1
OpStore %i %44
OpBranch %23
%25 = OpLabel
OpEndPrimitive
OpReturn
OpFunctionEnd