Vulkan UI: Fix invalid push constant usage in immediate.frag/vert (and update shaders)

This commit is contained in:
DrChat
2017-02-12 18:47:53 -06:00
parent a636b3cbcf
commit 4ee16fd193
18 changed files with 917 additions and 949 deletions

View File

@@ -29,9 +29,9 @@
OpName %textures4D "textures4D"
OpName %in_interpolators "in_interpolators"
OpName %oC "oC"
OpDecorate %_arr_v4float_10 ArrayStride 16
OpDecorate %_arr_uint_12 ArrayStride 16
OpDecorate %_arr_uint_14 ArrayStride 16
OpDecorate %_arr_v4float_uint_512 ArrayStride 16
OpDecorate %_arr_uint_uint_32 ArrayStride 16
OpDecorate %_arr_uint_uint_8 ArrayStride 16
OpMemberDecorate %consts_type 0 Offset 0
OpMemberDecorate %consts_type 1 Offset 8192
OpMemberDecorate %consts_type 2 Offset 8704
@@ -59,13 +59,13 @@
%float = OpTypeFloat 32
%v4float = OpTypeVector %float 4
%uint = OpTypeInt 32 0
%10 = OpConstant %uint 512
%_arr_v4float_10 = OpTypeArray %v4float %10
%12 = OpConstant %uint 32
%_arr_uint_12 = OpTypeArray %uint %12
%14 = OpConstant %uint 8
%_arr_uint_14 = OpTypeArray %uint %14
%consts_type = OpTypeStruct %_arr_v4float_10 %_arr_uint_12 %_arr_uint_14
%uint_512 = OpConstant %uint 512
%_arr_v4float_uint_512 = OpTypeArray %v4float %uint_512
%uint_32 = OpConstant %uint 32
%_arr_uint_uint_32 = OpTypeArray %uint %uint_32
%uint_8 = OpConstant %uint 8
%_arr_uint_uint_8 = OpTypeArray %uint %uint_8
%consts_type = OpTypeStruct %_arr_v4float_uint_512 %_arr_uint_uint_32 %_arr_uint_uint_8
%_ptr_Uniform_consts_type = OpTypePointer Uniform %consts_type
%consts = OpVariable %_ptr_Uniform_consts_type Uniform
%push_consts_type = OpTypeStruct %v4float %v4float %v4float %v4float %uint
@@ -73,34 +73,34 @@
%push_constants = OpVariable %_ptr_PushConstant_push_consts_type PushConstant
%22 = OpTypeImage %float 1D 0 0 0 1 Unknown
%23 = OpTypeSampledImage %22
%_arr_23_12 = OpTypeArray %23 %12
%_ptr_UniformConstant__arr_23_12 = OpTypePointer UniformConstant %_arr_23_12
%textures1D = OpVariable %_ptr_UniformConstant__arr_23_12 UniformConstant
%_arr_23_uint_32 = OpTypeArray %23 %uint_32
%_ptr_UniformConstant__arr_23_uint_32 = OpTypePointer UniformConstant %_arr_23_uint_32
%textures1D = OpVariable %_ptr_UniformConstant__arr_23_uint_32 UniformConstant
%27 = OpTypeImage %float 2D 0 0 0 1 Unknown
%28 = OpTypeSampledImage %27
%_arr_28_12 = OpTypeArray %28 %12
%_ptr_UniformConstant__arr_28_12 = OpTypePointer UniformConstant %_arr_28_12
%textures2D = OpVariable %_ptr_UniformConstant__arr_28_12 UniformConstant
%_arr_28_uint_32 = OpTypeArray %28 %uint_32
%_ptr_UniformConstant__arr_28_uint_32 = OpTypePointer UniformConstant %_arr_28_uint_32
%textures2D = OpVariable %_ptr_UniformConstant__arr_28_uint_32 UniformConstant
%32 = OpTypeImage %float 3D 0 0 0 1 Unknown
%33 = OpTypeSampledImage %32
%_arr_33_12 = OpTypeArray %33 %12
%_ptr_UniformConstant__arr_33_12 = OpTypePointer UniformConstant %_arr_33_12
%textures3D = OpVariable %_ptr_UniformConstant__arr_33_12 UniformConstant
%_arr_33_uint_32 = OpTypeArray %33 %uint_32
%_ptr_UniformConstant__arr_33_uint_32 = OpTypePointer UniformConstant %_arr_33_uint_32
%textures3D = OpVariable %_ptr_UniformConstant__arr_33_uint_32 UniformConstant
%37 = OpTypeImage %float Cube 0 0 0 1 Unknown
%38 = OpTypeSampledImage %37
%_arr_38_12 = OpTypeArray %38 %12
%_ptr_UniformConstant__arr_38_12 = OpTypePointer UniformConstant %_arr_38_12
%textures4D = OpVariable %_ptr_UniformConstant__arr_38_12 UniformConstant
%42 = OpConstant %uint 16
%_arr_v4float_42 = OpTypeArray %v4float %42
%44 = OpConstant %uint 1
%_arr__arr_v4float_42_44 = OpTypeArray %_arr_v4float_42 %44
%_ptr_Input__arr__arr_v4float_42_44 = OpTypePointer Input %_arr__arr_v4float_42_44
%in_interpolators = OpVariable %_ptr_Input__arr__arr_v4float_42_44 Input
%48 = OpConstant %uint 4
%_arr_v4float_48 = OpTypeArray %v4float %48
%_ptr_Output__arr_v4float_48 = OpTypePointer Output %_arr_v4float_48
%oC = OpVariable %_ptr_Output__arr_v4float_48 Output
%_arr_38_uint_32 = OpTypeArray %38 %uint_32
%_ptr_UniformConstant__arr_38_uint_32 = OpTypePointer UniformConstant %_arr_38_uint_32
%textures4D = OpVariable %_ptr_UniformConstant__arr_38_uint_32 UniformConstant
%uint_16 = OpConstant %uint 16
%_arr_v4float_uint_16 = OpTypeArray %v4float %uint_16
%uint_1 = OpConstant %uint 1
%_arr__arr_v4float_uint_16_uint_1 = OpTypeArray %_arr_v4float_uint_16 %uint_1
%_ptr_Input__arr__arr_v4float_uint_16_uint_1 = OpTypePointer Input %_arr__arr_v4float_uint_16_uint_1
%in_interpolators = OpVariable %_ptr_Input__arr__arr_v4float_uint_16_uint_1 Input
%uint_4 = OpConstant %uint 4
%_arr_v4float_uint_4 = OpTypeArray %v4float %uint_4
%_ptr_Output__arr_v4float_uint_4 = OpTypePointer Output %_arr_v4float_uint_4
%oC = OpVariable %_ptr_Output__arr_v4float_uint_4 Output
%main = OpFunction %void None %3
%5 = OpLabel
OpReturn

View File

