1; SPIR-V
2; Version: 1.0
3; Generator: Google spiregg; 0
4; Bound: 397
5; Schema: 0
6               OpCapability Shader
7               OpCapability SampledBuffer
8               OpCapability StorageImageExtendedFormats
9               OpExtension "SPV_GOOGLE_hlsl_functionality1"
10          %1 = OpExtInstImport "GLSL.std.450"
11               OpMemoryModel Logical GLSL450
12               OpEntryPoint Vertex %Main "main" %gl_VertexIndex %gl_InstanceIndex %in_var_ATTRIBUTE0 %out_var_TEXCOORD6 %gl_Position
13               OpSource HLSL 600
14               OpName %type_View "type.View"
15               OpMemberName %type_View 0 "View_TranslatedWorldToClip"
16               OpMemberName %type_View 1 "View_WorldToClip"
17               OpMemberName %type_View 2 "View_TranslatedWorldToView"
18               OpMemberName %type_View 3 "View_ViewToTranslatedWorld"
19               OpMemberName %type_View 4 "View_TranslatedWorldToCameraView"
20               OpMemberName %type_View 5 "View_CameraViewToTranslatedWorld"
21               OpMemberName %type_View 6 "View_ViewToClip"
22               OpMemberName %type_View 7 "View_ViewToClipNoAA"
23               OpMemberName %type_View 8 "View_ClipToView"
24               OpMemberName %type_View 9 "View_ClipToTranslatedWorld"
25               OpMemberName %type_View 10 "View_SVPositionToTranslatedWorld"
26               OpMemberName %type_View 11 "View_ScreenToWorld"
27               OpMemberName %type_View 12 "View_ScreenToTranslatedWorld"
28               OpMemberName %type_View 13 "View_ViewForward"
29               OpMemberName %type_View 14 "PrePadding_View_844"
30               OpMemberName %type_View 15 "View_ViewUp"
31               OpMemberName %type_View 16 "PrePadding_View_860"
32               OpMemberName %type_View 17 "View_ViewRight"
33               OpMemberName %type_View 18 "PrePadding_View_876"
34               OpMemberName %type_View 19 "View_HMDViewNoRollUp"
35               OpMemberName %type_View 20 "PrePadding_View_892"
36               OpMemberName %type_View 21 "View_HMDViewNoRollRight"
37               OpMemberName %type_View 22 "PrePadding_View_908"
38               OpMemberName %type_View 23 "View_InvDeviceZToWorldZTransform"
39               OpMemberName %type_View 24 "View_ScreenPositionScaleBias"
40               OpMemberName %type_View 25 "View_WorldCameraOrigin"
41               OpMemberName %type_View 26 "PrePadding_View_956"
42               OpMemberName %type_View 27 "View_TranslatedWorldCameraOrigin"
43               OpMemberName %type_View 28 "PrePadding_View_972"
44               OpMemberName %type_View 29 "View_WorldViewOrigin"
45               OpMemberName %type_View 30 "PrePadding_View_988"
46               OpMemberName %type_View 31 "View_PreViewTranslation"
47               OpMemberName %type_View 32 "PrePadding_View_1004"
48               OpMemberName %type_View 33 "View_PrevProjection"
49               OpMemberName %type_View 34 "View_PrevViewProj"
50               OpMemberName %type_View 35 "View_PrevViewRotationProj"
51               OpMemberName %type_View 36 "View_PrevViewToClip"
52               OpMemberName %type_View 37 "View_PrevClipToView"
53               OpMemberName %type_View 38 "View_PrevTranslatedWorldToClip"
54               OpMemberName %type_View 39 "View_PrevTranslatedWorldToView"
55               OpMemberName %type_View 40 "View_PrevViewToTranslatedWorld"
56               OpMemberName %type_View 41 "View_PrevTranslatedWorldToCameraView"
57               OpMemberName %type_View 42 "View_PrevCameraViewToTranslatedWorld"
58               OpMemberName %type_View 43 "View_PrevWorldCameraOrigin"
59               OpMemberName %type_View 44 "PrePadding_View_1660"
60               OpMemberName %type_View 45 "View_PrevWorldViewOrigin"
61               OpMemberName %type_View 46 "PrePadding_View_1676"
62               OpMemberName %type_View 47 "View_PrevPreViewTranslation"
63               OpMemberName %type_View 48 "PrePadding_View_1692"
64               OpMemberName %type_View 49 "View_PrevInvViewProj"
65               OpMemberName %type_View 50 "View_PrevScreenToTranslatedWorld"
66               OpMemberName %type_View 51 "View_ClipToPrevClip"
67               OpMemberName %type_View 52 "View_TemporalAAJitter"
68               OpMemberName %type_View 53 "View_GlobalClippingPlane"
69               OpMemberName %type_View 54 "View_FieldOfViewWideAngles"
70               OpMemberName %type_View 55 "View_PrevFieldOfViewWideAngles"
71               OpMemberName %type_View 56 "View_ViewRectMin"
72               OpMemberName %type_View 57 "View_ViewSizeAndInvSize"
73               OpMemberName %type_View 58 "View_BufferSizeAndInvSize"
74               OpMemberName %type_View 59 "View_BufferBilinearUVMinMax"
75               OpMemberName %type_View 60 "View_NumSceneColorMSAASamples"
76               OpMemberName %type_View 61 "View_PreExposure"
77               OpMemberName %type_View 62 "View_OneOverPreExposure"
78               OpMemberName %type_View 63 "PrePadding_View_2012"
79               OpMemberName %type_View 64 "View_DiffuseOverrideParameter"
80               OpMemberName %type_View 65 "View_SpecularOverrideParameter"
81               OpMemberName %type_View 66 "View_NormalOverrideParameter"
82               OpMemberName %type_View 67 "View_RoughnessOverrideParameter"
83               OpMemberName %type_View 68 "View_PrevFrameGameTime"
84               OpMemberName %type_View 69 "View_PrevFrameRealTime"
85               OpMemberName %type_View 70 "View_OutOfBoundsMask"
86               OpMemberName %type_View 71 "PrePadding_View_2084"
87               OpMemberName %type_View 72 "PrePadding_View_2088"
88               OpMemberName %type_View 73 "PrePadding_View_2092"
89               OpMemberName %type_View 74 "View_WorldCameraMovementSinceLastFrame"
90               OpMemberName %type_View 75 "View_CullingSign"
91               OpMemberName %type_View 76 "View_NearPlane"
92               OpMemberName %type_View 77 "View_AdaptiveTessellationFactor"
93               OpMemberName %type_View 78 "View_GameTime"
94               OpMemberName %type_View 79 "View_RealTime"
95               OpMemberName %type_View 80 "View_DeltaTime"
96               OpMemberName %type_View 81 "View_MaterialTextureMipBias"
97               OpMemberName %type_View 82 "View_MaterialTextureDerivativeMultiply"
98               OpMemberName %type_View 83 "View_Random"
99               OpMemberName %type_View 84 "View_FrameNumber"
100               OpMemberName %type_View 85 "View_StateFrameIndexMod8"
101               OpMemberName %type_View 86 "View_StateFrameIndex"
102               OpMemberName %type_View 87 "View_CameraCut"
103               OpMemberName %type_View 88 "View_UnlitViewmodeMask"
104               OpMemberName %type_View 89 "PrePadding_View_2164"
105               OpMemberName %type_View 90 "PrePadding_View_2168"
106               OpMemberName %type_View 91 "PrePadding_View_2172"
107               OpMemberName %type_View 92 "View_DirectionalLightColor"
108               OpMemberName %type_View 93 "View_DirectionalLightDirection"
109               OpMemberName %type_View 94 "PrePadding_View_2204"
110               OpMemberName %type_View 95 "View_TranslucencyLightingVolumeMin"
111               OpMemberName %type_View 96 "View_TranslucencyLightingVolumeInvSize"
112               OpMemberName %type_View 97 "View_TemporalAAParams"
113               OpMemberName %type_View 98 "View_CircleDOFParams"
114               OpMemberName %type_View 99 "View_DepthOfFieldSensorWidth"
115               OpMemberName %type_View 100 "View_DepthOfFieldFocalDistance"
116               OpMemberName %type_View 101 "View_DepthOfFieldScale"
117               OpMemberName %type_View 102 "View_DepthOfFieldFocalLength"
118               OpMemberName %type_View 103 "View_DepthOfFieldFocalRegion"
119               OpMemberName %type_View 104 "View_DepthOfFieldNearTransitionRegion"
120               OpMemberName %type_View 105 "View_DepthOfFieldFarTransitionRegion"
121               OpMemberName %type_View 106 "View_MotionBlurNormalizedToPixel"
122               OpMemberName %type_View 107 "View_bSubsurfacePostprocessEnabled"
123               OpMemberName %type_View 108 "View_GeneralPurposeTweak"
124               OpMemberName %type_View 109 "View_DemosaicVposOffset"
125               OpMemberName %type_View 110 "PrePadding_View_2348"
126               OpMemberName %type_View 111 "View_IndirectLightingColorScale"
127               OpMemberName %type_View 112 "View_HDR32bppEncodingMode"
128               OpMemberName %type_View 113 "View_AtmosphericFogSunDirection"
129               OpMemberName %type_View 114 "View_AtmosphericFogSunPower"
130               OpMemberName %type_View 115 "View_AtmosphericFogPower"
131               OpMemberName %type_View 116 "View_AtmosphericFogDensityScale"
132               OpMemberName %type_View 117 "View_AtmosphericFogDensityOffset"
133               OpMemberName %type_View 118 "View_AtmosphericFogGroundOffset"
134               OpMemberName %type_View 119 "View_AtmosphericFogDistanceScale"
135               OpMemberName %type_View 120 "View_AtmosphericFogAltitudeScale"
136               OpMemberName %type_View 121 "View_AtmosphericFogHeightScaleRayleigh"
137               OpMemberName %type_View 122 "View_AtmosphericFogStartDistance"
138               OpMemberName %type_View 123 "View_AtmosphericFogDistanceOffset"
139               OpMemberName %type_View 124 "View_AtmosphericFogSunDiscScale"
140               OpMemberName %type_View 125 "View_AtmosphericFogRenderMask"
141               OpMemberName %type_View 126 "View_AtmosphericFogInscatterAltitudeSampleNum"
142               OpMemberName %type_View 127 "View_AtmosphericFogSunColor"
143               OpMemberName %type_View 128 "View_NormalCurvatureToRoughnessScaleBias"
144               OpMemberName %type_View 129 "View_RenderingReflectionCaptureMask"
145               OpMemberName %type_View 130 "View_AmbientCubemapTint"
146               OpMemberName %type_View 131 "View_AmbientCubemapIntensity"
147               OpMemberName %type_View 132 "View_SkyLightParameters"
148               OpMemberName %type_View 133 "PrePadding_View_2488"
149               OpMemberName %type_View 134 "PrePadding_View_2492"
150               OpMemberName %type_View 135 "View_SkyLightColor"
151               OpMemberName %type_View 136 "View_SkyIrradianceEnvironmentMap"
152               OpMemberName %type_View 137 "View_MobilePreviewMode"
153               OpMemberName %type_View 138 "View_HMDEyePaddingOffset"
154               OpMemberName %type_View 139 "View_ReflectionCubemapMaxMip"
155               OpMemberName %type_View 140 "View_ShowDecalsMask"
156               OpMemberName %type_View 141 "View_DistanceFieldAOSpecularOcclusionMode"
157               OpMemberName %type_View 142 "View_IndirectCapsuleSelfShadowingIntensity"
158               OpMemberName %type_View 143 "PrePadding_View_2648"
159               OpMemberName %type_View 144 "PrePadding_View_2652"
160               OpMemberName %type_View 145 "View_ReflectionEnvironmentRoughnessMixingScaleBiasAndLargestWeight"
161               OpMemberName %type_View 146 "View_StereoPassIndex"
162               OpMemberName %type_View 147 "View_GlobalVolumeCenterAndExtent"
163               OpMemberName %type_View 148 "View_GlobalVolumeWorldToUVAddAndMul"
164               OpMemberName %type_View 149 "View_GlobalVolumeDimension"
165               OpMemberName %type_View 150 "View_GlobalVolumeTexelSize"
166               OpMemberName %type_View 151 "View_MaxGlobalDistance"
167               OpMemberName %type_View 152 "View_bCheckerboardSubsurfaceProfileRendering"
168               OpMemberName %type_View 153 "View_VolumetricFogInvGridSize"
169               OpMemberName %type_View 154 "PrePadding_View_2828"
170               OpMemberName %type_View 155 "View_VolumetricFogGridZParams"
171               OpMemberName %type_View 156 "PrePadding_View_2844"
172               OpMemberName %type_View 157 "View_VolumetricFogSVPosToVolumeUV"
173               OpMemberName %type_View 158 "View_VolumetricFogMaxDistance"
174               OpMemberName %type_View 159 "PrePadding_View_2860"
175               OpMemberName %type_View 160 "View_VolumetricLightmapWorldToUVScale"
176               OpMemberName %type_View 161 "PrePadding_View_2876"
177               OpMemberName %type_View 162 "View_VolumetricLightmapWorldToUVAdd"
178               OpMemberName %type_View 163 "PrePadding_View_2892"
179               OpMemberName %type_View 164 "View_VolumetricLightmapIndirectionTextureSize"
180               OpMemberName %type_View 165 "View_VolumetricLightmapBrickSize"
181               OpMemberName %type_View 166 "View_VolumetricLightmapBrickTexelSize"
182               OpMemberName %type_View 167 "View_StereoIPD"
183               OpMemberName %type_View 168 "View_IndirectLightingCacheShowFlag"
184               OpMemberName %type_View 169 "View_EyeToPixelSpreadAngle"
185               OpName %View "View"
186               OpName %type_Primitive "type.Primitive"
187               OpMemberName %type_Primitive 0 "Primitive_LocalToWorld"
188               OpMemberName %type_Primitive 1 "Primitive_InvNonUniformScaleAndDeterminantSign"
189               OpMemberName %type_Primitive 2 "Primitive_ObjectWorldPositionAndRadius"
190               OpMemberName %type_Primitive 3 "Primitive_WorldToLocal"
191               OpMemberName %type_Primitive 4 "Primitive_PreviousLocalToWorld"
192               OpMemberName %type_Primitive 5 "Primitive_PreviousWorldToLocal"
193               OpMemberName %type_Primitive 6 "Primitive_ActorWorldPosition"
194               OpMemberName %type_Primitive 7 "Primitive_UseSingleSampleShadowFromStationaryLights"
195               OpMemberName %type_Primitive 8 "Primitive_ObjectBounds"
196               OpMemberName %type_Primitive 9 "Primitive_LpvBiasMultiplier"
197               OpMemberName %type_Primitive 10 "Primitive_DecalReceiverMask"
198               OpMemberName %type_Primitive 11 "Primitive_PerObjectGBufferData"
199               OpMemberName %type_Primitive 12 "Primitive_UseVolumetricLightmapShadowFromStationaryLights"
200               OpMemberName %type_Primitive 13 "Primitive_UseEditorDepthTest"
201               OpMemberName %type_Primitive 14 "Primitive_ObjectOrientation"
202               OpMemberName %type_Primitive 15 "Primitive_NonUniformScale"
203               OpMemberName %type_Primitive 16 "Primitive_LocalObjectBoundsMin"
204               OpMemberName %type_Primitive 17 "PrePadding_Primitive_380"
205               OpMemberName %type_Primitive 18 "Primitive_LocalObjectBoundsMax"
206               OpMemberName %type_Primitive 19 "Primitive_LightingChannelMask"
207               OpMemberName %type_Primitive 20 "Primitive_LightmapDataIndex"
208               OpMemberName %type_Primitive 21 "Primitive_SingleCaptureIndex"
209               OpName %Primitive "Primitive"
210               OpName %type_MobileShadowDepthPass "type.MobileShadowDepthPass"
211               OpMemberName %type_MobileShadowDepthPass 0 "PrePadding_MobileShadowDepthPass_0"
212               OpMemberName %type_MobileShadowDepthPass 1 "PrePadding_MobileShadowDepthPass_4"
213               OpMemberName %type_MobileShadowDepthPass 2 "PrePadding_MobileShadowDepthPass_8"
214               OpMemberName %type_MobileShadowDepthPass 3 "PrePadding_MobileShadowDepthPass_12"
215               OpMemberName %type_MobileShadowDepthPass 4 "PrePadding_MobileShadowDepthPass_16"
216               OpMemberName %type_MobileShadowDepthPass 5 "PrePadding_MobileShadowDepthPass_20"
217               OpMemberName %type_MobileShadowDepthPass 6 "PrePadding_MobileShadowDepthPass_24"
218               OpMemberName %type_MobileShadowDepthPass 7 "PrePadding_MobileShadowDepthPass_28"
219               OpMemberName %type_MobileShadowDepthPass 8 "PrePadding_MobileShadowDepthPass_32"
220               OpMemberName %type_MobileShadowDepthPass 9 "PrePadding_MobileShadowDepthPass_36"
221               OpMemberName %type_MobileShadowDepthPass 10 "PrePadding_MobileShadowDepthPass_40"
222               OpMemberName %type_MobileShadowDepthPass 11 "PrePadding_MobileShadowDepthPass_44"
223               OpMemberName %type_MobileShadowDepthPass 12 "PrePadding_MobileShadowDepthPass_48"
224               OpMemberName %type_MobileShadowDepthPass 13 "PrePadding_MobileShadowDepthPass_52"
225               OpMemberName %type_MobileShadowDepthPass 14 "PrePadding_MobileShadowDepthPass_56"
226               OpMemberName %type_MobileShadowDepthPass 15 "PrePadding_MobileShadowDepthPass_60"
227               OpMemberName %type_MobileShadowDepthPass 16 "PrePadding_MobileShadowDepthPass_64"
228               OpMemberName %type_MobileShadowDepthPass 17 "PrePadding_MobileShadowDepthPass_68"
229               OpMemberName %type_MobileShadowDepthPass 18 "PrePadding_MobileShadowDepthPass_72"
230               OpMemberName %type_MobileShadowDepthPass 19 "PrePadding_MobileShadowDepthPass_76"
231               OpMemberName %type_MobileShadowDepthPass 20 "MobileShadowDepthPass_ProjectionMatrix"
232               OpMemberName %type_MobileShadowDepthPass 21 "MobileShadowDepthPass_ShadowParams"
233               OpMemberName %type_MobileShadowDepthPass 22 "MobileShadowDepthPass_bClampToNearPlane"
234               OpMemberName %type_MobileShadowDepthPass 23 "PrePadding_MobileShadowDepthPass_156"
235               OpMemberName %type_MobileShadowDepthPass 24 "MobileShadowDepthPass_ShadowViewProjectionMatrices"
236               OpName %MobileShadowDepthPass "MobileShadowDepthPass"
237               OpName %type_EmitterDynamicUniforms "type.EmitterDynamicUniforms"
238               OpMemberName %type_EmitterDynamicUniforms 0 "EmitterDynamicUniforms_LocalToWorldScale"
239               OpMemberName %type_EmitterDynamicUniforms 1 "EmitterDynamicUniforms_EmitterInstRandom"
240               OpMemberName %type_EmitterDynamicUniforms 2 "PrePadding_EmitterDynamicUniforms_12"
241               OpMemberName %type_EmitterDynamicUniforms 3 "EmitterDynamicUniforms_AxisLockRight"
242               OpMemberName %type_EmitterDynamicUniforms 4 "EmitterDynamicUniforms_AxisLockUp"
243               OpMemberName %type_EmitterDynamicUniforms 5 "EmitterDynamicUniforms_DynamicColor"
244               OpMemberName %type_EmitterDynamicUniforms 6 "EmitterDynamicUniforms_MacroUVParameters"
245               OpName %EmitterDynamicUniforms "EmitterDynamicUniforms"
246               OpName %type_EmitterUniforms "type.EmitterUniforms"
247               OpMemberName %type_EmitterUniforms 0 "EmitterUniforms_ColorCurve"
248               OpMemberName %type_EmitterUniforms 1 "EmitterUniforms_ColorScale"
249               OpMemberName %type_EmitterUniforms 2 "EmitterUniforms_ColorBias"
250               OpMemberName %type_EmitterUniforms 3 "EmitterUniforms_MiscCurve"
251               OpMemberName %type_EmitterUniforms 4 "EmitterUniforms_MiscScale"
252               OpMemberName %type_EmitterUniforms 5 "EmitterUniforms_MiscBias"
253               OpMemberName %type_EmitterUniforms 6 "EmitterUniforms_SizeBySpeed"
254               OpMemberName %type_EmitterUniforms 7 "EmitterUniforms_SubImageSize"
255               OpMemberName %type_EmitterUniforms 8 "EmitterUniforms_TangentSelector"
256               OpMemberName %type_EmitterUniforms 9 "EmitterUniforms_CameraFacingBlend"
257               OpMemberName %type_EmitterUniforms 10 "EmitterUniforms_RemoveHMDRoll"
258               OpMemberName %type_EmitterUniforms 11 "EmitterUniforms_RotationRateScale"
259               OpMemberName %type_EmitterUniforms 12 "EmitterUniforms_RotationBias"
260               OpMemberName %type_EmitterUniforms 13 "EmitterUniforms_CameraMotionBlurAmount"
261               OpMemberName %type_EmitterUniforms 14 "PrePadding_EmitterUniforms_172"
262               OpMemberName %type_EmitterUniforms 15 "EmitterUniforms_PivotOffset"
263               OpName %EmitterUniforms "EmitterUniforms"
264               OpName %type_buffer_image "type.buffer.image"
265               OpName %ParticleIndices "ParticleIndices"
266               OpName %type__Globals "type.$Globals"
267               OpMemberName %type__Globals 0 "ParticleIndicesOffset"
268               OpName %_Globals "$Globals"
269               OpName %type_2d_image "type.2d.image"
270               OpName %PositionTexture "PositionTexture"
271               OpName %type_sampler "type.sampler"
272               OpName %PositionTextureSampler "PositionTextureSampler"
273               OpName %VelocityTexture "VelocityTexture"
274               OpName %VelocityTextureSampler "VelocityTextureSampler"
275               OpName %AttributesTexture "AttributesTexture"
276               OpName %AttributesTextureSampler "AttributesTextureSampler"
277               OpName %CurveTexture "CurveTexture"
278               OpName %CurveTextureSampler "CurveTextureSampler"
279               OpName %in_var_ATTRIBUTE0 "in.var.ATTRIBUTE0"
280               OpName %out_var_TEXCOORD6 "out.var.TEXCOORD6"
281               OpName %Main "Main"
282               OpName %type_sampled_image "type.sampled.image"
283               OpDecorate %gl_VertexIndex BuiltIn VertexIndex
284               OpDecorateString %gl_VertexIndex UserSemantic "SV_VertexID"
285               OpDecorate %gl_InstanceIndex BuiltIn InstanceIndex
286               OpDecorateString %gl_InstanceIndex UserSemantic "SV_InstanceID"
287               OpDecorateString %in_var_ATTRIBUTE0 UserSemantic "ATTRIBUTE0"
288               OpDecorateString %out_var_TEXCOORD6 UserSemantic "TEXCOORD6"
289               OpDecorate %gl_Position BuiltIn Position
290               OpDecorateString %gl_Position UserSemantic "SV_POSITION"
291               OpDecorate %in_var_ATTRIBUTE0 Location 0
292               OpDecorate %out_var_TEXCOORD6 Location 0
293               OpDecorate %View DescriptorSet 0
294               OpDecorate %View Binding 1
295               OpDecorate %Primitive DescriptorSet 0
296               OpDecorate %Primitive Binding 2
297               OpDecorate %MobileShadowDepthPass DescriptorSet 0
298               OpDecorate %MobileShadowDepthPass Binding 3
299               OpDecorate %EmitterDynamicUniforms DescriptorSet 0
300               OpDecorate %EmitterDynamicUniforms Binding 4
301               OpDecorate %EmitterUniforms DescriptorSet 0
302               OpDecorate %EmitterUniforms Binding 5
303               OpDecorate %ParticleIndices DescriptorSet 0
304               OpDecorate %ParticleIndices Binding 0
305               OpDecorate %_Globals DescriptorSet 0
306               OpDecorate %_Globals Binding 6
307               OpDecorate %PositionTexture DescriptorSet 0
308               OpDecorate %PositionTexture Binding 1
309               OpDecorate %PositionTextureSampler DescriptorSet 0
310               OpDecorate %PositionTextureSampler Binding 0
311               OpDecorate %VelocityTexture DescriptorSet 0
312               OpDecorate %VelocityTexture Binding 2
313               OpDecorate %VelocityTextureSampler DescriptorSet 0
314               OpDecorate %VelocityTextureSampler Binding 1
315               OpDecorate %AttributesTexture DescriptorSet 0
316               OpDecorate %AttributesTexture Binding 3
317               OpDecorate %AttributesTextureSampler DescriptorSet 0
318               OpDecorate %AttributesTextureSampler Binding 2
319               OpDecorate %CurveTexture DescriptorSet 0
320               OpDecorate %CurveTexture Binding 4
321               OpDecorate %CurveTextureSampler DescriptorSet 0
322               OpDecorate %CurveTextureSampler Binding 3
323               OpDecorate %_arr_v4float_uint_2 ArrayStride 16
324               OpDecorate %_arr_v4float_uint_7 ArrayStride 16
325               OpDecorate %_arr_v4float_uint_4 ArrayStride 16
326               OpMemberDecorate %type_View 0 Offset 0
327               OpMemberDecorate %type_View 0 MatrixStride 16
328               OpMemberDecorate %type_View 0 ColMajor
329               OpMemberDecorate %type_View 1 Offset 64
330               OpMemberDecorate %type_View 1 MatrixStride 16
331               OpMemberDecorate %type_View 1 ColMajor
332               OpMemberDecorate %type_View 2 Offset 128
333               OpMemberDecorate %type_View 2 MatrixStride 16
334               OpMemberDecorate %type_View 2 ColMajor
335               OpMemberDecorate %type_View 3 Offset 192
336               OpMemberDecorate %type_View 3 MatrixStride 16
337               OpMemberDecorate %type_View 3 ColMajor
338               OpMemberDecorate %type_View 4 Offset 256
339               OpMemberDecorate %type_View 4 MatrixStride 16
340               OpMemberDecorate %type_View 4 ColMajor
341               OpMemberDecorate %type_View 5 Offset 320
342               OpMemberDecorate %type_View 5 MatrixStride 16
343               OpMemberDecorate %type_View 5 ColMajor
344               OpMemberDecorate %type_View 6 Offset 384
345               OpMemberDecorate %type_View 6 MatrixStride 16
346               OpMemberDecorate %type_View 6 ColMajor
347               OpMemberDecorate %type_View 7 Offset 448
348               OpMemberDecorate %type_View 7 MatrixStride 16
349               OpMemberDecorate %type_View 7 ColMajor
350               OpMemberDecorate %type_View 8 Offset 512
351               OpMemberDecorate %type_View 8 MatrixStride 16
352               OpMemberDecorate %type_View 8 ColMajor
353               OpMemberDecorate %type_View 9 Offset 576
354               OpMemberDecorate %type_View 9 MatrixStride 16
355               OpMemberDecorate %type_View 9 ColMajor
356               OpMemberDecorate %type_View 10 Offset 640
357               OpMemberDecorate %type_View 10 MatrixStride 16
358               OpMemberDecorate %type_View 10 ColMajor
359               OpMemberDecorate %type_View 11 Offset 704
360               OpMemberDecorate %type_View 11 MatrixStride 16
361               OpMemberDecorate %type_View 11 ColMajor
362               OpMemberDecorate %type_View 12 Offset 768
363               OpMemberDecorate %type_View 12 MatrixStride 16
364               OpMemberDecorate %type_View 12 ColMajor
365               OpMemberDecorate %type_View 13 Offset 832
366               OpMemberDecorate %type_View 14 Offset 844
367               OpMemberDecorate %type_View 15 Offset 848
368               OpMemberDecorate %type_View 16 Offset 860
369               OpMemberDecorate %type_View 17 Offset 864
370               OpMemberDecorate %type_View 18 Offset 876
371               OpMemberDecorate %type_View 19 Offset 880
372               OpMemberDecorate %type_View 20 Offset 892
373               OpMemberDecorate %type_View 21 Offset 896
374               OpMemberDecorate %type_View 22 Offset 908
375               OpMemberDecorate %type_View 23 Offset 912
376               OpMemberDecorate %type_View 24 Offset 928
377               OpMemberDecorate %type_View 25 Offset 944
378               OpMemberDecorate %type_View 26 Offset 956
379               OpMemberDecorate %type_View 27 Offset 960
380               OpMemberDecorate %type_View 28 Offset 972
381               OpMemberDecorate %type_View 29 Offset 976
382               OpMemberDecorate %type_View 30 Offset 988
383               OpMemberDecorate %type_View 31 Offset 992
384               OpMemberDecorate %type_View 32 Offset 1004
385               OpMemberDecorate %type_View 33 Offset 1008
386               OpMemberDecorate %type_View 33 MatrixStride 16
387               OpMemberDecorate %type_View 33 ColMajor
388               OpMemberDecorate %type_View 34 Offset 1072
389               OpMemberDecorate %type_View 34 MatrixStride 16
390               OpMemberDecorate %type_View 34 ColMajor
391               OpMemberDecorate %type_View 35 Offset 1136
392               OpMemberDecorate %type_View 35 MatrixStride 16
393               OpMemberDecorate %type_View 35 ColMajor
394               OpMemberDecorate %type_View 36 Offset 1200
395               OpMemberDecorate %type_View 36 MatrixStride 16
396               OpMemberDecorate %type_View 36 ColMajor
397               OpMemberDecorate %type_View 37 Offset 1264
398               OpMemberDecorate %type_View 37 MatrixStride 16
399               OpMemberDecorate %type_View 37 ColMajor
400               OpMemberDecorate %type_View 38 Offset 1328
401               OpMemberDecorate %type_View 38 MatrixStride 16
402               OpMemberDecorate %type_View 38 ColMajor
403               OpMemberDecorate %type_View 39 Offset 1392
404               OpMemberDecorate %type_View 39 MatrixStride 16
405               OpMemberDecorate %type_View 39 ColMajor
406               OpMemberDecorate %type_View 40 Offset 1456
407               OpMemberDecorate %type_View 40 MatrixStride 16
408               OpMemberDecorate %type_View 40 ColMajor
409               OpMemberDecorate %type_View 41 Offset 1520
410               OpMemberDecorate %type_View 41 MatrixStride 16
411               OpMemberDecorate %type_View 41 ColMajor
412               OpMemberDecorate %type_View 42 Offset 1584
413               OpMemberDecorate %type_View 42 MatrixStride 16
414               OpMemberDecorate %type_View 42 ColMajor
415               OpMemberDecorate %type_View 43 Offset 1648
416               OpMemberDecorate %type_View 44 Offset 1660
417               OpMemberDecorate %type_View 45 Offset 1664
418               OpMemberDecorate %type_View 46 Offset 1676
419               OpMemberDecorate %type_View 47 Offset 1680
420               OpMemberDecorate %type_View 48 Offset 1692
421               OpMemberDecorate %type_View 49 Offset 1696
422               OpMemberDecorate %type_View 49 MatrixStride 16
423               OpMemberDecorate %type_View 49 ColMajor
424               OpMemberDecorate %type_View 50 Offset 1760
425               OpMemberDecorate %type_View 50 MatrixStride 16
426               OpMemberDecorate %type_View 50 ColMajor
427               OpMemberDecorate %type_View 51 Offset 1824
428               OpMemberDecorate %type_View 51 MatrixStride 16
429               OpMemberDecorate %type_View 51 ColMajor
430               OpMemberDecorate %type_View 52 Offset 1888
431               OpMemberDecorate %type_View 53 Offset 1904
432               OpMemberDecorate %type_View 54 Offset 1920
433               OpMemberDecorate %type_View 55 Offset 1928
434               OpMemberDecorate %type_View 56 Offset 1936
435               OpMemberDecorate %type_View 57 Offset 1952
436               OpMemberDecorate %type_View 58 Offset 1968
437               OpMemberDecorate %type_View 59 Offset 1984
438               OpMemberDecorate %type_View 60 Offset 2000
439               OpMemberDecorate %type_View 61 Offset 2004
440               OpMemberDecorate %type_View 62 Offset 2008
441               OpMemberDecorate %type_View 63 Offset 2012
442               OpMemberDecorate %type_View 64 Offset 2016
443               OpMemberDecorate %type_View 65 Offset 2032
444               OpMemberDecorate %type_View 66 Offset 2048
445               OpMemberDecorate %type_View 67 Offset 2064
446               OpMemberDecorate %type_View 68 Offset 2072
447               OpMemberDecorate %type_View 69 Offset 2076
448               OpMemberDecorate %type_View 70 Offset 2080
449               OpMemberDecorate %type_View 71 Offset 2084
450               OpMemberDecorate %type_View 72 Offset 2088
451               OpMemberDecorate %type_View 73 Offset 2092
452               OpMemberDecorate %type_View 74 Offset 2096
453               OpMemberDecorate %type_View 75 Offset 2108
454               OpMemberDecorate %type_View 76 Offset 2112
455               OpMemberDecorate %type_View 77 Offset 2116
456               OpMemberDecorate %type_View 78 Offset 2120
457               OpMemberDecorate %type_View 79 Offset 2124
458               OpMemberDecorate %type_View 80 Offset 2128
459               OpMemberDecorate %type_View 81 Offset 2132
460               OpMemberDecorate %type_View 82 Offset 2136
461               OpMemberDecorate %type_View 83 Offset 2140
462               OpMemberDecorate %type_View 84 Offset 2144
463               OpMemberDecorate %type_View 85 Offset 2148
464               OpMemberDecorate %type_View 86 Offset 2152
465               OpMemberDecorate %type_View 87 Offset 2156
466               OpMemberDecorate %type_View 88 Offset 2160
467               OpMemberDecorate %type_View 89 Offset 2164
468               OpMemberDecorate %type_View 90 Offset 2168
469               OpMemberDecorate %type_View 91 Offset 2172
470               OpMemberDecorate %type_View 92 Offset 2176
471               OpMemberDecorate %type_View 93 Offset 2192
472               OpMemberDecorate %type_View 94 Offset 2204
473               OpMemberDecorate %type_View 95 Offset 2208
474               OpMemberDecorate %type_View 96 Offset 2240
475               OpMemberDecorate %type_View 97 Offset 2272
476               OpMemberDecorate %type_View 98 Offset 2288
477               OpMemberDecorate %type_View 99 Offset 2304
478               OpMemberDecorate %type_View 100 Offset 2308
479               OpMemberDecorate %type_View 101 Offset 2312
480               OpMemberDecorate %type_View 102 Offset 2316
481               OpMemberDecorate %type_View 103 Offset 2320
482               OpMemberDecorate %type_View 104 Offset 2324
483               OpMemberDecorate %type_View 105 Offset 2328
484               OpMemberDecorate %type_View 106 Offset 2332
485               OpMemberDecorate %type_View 107 Offset 2336
486               OpMemberDecorate %type_View 108 Offset 2340
487               OpMemberDecorate %type_View 109 Offset 2344
488               OpMemberDecorate %type_View 110 Offset 2348
489               OpMemberDecorate %type_View 111 Offset 2352
490               OpMemberDecorate %type_View 112 Offset 2364
491               OpMemberDecorate %type_View 113 Offset 2368
492               OpMemberDecorate %type_View 114 Offset 2380
493               OpMemberDecorate %type_View 115 Offset 2384
494               OpMemberDecorate %type_View 116 Offset 2388
495               OpMemberDecorate %type_View 117 Offset 2392
496               OpMemberDecorate %type_View 118 Offset 2396
497               OpMemberDecorate %type_View 119 Offset 2400
498               OpMemberDecorate %type_View 120 Offset 2404
499               OpMemberDecorate %type_View 121 Offset 2408
500               OpMemberDecorate %type_View 122 Offset 2412
501               OpMemberDecorate %type_View 123 Offset 2416
502               OpMemberDecorate %type_View 124 Offset 2420
503               OpMemberDecorate %type_View 125 Offset 2424
504               OpMemberDecorate %type_View 126 Offset 2428
505               OpMemberDecorate %type_View 127 Offset 2432
506               OpMemberDecorate %type_View 128 Offset 2448
507               OpMemberDecorate %type_View 129 Offset 2460
508               OpMemberDecorate %type_View 130 Offset 2464
509               OpMemberDecorate %type_View 131 Offset 2480
510               OpMemberDecorate %type_View 132 Offset 2484
511               OpMemberDecorate %type_View 133 Offset 2488
512               OpMemberDecorate %type_View 134 Offset 2492
513               OpMemberDecorate %type_View 135 Offset 2496
514               OpMemberDecorate %type_View 136 Offset 2512
515               OpMemberDecorate %type_View 137 Offset 2624
516               OpMemberDecorate %type_View 138 Offset 2628
517               OpMemberDecorate %type_View 139 Offset 2632
518               OpMemberDecorate %type_View 140 Offset 2636
519               OpMemberDecorate %type_View 141 Offset 2640
520               OpMemberDecorate %type_View 142 Offset 2644
521               OpMemberDecorate %type_View 143 Offset 2648
522               OpMemberDecorate %type_View 144 Offset 2652
523               OpMemberDecorate %type_View 145 Offset 2656
524               OpMemberDecorate %type_View 146 Offset 2668
525               OpMemberDecorate %type_View 147 Offset 2672
526               OpMemberDecorate %type_View 148 Offset 2736
527               OpMemberDecorate %type_View 149 Offset 2800
528               OpMemberDecorate %type_View 150 Offset 2804
529               OpMemberDecorate %type_View 151 Offset 2808
530               OpMemberDecorate %type_View 152 Offset 2812
531               OpMemberDecorate %type_View 153 Offset 2816
532               OpMemberDecorate %type_View 154 Offset 2828
533               OpMemberDecorate %type_View 155 Offset 2832
534               OpMemberDecorate %type_View 156 Offset 2844
535               OpMemberDecorate %type_View 157 Offset 2848
536               OpMemberDecorate %type_View 158 Offset 2856
537               OpMemberDecorate %type_View 159 Offset 2860
538               OpMemberDecorate %type_View 160 Offset 2864
539               OpMemberDecorate %type_View 161 Offset 2876
540               OpMemberDecorate %type_View 162 Offset 2880
541               OpMemberDecorate %type_View 163 Offset 2892
542               OpMemberDecorate %type_View 164 Offset 2896
543               OpMemberDecorate %type_View 165 Offset 2908
544               OpMemberDecorate %type_View 166 Offset 2912
545               OpMemberDecorate %type_View 167 Offset 2924
546               OpMemberDecorate %type_View 168 Offset 2928
547               OpMemberDecorate %type_View 169 Offset 2932
548               OpDecorate %type_View Block
549               OpMemberDecorate %type_Primitive 0 Offset 0
550               OpMemberDecorate %type_Primitive 0 MatrixStride 16
551               OpMemberDecorate %type_Primitive 0 ColMajor
552               OpMemberDecorate %type_Primitive 1 Offset 64
553               OpMemberDecorate %type_Primitive 2 Offset 80
554               OpMemberDecorate %type_Primitive 3 Offset 96
555               OpMemberDecorate %type_Primitive 3 MatrixStride 16
556               OpMemberDecorate %type_Primitive 3 ColMajor
557               OpMemberDecorate %type_Primitive 4 Offset 160
558               OpMemberDecorate %type_Primitive 4 MatrixStride 16
559               OpMemberDecorate %type_Primitive 4 ColMajor
560               OpMemberDecorate %type_Primitive 5 Offset 224
561               OpMemberDecorate %type_Primitive 5 MatrixStride 16
562               OpMemberDecorate %type_Primitive 5 ColMajor
563               OpMemberDecorate %type_Primitive 6 Offset 288
564               OpMemberDecorate %type_Primitive 7 Offset 300
565               OpMemberDecorate %type_Primitive 8 Offset 304
566               OpMemberDecorate %type_Primitive 9 Offset 316
567               OpMemberDecorate %type_Primitive 10 Offset 320
568               OpMemberDecorate %type_Primitive 11 Offset 324
569               OpMemberDecorate %type_Primitive 12 Offset 328
570               OpMemberDecorate %type_Primitive 13 Offset 332
571               OpMemberDecorate %type_Primitive 14 Offset 336
572               OpMemberDecorate %type_Primitive 15 Offset 352
573               OpMemberDecorate %type_Primitive 16 Offset 368
574               OpMemberDecorate %type_Primitive 17 Offset 380
575               OpMemberDecorate %type_Primitive 18 Offset 384
576               OpMemberDecorate %type_Primitive 19 Offset 396
577               OpMemberDecorate %type_Primitive 20 Offset 400
578               OpMemberDecorate %type_Primitive 21 Offset 404
579               OpDecorate %type_Primitive Block
580               OpDecorate %_arr_mat4v4float_uint_6 ArrayStride 64
581               OpMemberDecorate %type_MobileShadowDepthPass 0 Offset 0
582               OpMemberDecorate %type_MobileShadowDepthPass 1 Offset 4
583               OpMemberDecorate %type_MobileShadowDepthPass 2 Offset 8
584               OpMemberDecorate %type_MobileShadowDepthPass 3 Offset 12
585               OpMemberDecorate %type_MobileShadowDepthPass 4 Offset 16
586               OpMemberDecorate %type_MobileShadowDepthPass 5 Offset 20
587               OpMemberDecorate %type_MobileShadowDepthPass 6 Offset 24
588               OpMemberDecorate %type_MobileShadowDepthPass 7 Offset 28
589               OpMemberDecorate %type_MobileShadowDepthPass 8 Offset 32
590               OpMemberDecorate %type_MobileShadowDepthPass 9 Offset 36
591               OpMemberDecorate %type_MobileShadowDepthPass 10 Offset 40
592               OpMemberDecorate %type_MobileShadowDepthPass 11 Offset 44
593               OpMemberDecorate %type_MobileShadowDepthPass 12 Offset 48
594               OpMemberDecorate %type_MobileShadowDepthPass 13 Offset 52
595               OpMemberDecorate %type_MobileShadowDepthPass 14 Offset 56
596               OpMemberDecorate %type_MobileShadowDepthPass 15 Offset 60
597               OpMemberDecorate %type_MobileShadowDepthPass 16 Offset 64
598               OpMemberDecorate %type_MobileShadowDepthPass 17 Offset 68
599               OpMemberDecorate %type_MobileShadowDepthPass 18 Offset 72
600               OpMemberDecorate %type_MobileShadowDepthPass 19 Offset 76
601               OpMemberDecorate %type_MobileShadowDepthPass 20 Offset 80
602               OpMemberDecorate %type_MobileShadowDepthPass 20 MatrixStride 16
603               OpMemberDecorate %type_MobileShadowDepthPass 20 ColMajor
604               OpMemberDecorate %type_MobileShadowDepthPass 21 Offset 144
605               OpMemberDecorate %type_MobileShadowDepthPass 22 Offset 152
606               OpMemberDecorate %type_MobileShadowDepthPass 23 Offset 156
607               OpMemberDecorate %type_MobileShadowDepthPass 24 Offset 160
608               OpMemberDecorate %type_MobileShadowDepthPass 24 MatrixStride 16
609               OpMemberDecorate %type_MobileShadowDepthPass 24 ColMajor
610               OpDecorate %type_MobileShadowDepthPass Block
611               OpMemberDecorate %type_EmitterDynamicUniforms 0 Offset 0
612               OpMemberDecorate %type_EmitterDynamicUniforms 1 Offset 8
613               OpMemberDecorate %type_EmitterDynamicUniforms 2 Offset 12
614               OpMemberDecorate %type_EmitterDynamicUniforms 3 Offset 16
615               OpMemberDecorate %type_EmitterDynamicUniforms 4 Offset 32
616               OpMemberDecorate %type_EmitterDynamicUniforms 5 Offset 48
617               OpMemberDecorate %type_EmitterDynamicUniforms 6 Offset 64
618               OpDecorate %type_EmitterDynamicUniforms Block
619               OpMemberDecorate %type_EmitterUniforms 0 Offset 0
620               OpMemberDecorate %type_EmitterUniforms 1 Offset 16
621               OpMemberDecorate %type_EmitterUniforms 2 Offset 32
622               OpMemberDecorate %type_EmitterUniforms 3 Offset 48
623               OpMemberDecorate %type_EmitterUniforms 4 Offset 64
624               OpMemberDecorate %type_EmitterUniforms 5 Offset 80
625               OpMemberDecorate %type_EmitterUniforms 6 Offset 96
626               OpMemberDecorate %type_EmitterUniforms 7 Offset 112
627               OpMemberDecorate %type_EmitterUniforms 8 Offset 128
628               OpMemberDecorate %type_EmitterUniforms 9 Offset 144
629               OpMemberDecorate %type_EmitterUniforms 10 Offset 156
630               OpMemberDecorate %type_EmitterUniforms 11 Offset 160
631               OpMemberDecorate %type_EmitterUniforms 12 Offset 164
632               OpMemberDecorate %type_EmitterUniforms 13 Offset 168
633               OpMemberDecorate %type_EmitterUniforms 14 Offset 172
634               OpMemberDecorate %type_EmitterUniforms 15 Offset 176
635               OpDecorate %type_EmitterUniforms Block
636               OpMemberDecorate %type__Globals 0 Offset 0
637               OpDecorate %type__Globals Block
638      %float = OpTypeFloat 32
639    %v4float = OpTypeVector %float 4
640%mat4v4float = OpTypeMatrix %v4float 4
641    %v3float = OpTypeVector %float 3
642    %v2float = OpTypeVector %float 2
643        %int = OpTypeInt 32 1
644       %uint = OpTypeInt 32 0
645     %uint_2 = OpConstant %uint 2
646     %uint_7 = OpConstant %uint 7
647     %uint_4 = OpConstant %uint 4
648    %float_0 = OpConstant %float 0
649      %int_0 = OpConstant %int 0
650      %int_1 = OpConstant %int 1
651    %uint_16 = OpConstant %uint 16
652      %int_3 = OpConstant %int 3
653    %float_1 = OpConstant %float 1
654%float_9_99999975en05 = OpConstant %float 9.99999975e-05
655         %54 = OpConstantComposite %v3float %float_0 %float_0 %float_9_99999975en05
656      %int_2 = OpConstant %int 2
657      %int_5 = OpConstant %int 5
658      %int_4 = OpConstant %int 4
659  %float_0_5 = OpConstant %float 0.5
660 %float_n0_5 = OpConstant %float -0.5
661    %float_2 = OpConstant %float 2
662         %61 = OpConstantComposite %v2float %float_2 %float_2
663      %int_6 = OpConstant %int 6
664         %63 = OpConstantComposite %v2float %float_1 %float_1
665     %int_11 = OpConstant %int 11
666     %int_15 = OpConstant %int 15
667      %int_8 = OpConstant %int 8
668      %int_9 = OpConstant %int 9
669     %int_10 = OpConstant %int 10
670     %int_12 = OpConstant %int 12
671     %uint_0 = OpConstant %uint 0
672     %uint_1 = OpConstant %uint 1
673%mat3v3float = OpTypeMatrix %v3float 3
674     %int_20 = OpConstant %int 20
675     %int_22 = OpConstant %int 22
676%float_9_99999997en07 = OpConstant %float 9.99999997e-07
677     %int_21 = OpConstant %int 21
678     %int_17 = OpConstant %int 17
679     %int_19 = OpConstant %int 19
680     %int_27 = OpConstant %int 27
681     %int_31 = OpConstant %int 31
682     %uint_3 = OpConstant %uint 3
683         %82 = OpConstantComposite %v3float %float_0 %float_0 %float_1
684%float_0_00999999978 = OpConstant %float 0.00999999978
685%_arr_v4float_uint_2 = OpTypeArray %v4float %uint_2
686%_arr_v4float_uint_7 = OpTypeArray %v4float %uint_7
687%_arr_v4float_uint_4 = OpTypeArray %v4float %uint_4
688  %type_View = OpTypeStruct %mat4v4float %mat4v4float %mat4v4float %mat4v4float %mat4v4float %mat4v4float %mat4v4float %mat4v4float %mat4v4float %mat4v4float %mat4v4float %mat4v4float %mat4v4float %v3float %float %v3float %float %v3float %float %v3float %float %v3float %float %v4float %v4float %v3float %float %v3float %float %v3float %float %v3float %float %mat4v4float %mat4v4float %mat4v4float %mat4v4float %mat4v4float %mat4v4float %mat4v4float %mat4v4float %mat4v4float %mat4v4float %v3float %float %v3float %float %v3float %float %mat4v4float %mat4v4float %mat4v4float %v4float %v4float %v2float %v2float %v4float %v4float %v4float %v4float %int %float %float %float %v4float %v4float %v4float %v2float %float %float %float %float %float %float %v3float %float %float %float %float %float %float %float %float %uint %uint %uint %uint %float %float %float %float %float %v4float %v3float %float %_arr_v4float_uint_2 %_arr_v4float_uint_2 %v4float %v4float %float %float %float %float %float %float %float %float %float %float %float %float %v3float %float %v3float %float %float %float %float %float %float %float %float %float %float %float %uint %uint %v4float %v3float %float %v4float %float %float %float %float %v4float %_arr_v4float_uint_7 %float %float %float %float %uint %float %float %float %v3float %int %_arr_v4float_uint_4 %_arr_v4float_uint_4 %float %float %float %float %v3float %float %v3float %float %v2float %float %float %v3float %float %v3float %float %v3float %float %v3float %float %float %float
689%_ptr_Uniform_type_View = OpTypePointer Uniform %type_View
690%type_Primitive = OpTypeStruct %mat4v4float %v4float %v4float %mat4v4float %mat4v4float %mat4v4float %v3float %float %v3float %float %float %float %float %float %v4float %v4float %v3float %float %v3float %uint %uint %int
691%_ptr_Uniform_type_Primitive = OpTypePointer Uniform %type_Primitive
692     %uint_6 = OpConstant %uint 6
693%_arr_mat4v4float_uint_6 = OpTypeArray %mat4v4float %uint_6
694%type_MobileShadowDepthPass = OpTypeStruct %float %float %float %float %float %float %float %float %float %float %float %float %float %float %float %float %float %float %float %float %mat4v4float %v2float %float %float %_arr_mat4v4float_uint_6
695%_ptr_Uniform_type_MobileShadowDepthPass = OpTypePointer Uniform %type_MobileShadowDepthPass
696%type_EmitterDynamicUniforms = OpTypeStruct %v2float %float %float %v4float %v4float %v4float %v4float
697%_ptr_Uniform_type_EmitterDynamicUniforms = OpTypePointer Uniform %type_EmitterDynamicUniforms
698%type_EmitterUniforms = OpTypeStruct %v4float %v4float %v4float %v4float %v4float %v4float %v4float %v4float %v4float %v3float %float %float %float %float %float %v2float
699%_ptr_Uniform_type_EmitterUniforms = OpTypePointer Uniform %type_EmitterUniforms
700%type_buffer_image = OpTypeImage %float Buffer 2 0 0 1 Rg32f
701%_ptr_UniformConstant_type_buffer_image = OpTypePointer UniformConstant %type_buffer_image
702%type__Globals = OpTypeStruct %uint
703%_ptr_Uniform_type__Globals = OpTypePointer Uniform %type__Globals
704%type_2d_image = OpTypeImage %float 2D 2 0 0 1 Unknown
705%_ptr_UniformConstant_type_2d_image = OpTypePointer UniformConstant %type_2d_image
706%type_sampler = OpTypeSampler
707%_ptr_UniformConstant_type_sampler = OpTypePointer UniformConstant %type_sampler
708%_ptr_Input_uint = OpTypePointer Input %uint
709%_ptr_Input_v2float = OpTypePointer Input %v2float
710%_ptr_Output_float = OpTypePointer Output %float
711%_ptr_Output_v4float = OpTypePointer Output %v4float
712       %void = OpTypeVoid
713         %99 = OpTypeFunction %void
714%_ptr_Uniform_uint = OpTypePointer Uniform %uint
715%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
716       %bool = OpTypeBool
717%_ptr_Uniform_v2float = OpTypePointer Uniform %v2float
718%_ptr_Uniform_float = OpTypePointer Uniform %float
719%_ptr_Uniform_mat4v4float = OpTypePointer Uniform %mat4v4float
720%_ptr_Uniform_v3float = OpTypePointer Uniform %v3float
721%type_sampled_image = OpTypeSampledImage %type_2d_image
722       %View = OpVariable %_ptr_Uniform_type_View Uniform
723  %Primitive = OpVariable %_ptr_Uniform_type_Primitive Uniform
724%MobileShadowDepthPass = OpVariable %_ptr_Uniform_type_MobileShadowDepthPass Uniform
725%EmitterDynamicUniforms = OpVariable %_ptr_Uniform_type_EmitterDynamicUniforms Uniform
726%EmitterUniforms = OpVariable %_ptr_Uniform_type_EmitterUniforms Uniform
727%ParticleIndices = OpVariable %_ptr_UniformConstant_type_buffer_image UniformConstant
728   %_Globals = OpVariable %_ptr_Uniform_type__Globals Uniform
729%PositionTexture = OpVariable %_ptr_UniformConstant_type_2d_image UniformConstant
730%PositionTextureSampler = OpVariable %_ptr_UniformConstant_type_sampler UniformConstant
731%VelocityTexture = OpVariable %_ptr_UniformConstant_type_2d_image UniformConstant
732%VelocityTextureSampler = OpVariable %_ptr_UniformConstant_type_sampler UniformConstant
733%AttributesTexture = OpVariable %_ptr_UniformConstant_type_2d_image UniformConstant
734%AttributesTextureSampler = OpVariable %_ptr_UniformConstant_type_sampler UniformConstant
735%CurveTexture = OpVariable %_ptr_UniformConstant_type_2d_image UniformConstant
736%CurveTextureSampler = OpVariable %_ptr_UniformConstant_type_sampler UniformConstant
737%gl_VertexIndex = OpVariable %_ptr_Input_uint Input
738%gl_InstanceIndex = OpVariable %_ptr_Input_uint Input
739%in_var_ATTRIBUTE0 = OpVariable %_ptr_Input_v2float Input
740%out_var_TEXCOORD6 = OpVariable %_ptr_Output_float Output
741%gl_Position = OpVariable %_ptr_Output_v4float Output
742%float_6_28318548 = OpConstant %float 6.28318548
743        %108 = OpConstantNull %v3float
744       %Main = OpFunction %void None %99
745        %109 = OpLabel
746        %110 = OpLoad %uint %gl_VertexIndex
747        %111 = OpLoad %uint %gl_InstanceIndex
748        %112 = OpLoad %v2float %in_var_ATTRIBUTE0
749        %113 = OpAccessChain %_ptr_Uniform_v3float %View %int_15
750        %114 = OpLoad %v3float %113
751        %115 = OpAccessChain %_ptr_Uniform_v3float %View %int_17
752        %116 = OpLoad %v3float %115
753        %117 = OpAccessChain %_ptr_Uniform_v3float %View %int_19
754        %118 = OpLoad %v3float %117
755        %119 = OpAccessChain %_ptr_Uniform_v3float %View %int_21
756        %120 = OpLoad %v3float %119
757        %121 = OpAccessChain %_ptr_Uniform_v3float %View %int_27
758        %122 = OpLoad %v3float %121
759        %123 = OpAccessChain %_ptr_Uniform_v3float %View %int_31
760        %124 = OpLoad %v3float %123
761        %125 = OpIMul %uint %111 %uint_16
762        %126 = OpUDiv %uint %110 %uint_4
763        %127 = OpIAdd %uint %125 %126
764        %128 = OpAccessChain %_ptr_Uniform_uint %_Globals %int_0
765        %129 = OpLoad %uint %128
766        %130 = OpIAdd %uint %129 %127
767        %131 = OpLoad %type_buffer_image %ParticleIndices
768        %132 = OpImageFetch %v4float %131 %130 None
769        %133 = OpVectorShuffle %v2float %132 %132 0 1
770        %134 = OpLoad %type_2d_image %PositionTexture
771        %135 = OpLoad %type_sampler %PositionTextureSampler
772        %136 = OpSampledImage %type_sampled_image %134 %135
773        %137 = OpImageSampleExplicitLod %v4float %136 %133 Lod %float_0
774        %138 = OpLoad %type_2d_image %VelocityTexture
775        %139 = OpLoad %type_sampler %VelocityTextureSampler
776        %140 = OpSampledImage %type_sampled_image %138 %139
777        %141 = OpImageSampleExplicitLod %v4float %140 %133 Lod %float_0
778        %142 = OpLoad %type_2d_image %AttributesTexture
779        %143 = OpLoad %type_sampler %AttributesTextureSampler
780        %144 = OpSampledImage %type_sampled_image %142 %143
781        %145 = OpImageSampleExplicitLod %v4float %144 %133 Lod %float_0
782        %146 = OpCompositeExtract %float %137 3
783        %147 = OpExtInst %float %1 Step %146 %float_1
784        %148 = OpVectorShuffle %v3float %141 %141 0 1 2
785        %149 = OpAccessChain %_ptr_Uniform_mat4v4float %Primitive %int_0
786        %150 = OpLoad %mat4v4float %149
787        %151 = OpCompositeExtract %v4float %150 0
788        %152 = OpVectorShuffle %v3float %151 %151 0 1 2
789        %153 = OpCompositeExtract %v4float %150 1
790        %154 = OpVectorShuffle %v3float %153 %153 0 1 2
791        %155 = OpCompositeExtract %v4float %150 2
792        %156 = OpVectorShuffle %v3float %155 %155 0 1 2
793        %157 = OpCompositeConstruct %mat3v3float %152 %154 %156
794        %158 = OpMatrixTimesVector %v3float %157 %148
795        %159 = OpFAdd %v3float %158 %54
796        %160 = OpExtInst %v3float %1 Normalize %159
797        %161 = OpExtInst %float %1 Length %158
798        %162 = OpAccessChain %_ptr_Uniform_v4float %EmitterUniforms %int_3
799        %163 = OpLoad %v4float %162
800        %164 = OpVectorShuffle %v2float %163 %163 0 1
801        %165 = OpVectorShuffle %v2float %163 %163 2 3
802        %166 = OpCompositeConstruct %v2float %146 %146
803        %167 = OpFMul %v2float %165 %166
804        %168 = OpFAdd %v2float %164 %167
805        %169 = OpLoad %type_2d_image %CurveTexture
806        %170 = OpLoad %type_sampler %CurveTextureSampler
807        %171 = OpSampledImage %type_sampled_image %169 %170
808        %172 = OpImageSampleExplicitLod %v4float %171 %168 Lod %float_0
809        %173 = OpAccessChain %_ptr_Uniform_v4float %EmitterUniforms %int_4
810        %174 = OpLoad %v4float %173
811        %175 = OpFMul %v4float %172 %174
812        %176 = OpAccessChain %_ptr_Uniform_v4float %EmitterUniforms %int_5
813        %177 = OpLoad %v4float %176
814        %178 = OpFAdd %v4float %175 %177
815        %179 = OpCompositeExtract %float %145 0
816        %180 = OpFOrdLessThan %bool %179 %float_0_5
817        %181 = OpSelect %float %180 %float_0 %float_n0_5
818        %182 = OpCompositeExtract %float %145 1
819        %183 = OpFOrdLessThan %bool %182 %float_0_5
820        %184 = OpSelect %float %183 %float_0 %float_n0_5
821        %185 = OpCompositeConstruct %v2float %181 %184
822        %186 = OpVectorShuffle %v2float %145 %145 0 1
823        %187 = OpFAdd %v2float %186 %185
824        %188 = OpFMul %v2float %187 %61
825        %189 = OpVectorShuffle %v2float %178 %178 0 1
826        %190 = OpAccessChain %_ptr_Uniform_v2float %EmitterDynamicUniforms %int_0
827        %191 = OpLoad %v2float %190
828        %192 = OpFMul %v2float %189 %191
829        %193 = OpAccessChain %_ptr_Uniform_v4float %EmitterUniforms %int_6
830        %194 = OpLoad %v4float %193
831        %195 = OpVectorShuffle %v2float %194 %194 0 1
832        %196 = OpCompositeConstruct %v2float %161 %161
833        %197 = OpFMul %v2float %195 %196
834        %198 = OpExtInst %v2float %1 FMax %197 %63
835        %199 = OpVectorShuffle %v2float %194 %194 2 3
836        %200 = OpExtInst %v2float %1 FMin %198 %199
837        %201 = OpFMul %v2float %188 %192
838        %202 = OpFMul %v2float %201 %200
839        %203 = OpCompositeConstruct %v2float %147 %147
840        %204 = OpFMul %v2float %202 %203
841        %205 = OpCompositeExtract %float %145 3
842        %206 = OpAccessChain %_ptr_Uniform_float %EmitterUniforms %int_11
843        %207 = OpLoad %float %206
844        %208 = OpFMul %float %205 %207
845        %209 = OpCompositeExtract %float %145 2
846        %210 = OpFMul %float %208 %146
847        %211 = OpFAdd %float %209 %210
848        %212 = OpFMul %float %211 %float_6_28318548
849        %213 = OpAccessChain %_ptr_Uniform_v4float %Primitive %int_0 %uint_0
850        %214 = OpLoad %v4float %213
851        %215 = OpVectorShuffle %v3float %214 %214 0 1 2
852        %216 = OpVectorShuffle %v3float %137 %108 0 0 0
853        %217 = OpFMul %v3float %215 %216
854        %218 = OpAccessChain %_ptr_Uniform_v4float %Primitive %int_0 %uint_1
855        %219 = OpLoad %v4float %218
856        %220 = OpVectorShuffle %v3float %219 %219 0 1 2
857        %221 = OpVectorShuffle %v3float %137 %108 1 1 1
858        %222 = OpFMul %v3float %220 %221
859        %223 = OpFAdd %v3float %217 %222
860        %224 = OpAccessChain %_ptr_Uniform_v4float %Primitive %int_0 %uint_2
861        %225 = OpLoad %v4float %224
862        %226 = OpVectorShuffle %v3float %225 %225 0 1 2
863        %227 = OpVectorShuffle %v3float %137 %108 2 2 2
864        %228 = OpFMul %v3float %226 %227
865        %229 = OpFAdd %v3float %223 %228
866        %230 = OpAccessChain %_ptr_Uniform_v4float %Primitive %int_0 %uint_3
867        %231 = OpLoad %v4float %230
868        %232 = OpVectorShuffle %v3float %231 %231 0 1 2
869        %233 = OpFAdd %v3float %232 %124
870        %234 = OpFAdd %v3float %229 %233
871        %235 = OpCompositeExtract %float %234 0
872        %236 = OpCompositeExtract %float %234 1
873        %237 = OpCompositeExtract %float %234 2
874        %238 = OpCompositeConstruct %v4float %235 %236 %237 %float_1
875        %239 = OpVectorShuffle %v3float %238 %238 0 1 2
876        %240 = OpAccessChain %_ptr_Uniform_float %EmitterUniforms %int_10
877        %241 = OpLoad %float %240
878        %242 = OpCompositeConstruct %v3float %241 %241 %241
879        %243 = OpExtInst %v3float %1 FMix %116 %120 %242
880        %244 = OpExtInst %v3float %1 FMix %114 %118 %242
881        %245 = OpAccessChain %_ptr_Uniform_v4float %EmitterDynamicUniforms %int_3
882        %246 = OpLoad %v4float %245
883        %247 = OpVectorShuffle %v3float %246 %246 0 1 2
884        %248 = OpAccessChain %_ptr_Uniform_float %EmitterDynamicUniforms %int_3 %int_3
885        %249 = OpLoad %float %248
886        %250 = OpCompositeConstruct %v3float %249 %249 %249
887        %251 = OpExtInst %v3float %1 FMix %243 %247 %250
888        %252 = OpFNegate %v3float %244
889        %253 = OpAccessChain %_ptr_Uniform_v4float %EmitterDynamicUniforms %int_4
890        %254 = OpLoad %v4float %253
891        %255 = OpVectorShuffle %v3float %254 %254 0 1 2
892        %256 = OpAccessChain %_ptr_Uniform_float %EmitterDynamicUniforms %int_4 %int_3
893        %257 = OpLoad %float %256
894        %258 = OpCompositeConstruct %v3float %257 %257 %257
895        %259 = OpExtInst %v3float %1 FMix %252 %255 %258
896        %260 = OpFSub %v3float %122 %239
897        %261 = OpDot %float %260 %260
898        %262 = OpExtInst %float %1 FMax %261 %float_0_00999999978
899        %263 = OpExtInst %float %1 Sqrt %262
900        %264 = OpCompositeConstruct %v3float %263 %263 %263
901        %265 = OpFDiv %v3float %260 %264
902        %266 = OpAccessChain %_ptr_Uniform_float %EmitterUniforms %int_9 %int_0
903        %267 = OpLoad %float %266
904        %268 = OpFOrdGreaterThan %bool %267 %float_0
905               OpSelectionMerge %269 DontFlatten
906               OpBranchConditional %268 %270 %271
907        %270 = OpLabel
908        %272 = OpAccessChain %_ptr_Uniform_float %EmitterUniforms %int_9 %int_1
909        %273 = OpLoad %float %272
910        %274 = OpFMul %float %261 %273
911        %275 = OpAccessChain %_ptr_Uniform_float %EmitterUniforms %int_9 %int_2
912        %276 = OpLoad %float %275
913        %277 = OpFSub %float %274 %276
914        %278 = OpExtInst %float %1 FClamp %277 %float_0 %float_1
915        %279 = OpExtInst %v3float %1 Cross %265 %82
916        %280 = OpDot %float %279 %279
917        %281 = OpExtInst %float %1 FMax %280 %float_0_00999999978
918        %282 = OpExtInst %float %1 Sqrt %281
919        %283 = OpCompositeConstruct %v3float %282 %282 %282
920        %284 = OpFDiv %v3float %279 %283
921        %285 = OpExtInst %v3float %1 Cross %265 %284
922        %286 = OpCompositeConstruct %v3float %278 %278 %278
923        %287 = OpExtInst %v3float %1 FMix %251 %284 %286
924        %288 = OpExtInst %v3float %1 Normalize %287
925        %289 = OpExtInst %v3float %1 FMix %259 %285 %286
926        %290 = OpExtInst %v3float %1 Normalize %289
927               OpBranch %269
928        %271 = OpLabel
929        %291 = OpAccessChain %_ptr_Uniform_float %EmitterUniforms %int_8 %int_1
930        %292 = OpLoad %float %291
931        %293 = OpFOrdGreaterThan %bool %292 %float_0
932               OpSelectionMerge %294 Flatten
933               OpBranchConditional %293 %295 %296
934        %295 = OpLabel
935        %297 = OpExtInst %v3float %1 Cross %265 %160
936        %298 = OpDot %float %297 %297
937        %299 = OpExtInst %float %1 FMax %298 %float_0_00999999978
938        %300 = OpExtInst %float %1 Sqrt %299
939        %301 = OpCompositeConstruct %v3float %300 %300 %300
940        %302 = OpFDiv %v3float %297 %301
941        %303 = OpFNegate %v3float %160
942               OpBranch %294
943        %296 = OpLabel
944        %304 = OpAccessChain %_ptr_Uniform_float %EmitterUniforms %int_8 %int_2
945        %305 = OpLoad %float %304
946        %306 = OpFOrdGreaterThan %bool %305 %float_0
947               OpSelectionMerge %307 None
948               OpBranchConditional %306 %308 %309
949        %308 = OpLabel
950        %310 = OpExtInst %v3float %1 Cross %247 %265
951        %311 = OpDot %float %310 %310
952        %312 = OpExtInst %float %1 FMax %311 %float_0_00999999978
953        %313 = OpExtInst %float %1 Sqrt %312
954        %314 = OpCompositeConstruct %v3float %313 %313 %313
955        %315 = OpFDiv %v3float %310 %314
956        %316 = OpFNegate %v3float %315
957               OpBranch %307
958        %309 = OpLabel
959        %317 = OpAccessChain %_ptr_Uniform_float %EmitterUniforms %int_8 %int_3
960        %318 = OpLoad %float %317
961        %319 = OpFOrdGreaterThan %bool %318 %float_0
962               OpSelectionMerge %320 None
963               OpBranchConditional %319 %321 %320
964        %321 = OpLabel
965        %322 = OpExtInst %v3float %1 Cross %265 %82
966        %323 = OpDot %float %322 %322
967        %324 = OpExtInst %float %1 FMax %323 %float_0_00999999978
968        %325 = OpExtInst %float %1 Sqrt %324
969        %326 = OpCompositeConstruct %v3float %325 %325 %325
970        %327 = OpFDiv %v3float %322 %326
971        %328 = OpExtInst %v3float %1 Cross %265 %327
972               OpBranch %320
973        %320 = OpLabel
974        %329 = OpPhi %v3float %251 %309 %327 %321
975        %330 = OpPhi %v3float %259 %309 %328 %321
976               OpBranch %307
977        %307 = OpLabel
978        %331 = OpPhi %v3float %247 %308 %329 %320
979        %332 = OpPhi %v3float %316 %308 %330 %320
980               OpBranch %294
981        %294 = OpLabel
982        %333 = OpPhi %v3float %302 %295 %331 %307
983        %334 = OpPhi %v3float %303 %295 %332 %307
984               OpBranch %269
985        %269 = OpLabel
986        %335 = OpPhi %v3float %288 %270 %333 %294
987        %336 = OpPhi %v3float %290 %270 %334 %294
988        %337 = OpAccessChain %_ptr_Uniform_float %EmitterUniforms %int_12
989        %338 = OpLoad %float %337
990        %339 = OpFAdd %float %212 %338
991        %340 = OpExtInst %float %1 Sin %339
992        %341 = OpExtInst %float %1 Cos %339
993        %342 = OpCompositeConstruct %v3float %340 %340 %340
994        %343 = OpFMul %v3float %342 %336
995        %344 = OpCompositeConstruct %v3float %341 %341 %341
996        %345 = OpFMul %v3float %344 %335
997        %346 = OpFAdd %v3float %343 %345
998        %347 = OpFMul %v3float %344 %336
999        %348 = OpFMul %v3float %342 %335
1000        %349 = OpFSub %v3float %347 %348
1001        %350 = OpCompositeExtract %float %204 0
1002        %351 = OpCompositeExtract %float %112 0
1003        %352 = OpAccessChain %_ptr_Uniform_float %EmitterUniforms %int_15 %int_0
1004        %353 = OpLoad %float %352
1005        %354 = OpFAdd %float %351 %353
1006        %355 = OpFMul %float %350 %354
1007        %356 = OpCompositeConstruct %v3float %355 %355 %355
1008        %357 = OpFMul %v3float %356 %346
1009        %358 = OpCompositeExtract %float %204 1
1010        %359 = OpCompositeExtract %float %112 1
1011        %360 = OpAccessChain %_ptr_Uniform_float %EmitterUniforms %int_15 %int_1
1012        %361 = OpLoad %float %360
1013        %362 = OpFAdd %float %359 %361
1014        %363 = OpFMul %float %358 %362
1015        %364 = OpCompositeConstruct %v3float %363 %363 %363
1016        %365 = OpFMul %v3float %364 %349
1017        %366 = OpFAdd %v3float %357 %365
1018        %367 = OpFAdd %v3float %239 %366
1019        %368 = OpCompositeExtract %float %367 0
1020        %369 = OpCompositeExtract %float %367 1
1021        %370 = OpCompositeExtract %float %367 2
1022        %371 = OpCompositeConstruct %v4float %368 %369 %370 %float_1
1023        %372 = OpVectorShuffle %v4float %371 %371 4 5 6 3
1024        %373 = OpAccessChain %_ptr_Uniform_mat4v4float %MobileShadowDepthPass %int_20
1025        %374 = OpLoad %mat4v4float %373
1026        %375 = OpMatrixTimesVector %v4float %374 %372
1027        %376 = OpAccessChain %_ptr_Uniform_float %MobileShadowDepthPass %int_22
1028        %377 = OpLoad %float %376
1029        %378 = OpFOrdGreaterThan %bool %377 %float_0
1030        %379 = OpCompositeExtract %float %375 2
1031        %380 = OpFOrdLessThan %bool %379 %float_0
1032        %381 = OpLogicalAnd %bool %378 %380
1033               OpSelectionMerge %382 None
1034               OpBranchConditional %381 %383 %382
1035        %383 = OpLabel
1036        %384 = OpCompositeInsert %v4float %float_9_99999997en07 %375 2
1037        %385 = OpCompositeInsert %v4float %float_1 %384 3
1038               OpBranch %382
1039        %382 = OpLabel
1040        %386 = OpPhi %v4float %375 %269 %385 %383
1041        %387 = OpAccessChain %_ptr_Uniform_float %MobileShadowDepthPass %int_21 %int_0
1042        %388 = OpLoad %float %387
1043        %389 = OpAccessChain %_ptr_Uniform_float %MobileShadowDepthPass %int_21 %int_1
1044        %390 = OpLoad %float %389
1045        %391 = OpCompositeExtract %float %386 2
1046        %392 = OpFMul %float %391 %390
1047        %393 = OpFAdd %float %392 %388
1048        %394 = OpCompositeExtract %float %386 3
1049        %395 = OpFMul %float %393 %394
1050        %396 = OpCompositeInsert %v4float %395 %386 2
1051               OpStore %out_var_TEXCOORD6 %float_0
1052               OpStore %gl_Position %396
1053               OpReturn
1054               OpFunctionEnd
1055