blob: 9260b6f2739fc6a15e596c09a36405eb67e8f354 [file] [log] [blame]
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 49
; Schema: 0
OpCapability Shader
OpCapability Float16
OpCapability UniformAndStorageBuffer16BitAccess
OpCapability StorageBuffer16BitAccess
OpCapability StorageInputOutput16
OpMemoryModel Logical GLSL450
OpEntryPoint Vertex %vert_main "vert_main" %col1_1 %col2_1 %pos_1 %vertex_point_size
OpEntryPoint Fragment %frag_main "frag_main" %col1_2 %col2_2 %pos_2
OpExecutionMode %frag_main OriginUpperLeft
OpName %col1_1 "col1_1"
OpName %col2_1 "col2_1"
OpName %pos_1 "pos_1"
OpName %vertex_point_size "vertex_point_size"
OpName %col1_2 "col1_2"
OpName %col2_2 "col2_2"
OpName %pos_2 "pos_2"
OpName %Interface "Interface"
OpMemberName %Interface 0 "col1"
OpMemberName %Interface 1 "col2"
OpMemberName %Interface 2 "pos"
OpName %vert_main_inner "vert_main_inner"
OpName %vert_main "vert_main"
OpName %frag_main_inner "frag_main_inner"
OpName %colors "colors"
OpName %frag_main "frag_main"
OpDecorate %col1_1 Location 1
OpDecorate %col2_1 Location 2
OpDecorate %pos_1 BuiltIn Position
OpDecorate %vertex_point_size BuiltIn PointSize
OpDecorate %col1_2 Location 1
OpDecorate %col2_2 Location 2
OpDecorate %pos_2 BuiltIn FragCoord
OpMemberDecorate %Interface 0 Offset 0
OpMemberDecorate %Interface 1 Offset 4
OpMemberDecorate %Interface 2 Offset 16
%float = OpTypeFloat 32
%_ptr_Output_float = OpTypePointer Output %float
%4 = OpConstantNull %float
%col1_1 = OpVariable %_ptr_Output_float Output %4
%half = OpTypeFloat 16
%_ptr_Output_half = OpTypePointer Output %half
%8 = OpConstantNull %half
%col2_1 = OpVariable %_ptr_Output_half Output %8
%v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
%12 = OpConstantNull %v4float
%pos_1 = OpVariable %_ptr_Output_v4float Output %12
%vertex_point_size = OpVariable %_ptr_Output_float Output %4
%_ptr_Input_float = OpTypePointer Input %float
%col1_2 = OpVariable %_ptr_Input_float Input
%_ptr_Input_half = OpTypePointer Input %half
%col2_2 = OpVariable %_ptr_Input_half Input
%_ptr_Input_v4float = OpTypePointer Input %v4float
%pos_2 = OpVariable %_ptr_Input_v4float Input
%Interface = OpTypeStruct %float %half %v4float
%20 = OpTypeFunction %Interface
%float_0_400000006 = OpConstant %float 0.400000006
%half_0x1_33pn1 = OpConstant %half 0x1.33p-1
%26 = OpConstantComposite %Interface %float_0_400000006 %half_0x1_33pn1 %12
%void = OpTypeVoid
%27 = OpTypeFunction %void
%float_1 = OpConstant %float 1
%36 = OpTypeFunction %void %Interface
%vert_main_inner = OpFunction %Interface None %20
%23 = OpLabel
OpReturnValue %26
OpFunctionEnd
%vert_main = OpFunction %void None %27
%30 = OpLabel
%31 = OpFunctionCall %Interface %vert_main_inner
%32 = OpCompositeExtract %float %31 0
OpStore %col1_1 %32
%33 = OpCompositeExtract %half %31 1
OpStore %col2_1 %33
%34 = OpCompositeExtract %v4float %31 2
OpStore %pos_1 %34
OpStore %vertex_point_size %float_1
OpReturn
OpFunctionEnd
%frag_main_inner = OpFunction %void None %36
%colors = OpFunctionParameter %Interface
%39 = OpLabel
%40 = OpCompositeExtract %float %colors 0
%41 = OpCompositeExtract %half %colors 1
OpReturn
OpFunctionEnd
%frag_main = OpFunction %void None %27
%43 = OpLabel
%45 = OpLoad %float %col1_2
%46 = OpLoad %half %col2_2
%47 = OpLoad %v4float %pos_2
%48 = OpCompositeConstruct %Interface %45 %46 %47
%44 = OpFunctionCall %void %frag_main_inner %48
OpReturn
OpFunctionEnd