@@ -48,98 +48,98 @@
%_ptr_Output_gl_PerVertex = OpTypePointer Output %gl_PerVertex
%_ = OpVariable %_ptr_Output_gl_PerVertex Output
%int = OpTypeInt 32 1
%12 = OpConstant %int 0
%int_0 = OpConstant %int 0
%gl_PerVertex_0 = OpTypeStruct %v4float %float
%uint = OpTypeInt 32 0
%15 = OpConstant %uint 4
%_arr_gl_PerVertex_0_15 = OpTypeArray %gl_PerVertex_0 %15
%_ptr_Input__arr_gl_PerVertex_0_15 = OpTypePointer Input %_arr_gl_PerVertex_0_15
%gl_in = OpVariable %_ptr_Input__arr_gl_PerVertex_0_15 Input
%uint_4 = OpConstant %uint 4
%_arr_gl_PerVertex_0_uint_4 = OpTypeArray %gl_PerVertex_0 %uint_4
%_ptr_Input__arr_gl_PerVertex_0_uint_4 = OpTypePointer Input %_arr_gl_PerVertex_0_uint_4
%gl_in = OpVariable %_ptr_Input__arr_gl_PerVertex_0_uint_4 Input
%_ptr_Input_v4float = OpTypePointer Input %v4float
%_ptr_Output_v4float = OpTypePointer Output %v4float
%24 = OpConstant %int 1
%int_1 = OpConstant %int 1
%_ptr_Input_float = OpTypePointer Input %float
%_ptr_Output_float = OpTypePointer Output %float
%30 = OpConstant %uint 16
%_arr_v4float_30 = OpTypeArray %v4float %30
%_ptr_Output__arr_v4float_30 = OpTypePointer Output %_arr_v4float_30
%out_interpolators = OpVariable %_ptr_Output__arr_v4float_30 Output
%_arr__arr_v4float_30_15 = OpTypeArray %_arr_v4float_30 %15
%_ptr_Input__arr__arr_v4float_30_15 = OpTypePointer Input %_arr__arr_v4float_30_15
%in_interpolators = OpVariable %_ptr_Input__arr__arr_v4float_30_15 Input
%_ptr_Input__arr_v4float_30 = OpTypePointer Input %_arr_v4float_30
%48 = OpConstant %int 2
%57 = OpConstant %int 3
%uint_16 = OpConstant %uint 16
%_arr_v4float_uint_16 = OpTypeArray %v4float %uint_16
%_ptr_Output__arr_v4float_uint_16 = OpTypePointer Output %_arr_v4float_uint_16
%out_interpolators = OpVariable %_ptr_Output__arr_v4float_uint_16 Output
%_arr__arr_v4float_uint_16_uint_4 = OpTypeArray %_arr_v4float_uint_16 %uint_4
%_ptr_Input__arr__arr_v4float_uint_16_uint_4 = OpTypePointer Input %_arr__arr_v4float_uint_16_uint_4
%in_interpolators = OpVariable %_ptr_Input__arr__arr_v4float_uint_16_uint_4 Input
%_ptr_Input__arr_v4float_uint_16 = OpTypePointer Input %_arr_v4float_uint_16
%int_2 = OpConstant %int 2
%int_3 = OpConstant %int 3
%v2float = OpTypeVector %float 2
%_arr_v2float_15 = OpTypeArray %v2float %15
%_ptr_Input__arr_v2float_15 = OpTypePointer Input %_arr_v2float_15
%_in_point_coord_unused = OpVariable %_ptr_Input__arr_v2float_15 Input
%_arr_float_15 = OpTypeArray %float %15
%_ptr_Input__arr_float_15 = OpTypePointer Input %_arr_float_15
%_in_point_size_unused = OpVariable %_ptr_Input__arr_float_15 Input
%_arr_v2float_uint_4 = OpTypeArray %v2float %uint_4
%_ptr_Input__arr_v2float_uint_4 = OpTypePointer Input %_arr_v2float_uint_4
%_in_point_coord_unused = OpVariable %_ptr_Input__arr_v2float_uint_4 Input
%_arr_float_uint_4 = OpTypeArray %float %uint_4
%_ptr_Input__arr_float_uint_4 = OpTypePointer Input %_arr_float_uint_4
%_in_point_size_unused = OpVariable %_ptr_Input__arr_float_uint_4 Input
%_ptr_Output_v2float = OpTypePointer Output %v2float
%_out_point_coord_unused = OpVariable %_ptr_Output_v2float Output
%_out_point_size_unused = OpVariable %_ptr_Output_float Output
%main = OpFunction %void None %3
%5 = OpLabel
%20 = OpAccessChain %_ptr_Input_v4float %gl_in %12 %12
%20 = OpAccessChain %_ptr_Input_v4float %gl_in %int_0 %int_0
%21 = OpLoad %v4float %20
%23 = OpAccessChain %_ptr_Output_v4float %_ %12
%23 = OpAccessChain %_ptr_Output_v4float %_ %int_0
OpStore %23 %21
%26 = OpAccessChain %_ptr_Input_float %gl_in %12 %24
%26 = OpAccessChain %_ptr_Input_float %gl_in %int_0 %int_1
%27 = OpLoad %float %26
%29 = OpAccessChain %_ptr_Output_float %_ %24
%29 = OpAccessChain %_ptr_Output_float %_ %int_1
OpStore %29 %27
%38 = OpAccessChain %_ptr_Input__arr_v4float_30 %in_interpolators %12
%39 = OpLoad %_arr_v4float_30 %38
%38 = OpAccessChain %_ptr_Input__arr_v4float_uint_16 %in_interpolators %int_0
%39 = OpLoad %_arr_v4float_uint_16 %38
OpStore %out_interpolators %39
OpEmitVertex
%40 = OpAccessChain %_ptr_Input_v4float %gl_in %24 %12
%40 = OpAccessChain %_ptr_Input_v4float %gl_in %int_1 %int_0
%41 = OpLoad %v4float %40
%42 = OpAccessChain %_ptr_Output_v4float %_ %12
%42 = OpAccessChain %_ptr_Output_v4float %_ %int_0
OpStore %42 %41
%43 = OpAccessChain %_ptr_Input_float %gl_in %24 %24
%43 = OpAccessChain %_ptr_Input_float %gl_in %int_1 %int_1
%44 = OpLoad %float %43
%45 = OpAccessChain %_ptr_Output_float %_ %24
%45 = OpAccessChain %_ptr_Output_float %_ %int_1
OpStore %45 %44
%46 = OpAccessChain %_ptr_Input__arr_v4float_30 %in_interpolators %24
%47 = OpLoad %_arr_v4float_30 %46
%46 = OpAccessChain %_ptr_Input__arr_v4float_uint_16 %in_interpolators %int_1
%47 = OpLoad %_arr_v4float_uint_16 %46
OpStore %out_interpolators %47
OpEmitVertex
%49 = OpAccessChain %_ptr_Input_v4float %gl_in %48 %12
%49 = OpAccessChain %_ptr_Input_v4float %gl_in %int_2 %int_0
%50 = OpLoad %v4float %49
%51 = OpAccessChain %_ptr_Output_v4float %_ %12
%51 = OpAccessChain %_ptr_Output_v4float %_ %int_0
OpStore %51 %50
%52 = OpAccessChain %_ptr_Input_float %gl_in %48 %24
%52 = OpAccessChain %_ptr_Input_float %gl_in %int_2 %int_1
%53 = OpLoad %float %52
%54 = OpAccessChain %_ptr_Output_float %_ %24
%54 = OpAccessChain %_ptr_Output_float %_ %int_1
OpStore %54 %53
%55 = OpAccessChain %_ptr_Input__arr_v4float_30 %in_interpolators %48
%56 = OpLoad %_arr_v4float_30 %55
%55 = OpAccessChain %_ptr_Input__arr_v4float_uint_16 %in_interpolators %int_2
%56 = OpLoad %_arr_v4float_uint_16 %55
OpStore %out_interpolators %56
OpEmitVertex
%58 = OpAccessChain %_ptr_Input_v4float %gl_in %57 %12
%58 = OpAccessChain %_ptr_Input_v4float %gl_in %int_3 %int_0
%59 = OpLoad %v4float %58
%60 = OpAccessChain %_ptr_Output_v4float %_ %12
%60 = OpAccessChain %_ptr_Output_v4float %_ %int_0
OpStore %60 %59
%61 = OpAccessChain %_ptr_Input_float %gl_in %57 %24
%61 = OpAccessChain %_ptr_Input_float %gl_in %int_3 %int_1
%62 = OpLoad %float %61
%63 = OpAccessChain %_ptr_Output_float %_ %24
%63 = OpAccessChain %_ptr_Output_float %_ %int_1
OpStore %63 %62
%64 = OpAccessChain %_ptr_Input__arr_v4float_30 %in_interpolators %57
%65 = OpLoad %_arr_v4float_30 %64
%64 = OpAccessChain %_ptr_Input__arr_v4float_uint_16 %in_interpolators %int_3
%65 = OpLoad %_arr_v4float_uint_16 %64
OpStore %out_interpolators %65
OpEmitVertex
%66 = OpAccessChain %_ptr_Input_v4float %gl_in %12 %12
%66 = OpAccessChain %_ptr_Input_v4float %gl_in %int_0 %int_0
%67 = OpLoad %v4float %66
%68 = OpAccessChain %_ptr_Output_v4float %_ %12
%68 = OpAccessChain %_ptr_Output_v4float %_ %int_0
OpStore %68 %67
%69 = OpAccessChain %_ptr_Input_float %gl_in %12 %24
%69 = OpAccessChain %_ptr_Input_float %gl_in %int_0 %int_1
%70 = OpLoad %float %69
%71 = OpAccessChain %_ptr_Output_float %_ %24
%71 = OpAccessChain %_ptr_Output_float %_ %int_1
OpStore %71 %70
%72 = OpAccessChain %_ptr_Input__arr_v4float_30 %in_interpolators %12
%73 = OpLoad %_arr_v4float_30 %72
%72 = OpAccessChain %_ptr_Input__arr_v4float_uint_16 %in_interpolators %int_0
%73 = OpLoad %_arr_v4float_uint_16 %72
OpStore %out_interpolators %73
OpEmitVertex
OpEndPrimitive

