92 lines
4.0 KiB
GLSL
92 lines
4.0 KiB
GLSL
|
; SPIR-V
|
||
|
; Version: 1.0
|
||
|
; Generator: Khronos Glslang Reference Front End; 8
|
||
|
; Bound: 56
|
||
|
; Schema: 0
|
||
|
OpCapability Shader
|
||
|
OpCapability ClipDistance
|
||
|
%1 = OpExtInstImport "GLSL.std.450"
|
||
|
OpMemoryModel Logical GLSL450
|
||
|
OpEntryPoint Vertex %main "main" %pos_1 %_entryPointOutput_pos %_entryPointOutput_clip
|
||
|
OpSource HLSL 500
|
||
|
OpName %main "main"
|
||
|
OpName %VSOut "VSOut"
|
||
|
OpMemberName %VSOut 0 "pos"
|
||
|
OpMemberName %VSOut 1 "clip"
|
||
|
OpName %_main_vf4_ "@main(vf4;"
|
||
|
OpName %pos "pos"
|
||
|
OpName %vout "vout"
|
||
|
OpName %pos_0 "pos"
|
||
|
OpName %pos_1 "pos"
|
||
|
OpName %flattenTemp "flattenTemp"
|
||
|
OpName %param "param"
|
||
|
OpName %_entryPointOutput_pos "@entryPointOutput.pos"
|
||
|
OpName %_entryPointOutput_clip "@entryPointOutput.clip"
|
||
|
OpDecorate %pos_1 Location 0
|
||
|
OpDecorate %_entryPointOutput_pos BuiltIn Position
|
||
|
OpDecorate %_entryPointOutput_clip BuiltIn ClipDistance
|
||
|
%void = OpTypeVoid
|
||
|
%3 = OpTypeFunction %void
|
||
|
%float = OpTypeFloat 32
|
||
|
%v4float = OpTypeVector %float 4
|
||
|
%_ptr_Function_v4float = OpTypePointer Function %v4float
|
||
|
%v2float = OpTypeVector %float 2
|
||
|
%VSOut = OpTypeStruct %v4float %v2float
|
||
|
%11 = OpTypeFunction %VSOut %_ptr_Function_v4float
|
||
|
%_ptr_Function_VSOut = OpTypePointer Function %VSOut
|
||
|
%int = OpTypeInt 32 1
|
||
|
%int_0 = OpConstant %int 0
|
||
|
%int_1 = OpConstant %int 1
|
||
|
%_ptr_Function_v2float = OpTypePointer Function %v2float
|
||
|
%_ptr_Input_v4float = OpTypePointer Input %v4float
|
||
|
%pos_1 = OpVariable %_ptr_Input_v4float Input
|
||
|
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||
|
%_entryPointOutput_pos = OpVariable %_ptr_Output_v4float Output
|
||
|
%uint = OpTypeInt 32 0
|
||
|
%uint_2 = OpConstant %uint 2
|
||
|
%_arr_float_uint_2 = OpTypeArray %float %uint_2
|
||
|
%_ptr_Output__arr_float_uint_2 = OpTypePointer Output %_arr_float_uint_2
|
||
|
%_entryPointOutput_clip = OpVariable %_ptr_Output__arr_float_uint_2 Output
|
||
|
%uint_0 = OpConstant %uint 0
|
||
|
%_ptr_Function_float = OpTypePointer Function %float
|
||
|
%_ptr_Output_float = OpTypePointer Output %float
|
||
|
%uint_1 = OpConstant %uint 1
|
||
|
%main = OpFunction %void None %3
|
||
|
%5 = OpLabel
|
||
|
%pos_0 = OpVariable %_ptr_Function_v4float Function
|
||
|
%flattenTemp = OpVariable %_ptr_Function_VSOut Function
|
||
|
%param = OpVariable %_ptr_Function_v4float Function
|
||
|
%32 = OpLoad %v4float %pos_1
|
||
|
OpStore %pos_0 %32
|
||
|
%35 = OpLoad %v4float %pos_0
|
||
|
OpStore %param %35
|
||
|
%36 = OpFunctionCall %VSOut %_main_vf4_ %param
|
||
|
OpStore %flattenTemp %36
|
||
|
%39 = OpAccessChain %_ptr_Function_v4float %flattenTemp %int_0
|
||
|
%40 = OpLoad %v4float %39
|
||
|
OpStore %_entryPointOutput_pos %40
|
||
|
%48 = OpAccessChain %_ptr_Function_float %flattenTemp %int_1 %uint_0
|
||
|
%49 = OpLoad %float %48
|
||
|
%51 = OpAccessChain %_ptr_Output_float %_entryPointOutput_clip %int_0
|
||
|
OpStore %51 %49
|
||
|
%53 = OpAccessChain %_ptr_Function_float %flattenTemp %int_1 %uint_1
|
||
|
%54 = OpLoad %float %53
|
||
|
%55 = OpAccessChain %_ptr_Output_float %_entryPointOutput_clip %int_1
|
||
|
OpStore %55 %54
|
||
|
OpReturn
|
||
|
OpFunctionEnd
|
||
|
%_main_vf4_ = OpFunction %VSOut None %11
|
||
|
%pos = OpFunctionParameter %_ptr_Function_v4float
|
||
|
%14 = OpLabel
|
||
|
%vout = OpVariable %_ptr_Function_VSOut Function
|
||
|
%19 = OpLoad %v4float %pos
|
||
|
%20 = OpAccessChain %_ptr_Function_v4float %vout %int_0
|
||
|
OpStore %20 %19
|
||
|
%22 = OpLoad %v4float %pos
|
||
|
%23 = OpVectorShuffle %v2float %22 %22 0 1
|
||
|
%25 = OpAccessChain %_ptr_Function_v2float %vout %int_1
|
||
|
OpStore %25 %23
|
||
|
%26 = OpLoad %VSOut %vout
|
||
|
OpReturnValue %26
|
||
|
OpFunctionEnd
|