dawn-cmake/test/shader_io/shared_struct_helper_functi...

95 lines
4.0 KiB
Plaintext

; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 47
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
OpEntryPoint Vertex %vert_main1 "vert_main1" %tint_pointsize %tint_symbol_1 %tint_symbol_2
OpEntryPoint Vertex %vert_main2 "vert_main2" %tint_pointsize %tint_symbol_5 %tint_symbol_6
OpName %tint_pointsize "tint_pointsize"
OpName %tint_symbol_1 "tint_symbol_1"
OpName %tint_symbol_2 "tint_symbol_2"
OpName %tint_symbol_5 "tint_symbol_5"
OpName %tint_symbol_6 "tint_symbol_6"
OpName %VertexOutput "VertexOutput"
OpMemberName %VertexOutput 0 "pos"
OpMemberName %VertexOutput 1 "loc0"
OpName %foo "foo"
OpName %x "x"
OpName %tint_symbol_3 "tint_symbol_3"
OpName %tint_symbol "tint_symbol"
OpName %vert_main1 "vert_main1"
OpName %tint_symbol_7 "tint_symbol_7"
OpName %tint_symbol_4 "tint_symbol_4"
OpName %vert_main2 "vert_main2"
OpDecorate %tint_pointsize BuiltIn PointSize
OpDecorate %tint_symbol_1 BuiltIn Position
OpDecorate %tint_symbol_2 Location 0
OpDecorate %tint_symbol_5 BuiltIn Position
OpDecorate %tint_symbol_6 Location 0
OpMemberDecorate %VertexOutput 0 Offset 0
OpMemberDecorate %VertexOutput 1 Offset 16
%float = OpTypeFloat 32
%_ptr_Output_float = OpTypePointer Output %float
%4 = OpConstantNull %float
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
%v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
%8 = OpConstantNull %v4float
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %8
%int = OpTypeInt 32 1
%_ptr_Output_int = OpTypePointer Output %int
%12 = OpConstantNull %int
%tint_symbol_2 = OpVariable %_ptr_Output_int Output %12
%tint_symbol_5 = OpVariable %_ptr_Output_v4float Output %8
%tint_symbol_6 = OpVariable %_ptr_Output_int Output %12
%VertexOutput = OpTypeStruct %v4float %int
%15 = OpTypeFunction %VertexOutput %float
%float_1 = OpConstant %float 1
%int_42 = OpConstant %int 42
%void = OpTypeVoid
%24 = OpTypeFunction %void %VertexOutput
%31 = OpTypeFunction %void
%float_0_5 = OpConstant %float 0.5
%float_0_25 = OpConstant %float 0.25
%foo = OpFunction %VertexOutput None %15
%x = OpFunctionParameter %float
%19 = OpLabel
%21 = OpCompositeConstruct %v4float %x %x %x %float_1
%23 = OpCompositeConstruct %VertexOutput %21 %int_42
OpReturnValue %23
OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %24
%tint_symbol = OpFunctionParameter %VertexOutput
%28 = OpLabel
%29 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %29
%30 = OpCompositeExtract %int %tint_symbol 1
OpStore %tint_symbol_2 %30
OpReturn
OpFunctionEnd
%vert_main1 = OpFunction %void None %31
%33 = OpLabel
OpStore %tint_pointsize %float_1
%35 = OpFunctionCall %VertexOutput %foo %float_0_5
%34 = OpFunctionCall %void %tint_symbol_3 %35
OpReturn
OpFunctionEnd
%tint_symbol_7 = OpFunction %void None %24
%tint_symbol_4 = OpFunctionParameter %VertexOutput
%39 = OpLabel
%40 = OpCompositeExtract %v4float %tint_symbol_4 0
OpStore %tint_symbol_5 %40
%41 = OpCompositeExtract %int %tint_symbol_4 1
OpStore %tint_symbol_6 %41
OpReturn
OpFunctionEnd
%vert_main2 = OpFunction %void None %31
%43 = OpLabel
OpStore %tint_pointsize %float_1
%45 = OpFunctionCall %VertexOutput %foo %float_0_25
%44 = OpFunctionCall %void %tint_symbol_7 %45
OpReturn
OpFunctionEnd