View File

@@ -58,97 +58,97 @@
%_ptr_Function_v4float = OpTypePointer Function %v4float
%gl_PerVertex = OpTypeStruct %v4float
%uint = OpTypeInt 32 0
%12 = OpConstant %uint 1
%_arr_gl_PerVertex_12 = OpTypeArray %gl_PerVertex %12
%_ptr_Input__arr_gl_PerVertex_12 = OpTypePointer Input %_arr_gl_PerVertex_12
%gl_in = OpVariable %_ptr_Input__arr_gl_PerVertex_12 Input
%uint_1 = OpConstant %uint 1
%_arr_gl_PerVertex_uint_1 = OpTypeArray %gl_PerVertex %uint_1
%_ptr_Input__arr_gl_PerVertex_uint_1 = OpTypePointer Input %_arr_gl_PerVertex_uint_1
%gl_in = OpVariable %_ptr_Input__arr_gl_PerVertex_uint_1 Input
%int = OpTypeInt 32 1
%17 = OpConstant %int 0
%int_0 = OpConstant %int 0
%_ptr_Input_v4float = OpTypePointer Input %v4float
%v2float = OpTypeVector %float 2
%_ptr_Function_v2float = OpTypePointer Function %v2float
%push_consts_type = OpTypeStruct %v4float %v4float %v4float %v4float %uint
%_ptr_PushConstant_push_consts_type = OpTypePointer PushConstant %push_consts_type
%push_constants = OpVariable %_ptr_PushConstant_push_consts_type PushConstant
%27 = OpConstant %int 2
%int_2 = OpConstant %int 2
%_ptr_PushConstant_v4float = OpTypePointer PushConstant %v4float
%_arr_float_12 = OpTypeArray %float %12
%_ptr_Input__arr_float_12 = OpTypePointer Input %_arr_float_12
%point_size = OpVariable %_ptr_Input__arr_float_12 Input
%_arr_float_uint_1 = OpTypeArray %float %uint_1
%_ptr_Input__arr_float_uint_1 = OpTypePointer Input %_arr_float_uint_1
%point_size = OpVariable %_ptr_Input__arr_float_uint_1 Input
%_ptr_Input_float = OpTypePointer Input %float
%38 = OpConstant %float 0
%float_0 = OpConstant %float 0
%bool = OpTypeBool
%_ptr_Function_int = OpTypePointer Function %int
%59 = OpConstant %int 4
%int_4 = OpConstant %int 4
%gl_PerVertex_0 = OpTypeStruct %v4float
%_ptr_Output_gl_PerVertex_0 = OpTypePointer Output %gl_PerVertex_0
%_ = OpVariable %_ptr_Output_gl_PerVertex_0 Output
%66 = OpConstant %uint 4
%_arr_v2float_66 = OpTypeArray %v2float %66
%68 = OpConstant %float -1
%69 = OpConstant %float 1
%70 = OpConstantComposite %v2float %68 %69
%71 = OpConstantComposite %v2float %69 %69
%72 = OpConstantComposite %v2float %68 %68
%73 = OpConstantComposite %v2float %69 %68
%74 = OpConstantComposite %_arr_v2float_66 %70 %71 %72 %73
%_ptr_Function__arr_v2float_66 = OpTypePointer Function %_arr_v2float_66
%uint_4 = OpConstant %uint 4
%_arr_v2float_uint_4 = OpTypeArray %v2float %uint_4
%float_n1 = OpConstant %float -1
%float_1 = OpConstant %float 1
%70 = OpConstantComposite %v2float %float_n1 %float_1
%71 = OpConstantComposite %v2float %float_1 %float_1
%72 = OpConstantComposite %v2float %float_n1 %float_n1
%73 = OpConstantComposite %v2float %float_1 %float_n1
%74 = OpConstantComposite %_arr_v2float_uint_4 %70 %71 %72 %73
%_ptr_Function__arr_v2float_uint_4 = OpTypePointer Function %_arr_v2float_uint_4
%_ptr_Output_v4float = OpTypePointer Output %v4float
%92 = OpConstant %uint 16
%_arr_v4float_92 = OpTypeArray %v4float %92
%_ptr_Output__arr_v4float_92 = OpTypePointer Output %_arr_v4float_92
%out_interpolators = OpVariable %_ptr_Output__arr_v4float_92 Output
%_arr__arr_v4float_92_12 = OpTypeArray %_arr_v4float_92 %12
%_ptr_Input__arr__arr_v4float_92_12 = OpTypePointer Input %_arr__arr_v4float_92_12
%in_interpolators = OpVariable %_ptr_Input__arr__arr_v4float_92_12 Input
%_ptr_Input__arr_v4float_92 = OpTypePointer Input %_arr_v4float_92
%uint_16 = OpConstant %uint 16
%_arr_v4float_uint_16 = OpTypeArray %v4float %uint_16
%_ptr_Output__arr_v4float_uint_16 = OpTypePointer Output %_arr_v4float_uint_16
%out_interpolators = OpVariable %_ptr_Output__arr_v4float_uint_16 Output
%_arr__arr_v4float_uint_16_uint_1 = OpTypeArray %_arr_v4float_uint_16 %uint_1
%_ptr_Input__arr__arr_v4float_uint_16_uint_1 = OpTypePointer Input %_arr__arr_v4float_uint_16_uint_1
%in_interpolators = OpVariable %_ptr_Input__arr__arr_v4float_uint_16_uint_1 Input
%_ptr_Input__arr_v4float_uint_16 = OpTypePointer Input %_arr_v4float_uint_16
%_ptr_Output_v2float = OpTypePointer Output %v2float
%point_coord = OpVariable %_ptr_Output_v2float Output
%108 = OpConstantComposite %v2float %38 %38
%111 = OpConstant %int 1
%_arr_v2float_12 = OpTypeArray %v2float %12
%_ptr_Input__arr_v2float_12 = OpTypePointer Input %_arr_v2float_12
%in_point_coord_unused = OpVariable %_ptr_Input__arr_v2float_12 Input
%108 = OpConstantComposite %v2float %float_0 %float_0
%int_1 = OpConstant %int 1
%_arr_v2float_uint_1 = OpTypeArray %v2float %uint_1
%_ptr_Input__arr_v2float_uint_1 = OpTypePointer Input %_arr_v2float_uint_1
%in_point_coord_unused = OpVariable %_ptr_Input__arr_v2float_uint_1 Input
%main = OpFunction %void None %3
%5 = OpLabel
%pos = OpVariable %_ptr_Function_v4float Function
%window_scaled_psize = OpVariable %_ptr_Function_v2float Function
%i = OpVariable %_ptr_Function_int Function
%indexable = OpVariable %_ptr_Function__arr_v2float_66 Function
%indexable_0 = OpVariable %_ptr_Function__arr_v2float_66 Function
%19 = OpAccessChain %_ptr_Input_v4float %gl_in %17 %17
%indexable = OpVariable %_ptr_Function__arr_v2float_uint_4 Function
%indexable_0 = OpVariable %_ptr_Function__arr_v2float_uint_4 Function
%19 = OpAccessChain %_ptr_Input_v4float %gl_in %int_0 %int_0
%20 = OpLoad %v4float %19
OpStore %pos %20
%29 = OpAccessChain %_ptr_PushConstant_v4float %push_constants %27
%29 = OpAccessChain %_ptr_PushConstant_v4float %push_constants %int_2
%30 = OpLoad %v4float %29
%31 = OpVectorShuffle %v2float %30 %30 0 1
OpStore %window_scaled_psize %31
%36 = OpAccessChain %_ptr_Input_float %point_size %17
%36 = OpAccessChain %_ptr_Input_float %point_size %int_0
%37 = OpLoad %float %36
%40 = OpFOrdGreaterThan %bool %37 %38
%40 = OpFOrdGreaterThan %bool %37 %float_0
OpSelectionMerge %42 None
OpBranchConditional %40 %41 %42
%41 = OpLabel
%43 = OpAccessChain %_ptr_Input_float %point_size %17
%43 = OpAccessChain %_ptr_Input_float %point_size %int_0
%44 = OpLoad %float %43
%45 = OpCompositeConstruct %v2float %44 %44
OpStore %window_scaled_psize %45
OpBranch %42
%42 = OpLabel
%46 = OpAccessChain %_ptr_PushConstant_v4float %push_constants %17
%46 = OpAccessChain %_ptr_PushConstant_v4float %push_constants %int_0
%47 = OpLoad %v4float %46
%48 = OpVectorShuffle %v2float %47 %47 2 3
%49 = OpLoad %v2float %window_scaled_psize
%50 = OpFDiv %v2float %49 %48
OpStore %window_scaled_psize %50
OpStore %i %17
OpStore %i %int_0
OpBranch %53
%53 = OpLabel
OpLoopMerge %55 %56 None
OpBranch %57
%57 = OpLabel
%58 = OpLoad %int %i
%60 = OpSLessThan %bool %58 %59
%60 = OpSLessThan %bool %58 %int_4
OpBranchConditional %60 %54 %55
%54 = OpLabel
%64 = OpLoad %v4float %pos
@@ -167,10 +167,10 @@
%87 = OpCompositeExtract %float %84 0
%88 = OpCompositeExtract %float %84 1
%89 = OpCompositeConstruct %v4float %85 %86 %87 %88
%91 = OpAccessChain %_ptr_Output_v4float %_ %17
%91 = OpAccessChain %_ptr_Output_v4float %_ %int_0
OpStore %91 %89
%100 = OpAccessChain %_ptr_Input__arr_v4float_92 %in_interpolators %17
%101 = OpLoad %_arr_v4float_92 %100
%100 = OpAccessChain %_ptr_Input__arr_v4float_uint_16 %in_interpolators %int_0
%101 = OpLoad %_arr_v4float_uint_16 %100
OpStore %out_interpolators %101
%104 = OpLoad %int %i
OpStore %indexable_0 %74
@@ -182,7 +182,7 @@
OpBranch %56
%56 = OpLabel
%110 = OpLoad %int %i
%112 = OpIAdd %int %110 %111
%112 = OpIAdd %int %110 %int_1
OpStore %i %112
OpBranch %53
%55 = OpLabel

