1### Compilation failed:
2
3error: SPIR-V validation error: ID 4294967295[%4294967295] has not been defined
4  %61 = OpExtInst %v2float %1 Modf %63 %4294967295
5
6OpCapability Shader
7%1 = OpExtInstImport "GLSL.std.450"
8OpMemoryModel Logical GLSL450
9OpEntryPoint Fragment %_entrypoint_v "_entrypoint" %sk_FragColor %sk_Clockwise
10OpExecutionMode %_entrypoint_v OriginUpperLeft
11OpName %sk_FragColor "sk_FragColor"
12OpName %sk_Clockwise "sk_Clockwise"
13OpName %_UniformBuffer "_UniformBuffer"
14OpMemberName %_UniformBuffer 0 "colorGreen"
15OpMemberName %_UniformBuffer 1 "colorRed"
16OpName %_entrypoint_v "_entrypoint_v"
17OpName %main "main"
18OpName %value "value"
19OpName %whole "whole"
20OpName %fraction "fraction"
21OpName %ok "ok"
22OpDecorate %sk_FragColor RelaxedPrecision
23OpDecorate %sk_FragColor Location 0
24OpDecorate %sk_FragColor Index 0
25OpDecorate %sk_Clockwise BuiltIn FrontFacing
26OpMemberDecorate %_UniformBuffer 0 Offset 0
27OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision
28OpMemberDecorate %_UniformBuffer 1 Offset 16
29OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision
30OpDecorate %_UniformBuffer Block
31OpDecorate %10 Binding 0
32OpDecorate %10 DescriptorSet 0
33OpDecorate %32 RelaxedPrecision
34OpDecorate %33 RelaxedPrecision
35OpDecorate %35 RelaxedPrecision
36OpDecorate %108 RelaxedPrecision
37OpDecorate %114 RelaxedPrecision
38OpDecorate %116 RelaxedPrecision
39OpDecorate %117 RelaxedPrecision
40%float = OpTypeFloat 32
41%v4float = OpTypeVector %float 4
42%_ptr_Output_v4float = OpTypePointer Output %v4float
43%sk_FragColor = OpVariable %_ptr_Output_v4float Output
44%bool = OpTypeBool
45%_ptr_Input_bool = OpTypePointer Input %bool
46%sk_Clockwise = OpVariable %_ptr_Input_bool Input
47%_UniformBuffer = OpTypeStruct %v4float %v4float
48%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer
49%10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform
50%void = OpTypeVoid
51%15 = OpTypeFunction %void
52%v2float = OpTypeVector %float 2
53%float_0 = OpConstant %float 0
54%19 = OpConstantComposite %v2float %float_0 %float_0
55%_ptr_Function_v2float = OpTypePointer Function %v2float
56%23 = OpTypeFunction %v4float %_ptr_Function_v2float
57%_ptr_Function_v4float = OpTypePointer Function %v4float
58%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
59%int = OpTypeInt 32 1
60%int_0 = OpConstant %int 0
61%float_2_5 = OpConstant %float 2.5
62%v4bool = OpTypeVector %bool 4
63%_ptr_Function_v4bool = OpTypePointer Function %v4bool
64%_ptr_Function_float = OpTypePointer Function %float
65%false = OpConstantFalse %bool
66%float_2 = OpConstant %float 2
67%float_0_5 = OpConstant %float 0.5
68%_ptr_Function_bool = OpTypePointer Function %bool
69%int_1 = OpConstant %int 1
70%v3float = OpTypeVector %float 3
71%int_2 = OpConstant %int 2
72%int_3 = OpConstant %int 3
73%_entrypoint_v = OpFunction %void None %15
74%16 = OpLabel
75%20 = OpVariable %_ptr_Function_v2float Function
76OpStore %20 %19
77%22 = OpFunctionCall %v4float %main %20
78OpStore %sk_FragColor %22
79OpReturn
80OpFunctionEnd
81%main = OpFunction %v4float None %23
82%24 = OpFunctionParameter %_ptr_Function_v2float
83%25 = OpLabel
84%value = OpVariable %_ptr_Function_v4float Function
85%whole = OpVariable %_ptr_Function_v4float Function
86%fraction = OpVariable %_ptr_Function_v4float Function
87%ok = OpVariable %_ptr_Function_v4bool Function
88%109 = OpVariable %_ptr_Function_v4float Function
89%28 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
90%32 = OpLoad %v4float %28
91%33 = OpVectorShuffle %v4float %32 %32 1 1 1 1
92%35 = OpVectorTimesScalar %v4float %33 %float_2_5
93OpStore %value %35
94%42 = OpLoad %v4float %value
95%43 = OpCompositeExtract %float %42 0
96%44 = OpAccessChain %_ptr_Function_float %whole %int_0
97%41 = OpExtInst %float %1 Modf %43 %44
98%46 = OpAccessChain %_ptr_Function_float %fraction %int_0
99OpStore %46 %41
100%48 = OpLoad %v4float %whole
101%49 = OpCompositeExtract %float %48 0
102%51 = OpFOrdEqual %bool %49 %float_2
103OpSelectionMerge %53 None
104OpBranchConditional %51 %52 %53
105%52 = OpLabel
106%54 = OpLoad %v4float %fraction
107%55 = OpCompositeExtract %float %54 0
108%57 = OpFOrdEqual %bool %55 %float_0_5
109OpBranch %53
110%53 = OpLabel
111%58 = OpPhi %bool %false %25 %57 %52
112%59 = OpAccessChain %_ptr_Function_bool %ok %int_0
113OpStore %59 %58
114%62 = OpLoad %v4float %value
115%63 = OpVectorShuffle %v2float %62 %62 0 1
116%61 = OpExtInst %v2float %1 Modf %63 %4294967295
117%64 = OpLoad %v4float %fraction
118%65 = OpVectorShuffle %v4float %64 %61 4 5 2 3
119OpStore %fraction %65
120%66 = OpLoad %v4float %whole
121%67 = OpCompositeExtract %float %66 1
122%68 = OpFOrdEqual %bool %67 %float_2
123OpSelectionMerge %70 None
124OpBranchConditional %68 %69 %70
125%69 = OpLabel
126%71 = OpLoad %v4float %fraction
127%72 = OpCompositeExtract %float %71 1
128%73 = OpFOrdEqual %bool %72 %float_0_5
129OpBranch %70
130%70 = OpLabel
131%74 = OpPhi %bool %false %53 %73 %69
132%75 = OpAccessChain %_ptr_Function_bool %ok %int_1
133OpStore %75 %74
134%78 = OpLoad %v4float %value
135%79 = OpVectorShuffle %v3float %78 %78 0 1 2
136%77 = OpExtInst %v3float %1 Modf %79 %4294967295
137%81 = OpLoad %v4float %fraction
138%82 = OpVectorShuffle %v4float %81 %77 4 5 6 3
139OpStore %fraction %82
140%83 = OpLoad %v4float %whole
141%84 = OpCompositeExtract %float %83 2
142%85 = OpFOrdEqual %bool %84 %float_2
143OpSelectionMerge %87 None
144OpBranchConditional %85 %86 %87
145%86 = OpLabel
146%88 = OpLoad %v4float %fraction
147%89 = OpCompositeExtract %float %88 2
148%90 = OpFOrdEqual %bool %89 %float_0_5
149OpBranch %87
150%87 = OpLabel
151%91 = OpPhi %bool %false %70 %90 %86
152%92 = OpAccessChain %_ptr_Function_bool %ok %int_2
153OpStore %92 %91
154%95 = OpLoad %v4float %value
155%94 = OpExtInst %v4float %1 Modf %95 %whole
156OpStore %fraction %94
157%96 = OpLoad %v4float %whole
158%97 = OpCompositeExtract %float %96 3
159%98 = OpFOrdEqual %bool %97 %float_2
160OpSelectionMerge %100 None
161OpBranchConditional %98 %99 %100
162%99 = OpLabel
163%101 = OpLoad %v4float %fraction
164%102 = OpCompositeExtract %float %101 3
165%103 = OpFOrdEqual %bool %102 %float_0_5
166OpBranch %100
167%100 = OpLabel
168%104 = OpPhi %bool %false %87 %103 %99
169%105 = OpAccessChain %_ptr_Function_bool %ok %int_3
170OpStore %105 %104
171%108 = OpLoad %v4bool %ok
172%107 = OpAll %bool %108
173OpSelectionMerge %112 None
174OpBranchConditional %107 %110 %111
175%110 = OpLabel
176%113 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
177%114 = OpLoad %v4float %113
178OpStore %109 %114
179OpBranch %112
180%111 = OpLabel
181%115 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
182%116 = OpLoad %v4float %115
183OpStore %109 %116
184OpBranch %112
185%112 = OpLabel
186%117 = OpLoad %v4float %109
187OpReturnValue %117
188OpFunctionEnd
189
1901 error
191