View File

@@ -47,45 +47,45 @@
%3 = OpTypeFunction %void
%int = OpTypeInt 32 1
%_ptr_Function_int = OpTypePointer Function %int
%9 = OpConstant %int 0
%16 = OpConstant %int 4
%int_0 = OpConstant %int 0
%int_4 = OpConstant %int 4
%bool = OpTypeBool
%uint = OpTypeInt 32 0
%21 = OpConstant %uint 4
%_arr_int_21 = OpTypeArray %int %21
%23 = OpConstant %int 1
%24 = OpConstant %int 3
%25 = OpConstant %int 2
%26 = OpConstantComposite %_arr_int_21 %9 %23 %24 %25
%_ptr_Function__arr_int_21 = OpTypePointer Function %_arr_int_21
%uint_4 = OpConstant %uint 4
%_arr_int_uint_4 = OpTypeArray %int %uint_4
%int_1 = OpConstant %int 1
%int_3 = OpConstant %int 3
%int_2 = OpConstant %int 2
%26 = OpConstantComposite %_arr_int_uint_4 %int_0 %int_1 %int_3 %int_2
%_ptr_Function__arr_int_uint_4 = OpTypePointer Function %_arr_int_uint_4
%float = OpTypeFloat 32
%v4float = OpTypeVector %float 4
%gl_PerVertex = OpTypeStruct %v4float %float
%_ptr_Output_gl_PerVertex = OpTypePointer Output %gl_PerVertex
%_ = OpVariable %_ptr_Output_gl_PerVertex Output
%gl_PerVertex_0 = OpTypeStruct %v4float %float
%_arr_gl_PerVertex_0_21 = OpTypeArray %gl_PerVertex_0 %21
%_ptr_Input__arr_gl_PerVertex_0_21 = OpTypePointer Input %_arr_gl_PerVertex_0_21
%gl_in = OpVariable %_ptr_Input__arr_gl_PerVertex_0_21 Input
%_arr_gl_PerVertex_0_uint_4 = OpTypeArray %gl_PerVertex_0 %uint_4
%_ptr_Input__arr_gl_PerVertex_0_uint_4 = OpTypePointer Input %_arr_gl_PerVertex_0_uint_4
%gl_in = OpVariable %_ptr_Input__arr_gl_PerVertex_0_uint_4 Input
%_ptr_Input_v4float = OpTypePointer Input %v4float
%_ptr_Output_v4float = OpTypePointer Output %v4float
%_ptr_Input_float = OpTypePointer Input %float
%_ptr_Output_float = OpTypePointer Output %float
%53 = OpConstant %uint 16
%_arr_v4float_53 = OpTypeArray %v4float %53
%_ptr_Output__arr_v4float_53 = OpTypePointer Output %_arr_v4float_53
%out_interpolators = OpVariable %_ptr_Output__arr_v4float_53 Output
%_arr__arr_v4float_53_21 = OpTypeArray %_arr_v4float_53 %21
%_ptr_Input__arr__arr_v4float_53_21 = OpTypePointer Input %_arr__arr_v4float_53_21
%in_interpolators = OpVariable %_ptr_Input__arr__arr_v4float_53_21 Input
%_ptr_Input__arr_v4float_53 = OpTypePointer Input %_arr_v4float_53
%uint_16 = OpConstant %uint 16
%_arr_v4float_uint_16 = OpTypeArray %v4float %uint_16
%_ptr_Output__arr_v4float_uint_16 = OpTypePointer Output %_arr_v4float_uint_16
%out_interpolators = OpVariable %_ptr_Output__arr_v4float_uint_16 Output
%_arr__arr_v4float_uint_16_uint_4 = OpTypeArray %_arr_v4float_uint_16 %uint_4
%_ptr_Input__arr__arr_v4float_uint_16_uint_4 = OpTypePointer Input %_arr__arr_v4float_uint_16_uint_4
%in_interpolators = OpVariable %_ptr_Input__arr__arr_v4float_uint_16_uint_4 Input
%_ptr_Input__arr_v4float_uint_16 = OpTypePointer Input %_arr_v4float_uint_16
%v2float = OpTypeVector %float 2
%_arr_v2float_21 = OpTypeArray %v2float %21
%_ptr_Input__arr_v2float_21 = OpTypePointer Input %_arr_v2float_21
%_in_point_coord_unused = OpVariable %_ptr_Input__arr_v2float_21 Input
%_arr_float_21 = OpTypeArray %float %21
%_ptr_Input__arr_float_21 = OpTypePointer Input %_arr_float_21
%_in_point_size_unused = OpVariable %_ptr_Input__arr_float_21 Input
%_arr_v2float_uint_4 = OpTypeArray %v2float %uint_4
%_ptr_Input__arr_v2float_uint_4 = OpTypePointer Input %_arr_v2float_uint_4
%_in_point_coord_unused = OpVariable %_ptr_Input__arr_v2float_uint_4 Input
%_arr_float_uint_4 = OpTypeArray %float %uint_4
%_ptr_Input__arr_float_uint_4 = OpTypePointer Input %_arr_float_uint_4
%_in_point_size_unused = OpVariable %_ptr_Input__arr_float_uint_4 Input
%_ptr_Output_v2float = OpTypePointer Output %v2float
%_out_point_coord_unused = OpVariable %_ptr_Output_v2float Output
%_out_point_size_unused = OpVariable %_ptr_Output_float Output
@@ -93,15 +93,15 @@
%5 = OpLabel
%i = OpVariable %_ptr_Function_int Function
%input_index = OpVariable %_ptr_Function_int Function
%indexable = OpVariable %_ptr_Function__arr_int_21 Function
OpStore %i %9
%indexable = OpVariable %_ptr_Function__arr_int_uint_4 Function
OpStore %i %int_0
OpBranch %10
%10 = OpLabel
OpLoopMerge %12 %13 None
OpBranch %14
%14 = OpLabel
%15 = OpLoad %int %i
%18 = OpSLessThan %bool %15 %16
%18 = OpSLessThan %bool %15 %int_4
OpBranchConditional %18 %11 %12
%11 = OpLabel
%27 = OpLoad %int %i
@@ -110,24 +110,24 @@
%31 = OpLoad %int %30
OpStore %input_index %31
%41 = OpLoad %int %input_index
%43 = OpAccessChain %_ptr_Input_v4float %gl_in %41 %9
%43 = OpAccessChain %_ptr_Input_v4float %gl_in %41 %int_0
%44 = OpLoad %v4float %43
%46 = OpAccessChain %_ptr_Output_v4float %_ %9
%46 = OpAccessChain %_ptr_Output_v4float %_ %int_0
OpStore %46 %44
%47 = OpLoad %int %input_index
%49 = OpAccessChain %_ptr_Input_float %gl_in %47 %23
%49 = OpAccessChain %_ptr_Input_float %gl_in %47 %int_1
%50 = OpLoad %float %49
%52 = OpAccessChain %_ptr_Output_float %_ %23
%52 = OpAccessChain %_ptr_Output_float %_ %int_1
OpStore %52 %50
%60 = OpLoad %int %input_index
%62 = OpAccessChain %_ptr_Input__arr_v4float_53 %in_interpolators %60
%63 = OpLoad %_arr_v4float_53 %62
%62 = OpAccessChain %_ptr_Input__arr_v4float_uint_16 %in_interpolators %60
%63 = OpLoad %_arr_v4float_uint_16 %62
OpStore %out_interpolators %63
OpEmitVertex
OpBranch %13
%13 = OpLabel
%64 = OpLoad %int %i
%65 = OpIAdd %int %64 %23
%65 = OpIAdd %int %64 %int_1
OpStore %i %65
OpBranch %10
%12 = OpLabel

View File

@@ -51,39 +51,39 @@
%v4float = OpTypeVector %float 4
%gl_PerVertex = OpTypeStruct %v4float %float
%uint = OpTypeInt 32 0
%13 = OpConstant %uint 3
%_arr_gl_PerVertex_13 = OpTypeArray %gl_PerVertex %13
%_ptr_Input__arr_gl_PerVertex_13 = OpTypePointer Input %_arr_gl_PerVertex_13
%gl_in = OpVariable %_ptr_Input__arr_gl_PerVertex_13 Input
%uint_3 = OpConstant %uint 3
%_arr_gl_PerVertex_uint_3 = OpTypeArray %gl_PerVertex %uint_3
%_ptr_Input__arr_gl_PerVertex_uint_3 = OpTypePointer Input %_arr_gl_PerVertex_uint_3
%gl_in = OpVariable %_ptr_Input__arr_gl_PerVertex_uint_3 Input
%int = OpTypeInt 32 1
%18 = OpConstant %int 0
%19 = OpConstant %uint 0
%int_0 = OpConstant %int 0
%uint_0 = OpConstant %uint 0
%_ptr_Input_float = OpTypePointer Input %float
%23 = OpConstant %int 2
%int_2 = OpConstant %int 2
%gl_PerVertex_0 = OpTypeStruct %v4float %float
%_ptr_Output_gl_PerVertex_0 = OpTypePointer Output %gl_PerVertex_0
%_ = OpVariable %_ptr_Output_gl_PerVertex_0 Output
%_ptr_Input_v4float = OpTypePointer Input %v4float
%_ptr_Output_v4float = OpTypePointer Output %v4float
%38 = OpConstant %int 1
%int_1 = OpConstant %int 1
%_ptr_Output_float = OpTypePointer Output %float
%43 = OpConstant %uint 16
%_arr_v4float_43 = OpTypeArray %v4float %43
%_ptr_Output__arr_v4float_43 = OpTypePointer Output %_arr_v4float_43
%out_interpolators = OpVariable %_ptr_Output__arr_v4float_43 Output
%_arr__arr_v4float_43_13 = OpTypeArray %_arr_v4float_43 %13
%_ptr_Input__arr__arr_v4float_43_13 = OpTypePointer Input %_arr__arr_v4float_43_13
%in_interpolators = OpVariable %_ptr_Input__arr__arr_v4float_43_13 Input
%_ptr_Input__arr_v4float_43 = OpTypePointer Input %_arr_v4float_43
%uint_16 = OpConstant %uint 16
%_arr_v4float_uint_16 = OpTypeArray %v4float %uint_16
%_ptr_Output__arr_v4float_uint_16 = OpTypePointer Output %_arr_v4float_uint_16
%out_interpolators = OpVariable %_ptr_Output__arr_v4float_uint_16 Output
%_arr__arr_v4float_uint_16_uint_3 = OpTypeArray %_arr_v4float_uint_16 %uint_3
%_ptr_Input__arr__arr_v4float_uint_16_uint_3 = OpTypePointer Input %_arr__arr_v4float_uint_16_uint_3
%in_interpolators = OpVariable %_ptr_Input__arr__arr_v4float_uint_16_uint_3 Input
%_ptr_Input__arr_v4float_uint_16 = OpTypePointer Input %_arr_v4float_uint_16
%_ptr_Function_int = OpTypePointer Function %int
%105 = OpConstant %int 16
%int_16 = OpConstant %int 16
%v2float = OpTypeVector %float 2
%_arr_v2float_13 = OpTypeArray %v2float %13
%_ptr_Input__arr_v2float_13 = OpTypePointer Input %_arr_v2float_13
%_in_point_coord_unused = OpVariable %_ptr_Input__arr_v2float_13 Input
%_arr_float_13 = OpTypeArray %float %13
%_ptr_Input__arr_float_13 = OpTypePointer Input %_arr_float_13
%_in_point_size_unused = OpVariable %_ptr_Input__arr_float_13 Input
%_arr_v2float_uint_3 = OpTypeArray %v2float %uint_3
%_ptr_Input__arr_v2float_uint_3 = OpTypePointer Input %_arr_v2float_uint_3
%_in_point_coord_unused = OpVariable %_ptr_Input__arr_v2float_uint_3 Input
%_arr_float_uint_3 = OpTypeArray %float %uint_3
%_ptr_Input__arr_float_uint_3 = OpTypePointer Input %_arr_float_uint_3
%_in_point_size_unused = OpVariable %_ptr_Input__arr_float_uint_3 Input
%_ptr_Output_v2float = OpTypePointer Output %v2float
%_out_point_coord_unused = OpVariable %_ptr_Output_v2float Output
%_out_point_size_unused = OpVariable %_ptr_Output_float Output
@@ -92,9 +92,9 @@
%left_aligned = OpVariable %_ptr_Function_bool Function
%i = OpVariable %_ptr_Function_int Function
%i_0 = OpVariable %_ptr_Function_int Function
%21 = OpAccessChain %_ptr_Input_float %gl_in %18 %18 %19
%21 = OpAccessChain %_ptr_Input_float %gl_in %int_0 %int_0 %uint_0
%22 = OpLoad %float %21
%24 = OpAccessChain %_ptr_Input_float %gl_in %23 %18 %19
%24 = OpAccessChain %_ptr_Input_float %gl_in %int_2 %int_0 %uint_0
%25 = OpLoad %float %24
%26 = OpFOrdEqual %bool %22 %25
OpStore %left_aligned %26
@@ -102,102 +102,102 @@
OpSelectionMerge %29 None
OpBranchConditional %27 %28 %123
%28 = OpLabel
%34 = OpAccessChain %_ptr_Input_v4float %gl_in %18 %18
%34 = OpAccessChain %_ptr_Input_v4float %gl_in %int_0 %int_0
%35 = OpLoad %v4float %34
%37 = OpAccessChain %_ptr_Output_v4float %_ %18
%37 = OpAccessChain %_ptr_Output_v4float %_ %int_0
OpStore %37 %35
%39 = OpAccessChain %_ptr_Input_float %gl_in %18 %38
%39 = OpAccessChain %_ptr_Input_float %gl_in %int_0 %int_1
%40 = OpLoad %float %39
%42 = OpAccessChain %_ptr_Output_float %_ %38
%42 = OpAccessChain %_ptr_Output_float %_ %int_1
OpStore %42 %40
%51 = OpAccessChain %_ptr_Input__arr_v4float_43 %in_interpolators %18
%52 = OpLoad %_arr_v4float_43 %51
%51 = OpAccessChain %_ptr_Input__arr_v4float_uint_16 %in_interpolators %int_0
%52 = OpLoad %_arr_v4float_uint_16 %51
OpStore %out_interpolators %52
OpEmitVertex
%53 = OpAccessChain %_ptr_Input_v4float %gl_in %38 %18
%53 = OpAccessChain %_ptr_Input_v4float %gl_in %int_1 %int_0
%54 = OpLoad %v4float %53
%55 = OpAccessChain %_ptr_Output_v4float %_ %18
%55 = OpAccessChain %_ptr_Output_v4float %_ %int_0
OpStore %55 %54
%56 = OpAccessChain %_ptr_Input_float %gl_in %38 %38
%56 = OpAccessChain %_ptr_Input_float %gl_in %int_1 %int_1
%57 = OpLoad %float %56
%58 = OpAccessChain %_ptr_Output_float %_ %38
%58 = OpAccessChain %_ptr_Output_float %_ %int_1
OpStore %58 %57
%59 = OpAccessChain %_ptr_Input__arr_v4float_43 %in_interpolators %38
%60 = OpLoad %_arr_v4float_43 %59
%59 = OpAccessChain %_ptr_Input__arr_v4float_uint_16 %in_interpolators %int_1
%60 = OpLoad %_arr_v4float_uint_16 %59
OpStore %out_interpolators %60
OpEmitVertex
%61 = OpAccessChain %_ptr_Input_v4float %gl_in %23 %18
%61 = OpAccessChain %_ptr_Input_v4float %gl_in %int_2 %int_0
%62 = OpLoad %v4float %61
%63 = OpAccessChain %_ptr_Output_v4float %_ %18
%63 = OpAccessChain %_ptr_Output_v4float %_ %int_0
OpStore %63 %62
%64 = OpAccessChain %_ptr_Input_float %gl_in %23 %38
%64 = OpAccessChain %_ptr_Input_float %gl_in %int_2 %int_1
%65 = OpLoad %float %64
%66 = OpAccessChain %_ptr_Output_float %_ %38
%66 = OpAccessChain %_ptr_Output_float %_ %int_1
OpStore %66 %65
%67 = OpAccessChain %_ptr_Input__arr_v4float_43 %in_interpolators %23
%68 = OpLoad %_arr_v4float_43 %67
%67 = OpAccessChain %_ptr_Input__arr_v4float_uint_16 %in_interpolators %int_2
%68 = OpLoad %_arr_v4float_uint_16 %67
OpStore %out_interpolators %68
OpEmitVertex
OpEndPrimitive
%69 = OpAccessChain %_ptr_Input_v4float %gl_in %23 %18
%69 = OpAccessChain %_ptr_Input_v4float %gl_in %int_2 %int_0
%70 = OpLoad %v4float %69
%71 = OpAccessChain %_ptr_Output_v4float %_ %18
%71 = OpAccessChain %_ptr_Output_v4float %_ %int_0
OpStore %71 %70
%72 = OpAccessChain %_ptr_Input_float %gl_in %23 %38
%72 = OpAccessChain %_ptr_Input_float %gl_in %int_2 %int_1
%73 = OpLoad %float %72
%74 = OpAccessChain %_ptr_Output_float %_ %38
%74 = OpAccessChain %_ptr_Output_float %_ %int_1
OpStore %74 %73
%75 = OpAccessChain %_ptr_Input__arr_v4float_43 %in_interpolators %23
%76 = OpLoad %_arr_v4float_43 %75
%75 = OpAccessChain %_ptr_Input__arr_v4float_uint_16 %in_interpolators %int_2
%76 = OpLoad %_arr_v4float_uint_16 %75
OpStore %out_interpolators %76
OpEmitVertex
%77 = OpAccessChain %_ptr_Input_v4float %gl_in %38 %18
%77 = OpAccessChain %_ptr_Input_v4float %gl_in %int_1 %int_0
%78 = OpLoad %v4float %77
%79 = OpAccessChain %_ptr_Output_v4float %_ %18
%79 = OpAccessChain %_ptr_Output_v4float %_ %int_0
OpStore %79 %78
%80 = OpAccessChain %_ptr_Input_float %gl_in %38 %38
%80 = OpAccessChain %_ptr_Input_float %gl_in %int_1 %int_1
%81 = OpLoad %float %80
%82 = OpAccessChain %_ptr_Output_float %_ %38
%82 = OpAccessChain %_ptr_Output_float %_ %int_1
OpStore %82 %81
%83 = OpAccessChain %_ptr_Input__arr_v4float_43 %in_interpolators %38
%84 = OpLoad %_arr_v4float_43 %83
%83 = OpAccessChain %_ptr_Input__arr_v4float_uint_16 %in_interpolators %int_1
%84 = OpLoad %_arr_v4float_uint_16 %83
OpStore %out_interpolators %84
OpEmitVertex
%85 = OpAccessChain %_ptr_Input_v4float %gl_in %38 %18
%85 = OpAccessChain %_ptr_Input_v4float %gl_in %int_1 %int_0
%86 = OpLoad %v4float %85
%87 = OpAccessChain %_ptr_Input_v4float %gl_in %23 %18
%87 = OpAccessChain %_ptr_Input_v4float %gl_in %int_2 %int_0
%88 = OpLoad %v4float %87
%89 = OpFAdd %v4float %86 %88
%90 = OpAccessChain %_ptr_Input_v4float %gl_in %18 %18
%90 = OpAccessChain %_ptr_Input_v4float %gl_in %int_0 %int_0
%91 = OpLoad %v4float %90
%92 = OpFSub %v4float %89 %91
%93 = OpAccessChain %_ptr_Output_v4float %_ %18
%93 = OpAccessChain %_ptr_Output_v4float %_ %int_0
OpStore %93 %92
%94 = OpAccessChain %_ptr_Input_float %gl_in %23 %38
%94 = OpAccessChain %_ptr_Input_float %gl_in %int_2 %int_1
%95 = OpLoad %float %94
%96 = OpAccessChain %_ptr_Output_float %_ %38
%96 = OpAccessChain %_ptr_Output_float %_ %int_1
OpStore %96 %95
OpStore %i %18
OpStore %i %int_0
OpBranch %99
%99 = OpLabel
OpLoopMerge %101 %102 None
OpBranch %103
%103 = OpLabel
%104 = OpLoad %int %i
%106 = OpSLessThan %bool %104 %105
%106 = OpSLessThan %bool %104 %int_16
OpBranchConditional %106 %100 %101
%100 = OpLabel
%107 = OpLoad %int %i
%108 = OpLoad %int %i
%109 = OpAccessChain %_ptr_Input_v4float %in_interpolators %18 %108
%109 = OpAccessChain %_ptr_Input_v4float %in_interpolators %int_0 %108
%110 = OpLoad %v4float %109
%111 = OpFNegate %v4float %110
%112 = OpLoad %int %i
%113 = OpAccessChain %_ptr_Input_v4float %in_interpolators %38 %112
%113 = OpAccessChain %_ptr_Input_v4float %in_interpolators %int_1 %112
%114 = OpLoad %v4float %113
%115 = OpFAdd %v4float %111 %114
%116 = OpLoad %int %i
%117 = OpAccessChain %_ptr_Input_v4float %in_interpolators %23 %116
%117 = OpAccessChain %_ptr_Input_v4float %in_interpolators %int_2 %116
%118 = OpLoad %v4float %117
%119 = OpFAdd %v4float %115 %118
%120 = OpAccessChain %_ptr_Output_v4float %out_interpolators %107
@@ -205,7 +205,7 @@
OpBranch %102
%102 = OpLabel
%121 = OpLoad %int %i
%122 = OpIAdd %int %121 %38
%122 = OpIAdd %int %121 %int_1
OpStore %i %122
OpBranch %99
%101 = OpLabel
@@ -213,102 +213,102 @@
OpEndPrimitive
OpBranch %29
%123 = OpLabel
%124 = OpAccessChain %_ptr_Input_v4float %gl_in %18 %18
%124 = OpAccessChain %_ptr_Input_v4float %gl_in %int_0 %int_0
%125 = OpLoad %v4float %124
%126 = OpAccessChain %_ptr_Output_v4float %_ %18
%126 = OpAccessChain %_ptr_Output_v4float %_ %int_0
OpStore %126 %125
%127 = OpAccessChain %_ptr_Input_float %gl_in %18 %38
%127 = OpAccessChain %_ptr_Input_float %gl_in %int_0 %int_1
%128 = OpLoad %float %127
%129 = OpAccessChain %_ptr_Output_float %_ %38
%129 = OpAccessChain %_ptr_Output_float %_ %int_1
OpStore %129 %128
%130 = OpAccessChain %_ptr_Input__arr_v4float_43 %in_interpolators %18
%131 = OpLoad %_arr_v4float_43 %130
%130 = OpAccessChain %_ptr_Input__arr_v4float_uint_16 %in_interpolators %int_0
%131 = OpLoad %_arr_v4float_uint_16 %130
OpStore %out_interpolators %131
OpEmitVertex
%132 = OpAccessChain %_ptr_Input_v4float %gl_in %38 %18
%132 = OpAccessChain %_ptr_Input_v4float %gl_in %int_1 %int_0
%133 = OpLoad %v4float %132
%134 = OpAccessChain %_ptr_Output_v4float %_ %18
%134 = OpAccessChain %_ptr_Output_v4float %_ %int_0
OpStore %134 %133
%135 = OpAccessChain %_ptr_Input_float %gl_in %38 %38
%135 = OpAccessChain %_ptr_Input_float %gl_in %int_1 %int_1
%136 = OpLoad %float %135
%137 = OpAccessChain %_ptr_Output_float %_ %38
%137 = OpAccessChain %_ptr_Output_float %_ %int_1
OpStore %137 %136
%138 = OpAccessChain %_ptr_Input__arr_v4float_43 %in_interpolators %38
%139 = OpLoad %_arr_v4float_43 %138
%138 = OpAccessChain %_ptr_Input__arr_v4float_uint_16 %in_interpolators %int_1
%139 = OpLoad %_arr_v4float_uint_16 %138
OpStore %out_interpolators %139
OpEmitVertex
%140 = OpAccessChain %_ptr_Input_v4float %gl_in %23 %18
%140 = OpAccessChain %_ptr_Input_v4float %gl_in %int_2 %int_0
%141 = OpLoad %v4float %140
%142 = OpAccessChain %_ptr_Output_v4float %_ %18
%142 = OpAccessChain %_ptr_Output_v4float %_ %int_0
OpStore %142 %141
%143 = OpAccessChain %_ptr_Input_float %gl_in %23 %38
%143 = OpAccessChain %_ptr_Input_float %gl_in %int_2 %int_1
%144 = OpLoad %float %143
%145 = OpAccessChain %_ptr_Output_float %_ %38
%145 = OpAccessChain %_ptr_Output_float %_ %int_1
OpStore %145 %144
%146 = OpAccessChain %_ptr_Input__arr_v4float_43 %in_interpolators %23
%147 = OpLoad %_arr_v4float_43 %146
%146 = OpAccessChain %_ptr_Input__arr_v4float_uint_16 %in_interpolators %int_2
%147 = OpLoad %_arr_v4float_uint_16 %146
OpStore %out_interpolators %147
OpEmitVertex
OpEndPrimitive
%148 = OpAccessChain %_ptr_Input_v4float %gl_in %18 %18
%148 = OpAccessChain %_ptr_Input_v4float %gl_in %int_0 %int_0
%149 = OpLoad %v4float %148
%150 = OpAccessChain %_ptr_Output_v4float %_ %18
%150 = OpAccessChain %_ptr_Output_v4float %_ %int_0
OpStore %150 %149
%151 = OpAccessChain %_ptr_Input_float %gl_in %18 %38
%151 = OpAccessChain %_ptr_Input_float %gl_in %int_0 %int_1
%152 = OpLoad %float %151
%153 = OpAccessChain %_ptr_Output_float %_ %38
%153 = OpAccessChain %_ptr_Output_float %_ %int_1
OpStore %153 %152
%154 = OpAccessChain %_ptr_Input__arr_v4float_43 %in_interpolators %18
%155 = OpLoad %_arr_v4float_43 %154
%154 = OpAccessChain %_ptr_Input__arr_v4float_uint_16 %in_interpolators %int_0
%155 = OpLoad %_arr_v4float_uint_16 %154
OpStore %out_interpolators %155
OpEmitVertex
%156 = OpAccessChain %_ptr_Input_v4float %gl_in %23 %18
%156 = OpAccessChain %_ptr_Input_v4float %gl_in %int_2 %int_0
%157 = OpLoad %v4float %156
%158 = OpAccessChain %_ptr_Output_v4float %_ %18
%158 = OpAccessChain %_ptr_Output_v4float %_ %int_0
OpStore %158 %157
%159 = OpAccessChain %_ptr_Input_float %gl_in %23 %38
%159 = OpAccessChain %_ptr_Input_float %gl_in %int_2 %int_1
%160 = OpLoad %float %159
%161 = OpAccessChain %_ptr_Output_float %_ %38
%161 = OpAccessChain %_ptr_Output_float %_ %int_1
OpStore %161 %160
%162 = OpAccessChain %_ptr_Input__arr_v4float_43 %in_interpolators %23
%163 = OpLoad %_arr_v4float_43 %162
%162 = OpAccessChain %_ptr_Input__arr_v4float_uint_16 %in_interpolators %int_2
%163 = OpLoad %_arr_v4float_uint_16 %162
OpStore %out_interpolators %163
OpEmitVertex
%164 = OpAccessChain %_ptr_Input_v4float %gl_in %18 %18
%164 = OpAccessChain %_ptr_Input_v4float %gl_in %int_0 %int_0
%165 = OpLoad %v4float %164
%166 = OpAccessChain %_ptr_Input_v4float %gl_in %23 %18
%166 = OpAccessChain %_ptr_Input_v4float %gl_in %int_2 %int_0
%167 = OpLoad %v4float %166
%168 = OpFAdd %v4float %165 %167
%169 = OpAccessChain %_ptr_Input_v4float %gl_in %38 %18
%169 = OpAccessChain %_ptr_Input_v4float %gl_in %int_1 %int_0
%170 = OpLoad %v4float %169
%171 = OpFSub %v4float %168 %170
%172 = OpAccessChain %_ptr_Output_v4float %_ %18
%172 = OpAccessChain %_ptr_Output_v4float %_ %int_0
OpStore %172 %171
%173 = OpAccessChain %_ptr_Input_float %gl_in %23 %38
%173 = OpAccessChain %_ptr_Input_float %gl_in %int_2 %int_1
%174 = OpLoad %float %173
%175 = OpAccessChain %_ptr_Output_float %_ %38
%175 = OpAccessChain %_ptr_Output_float %_ %int_1
OpStore %175 %174
OpStore %i_0 %18
OpStore %i_0 %int_0
OpBranch %177
%177 = OpLabel
OpLoopMerge %179 %180 None
OpBranch %181
%181 = OpLabel
%182 = OpLoad %int %i_0
%183 = OpSLessThan %bool %182 %105
%183 = OpSLessThan %bool %182 %int_16
OpBranchConditional %183 %178 %179
%178 = OpLabel
%184 = OpLoad %int %i_0
%185 = OpLoad %int %i_0
%186 = OpAccessChain %_ptr_Input_v4float %in_interpolators %18 %185
%186 = OpAccessChain %_ptr_Input_v4float %in_interpolators %int_0 %185
%187 = OpLoad %v4float %186
%188 = OpLoad %int %i_0
%189 = OpAccessChain %_ptr_Input_v4float %in_interpolators %38 %188
%189 = OpAccessChain %_ptr_Input_v4float %in_interpolators %int_1 %188
%190 = OpLoad %v4float %189
%191 = OpFNegate %v4float %190
%192 = OpFAdd %v4float %187 %191
%193 = OpLoad %int %i_0
%194 = OpAccessChain %_ptr_Input_v4float %in_interpolators %23 %193
%194 = OpAccessChain %_ptr_Input_v4float %in_interpolators %int_2 %193
%195 = OpLoad %v4float %194
%196 = OpFAdd %v4float %192 %195
%197 = OpAccessChain %_ptr_Output_v4float %out_interpolators %184
@@ -316,7 +316,7 @@
OpBranch %180
%180 = OpLabel
%198 = OpLoad %int %i_0
%199 = OpIAdd %int %198 %38
%199 = OpIAdd %int %198 %int_1
OpStore %i_0 %199
OpBranch %177
%179 = OpLabel