blob: 23dc7275601d1a06ff50c1c606872330aa6a0f27 [file] [log] [blame]
; SPIR-V
; Version: 1.0
; Generator: Google spiregg; 0
; Bound: 487
; Schema: 0
OpCapability Shader
OpExtension "SPV_GOOGLE_hlsl_functionality1"
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Vertex %Main "main" %in_var_ATTRIBUTE0 %in_var_ATTRIBUTE1 %out_var_TEXCOORD0 %out_var_TEXCOORD1 %out_var_TEXCOORD2 %out_var_TEXCOORD3 %out_var_TEXCOORD8 %gl_Position
OpSource HLSL 600
OpName %type_View "type.View"
OpMemberName %type_View 0 "View_TranslatedWorldToClip"
OpMemberName %type_View 1 "View_WorldToClip"
OpMemberName %type_View 2 "View_TranslatedWorldToView"
OpMemberName %type_View 3 "View_ViewToTranslatedWorld"
OpMemberName %type_View 4 "View_TranslatedWorldToCameraView"
OpMemberName %type_View 5 "View_CameraViewToTranslatedWorld"
OpMemberName %type_View 6 "View_ViewToClip"
OpMemberName %type_View 7 "View_ViewToClipNoAA"
OpMemberName %type_View 8 "View_ClipToView"
OpMemberName %type_View 9 "View_ClipToTranslatedWorld"
OpMemberName %type_View 10 "View_SVPositionToTranslatedWorld"
OpMemberName %type_View 11 "View_ScreenToWorld"
OpMemberName %type_View 12 "View_ScreenToTranslatedWorld"
OpMemberName %type_View 13 "View_ViewForward"
OpMemberName %type_View 14 "PrePadding_View_844"
OpMemberName %type_View 15 "View_ViewUp"
OpMemberName %type_View 16 "PrePadding_View_860"
OpMemberName %type_View 17 "View_ViewRight"
OpMemberName %type_View 18 "PrePadding_View_876"
OpMemberName %type_View 19 "View_HMDViewNoRollUp"
OpMemberName %type_View 20 "PrePadding_View_892"
OpMemberName %type_View 21 "View_HMDViewNoRollRight"
OpMemberName %type_View 22 "PrePadding_View_908"
OpMemberName %type_View 23 "View_InvDeviceZToWorldZTransform"
OpMemberName %type_View 24 "View_ScreenPositionScaleBias"
OpMemberName %type_View 25 "View_WorldCameraOrigin"
OpMemberName %type_View 26 "PrePadding_View_956"
OpMemberName %type_View 27 "View_TranslatedWorldCameraOrigin"
OpMemberName %type_View 28 "PrePadding_View_972"
OpMemberName %type_View 29 "View_WorldViewOrigin"
OpMemberName %type_View 30 "PrePadding_View_988"
OpMemberName %type_View 31 "View_PreViewTranslation"
OpMemberName %type_View 32 "PrePadding_View_1004"
OpMemberName %type_View 33 "View_PrevProjection"
OpMemberName %type_View 34 "View_PrevViewProj"
OpMemberName %type_View 35 "View_PrevViewRotationProj"
OpMemberName %type_View 36 "View_PrevViewToClip"
OpMemberName %type_View 37 "View_PrevClipToView"
OpMemberName %type_View 38 "View_PrevTranslatedWorldToClip"
OpMemberName %type_View 39 "View_PrevTranslatedWorldToView"
OpMemberName %type_View 40 "View_PrevViewToTranslatedWorld"
OpMemberName %type_View 41 "View_PrevTranslatedWorldToCameraView"
OpMemberName %type_View 42 "View_PrevCameraViewToTranslatedWorld"
OpMemberName %type_View 43 "View_PrevWorldCameraOrigin"
OpMemberName %type_View 44 "PrePadding_View_1660"
OpMemberName %type_View 45 "View_PrevWorldViewOrigin"
OpMemberName %type_View 46 "PrePadding_View_1676"
OpMemberName %type_View 47 "View_PrevPreViewTranslation"
OpMemberName %type_View 48 "PrePadding_View_1692"
OpMemberName %type_View 49 "View_PrevInvViewProj"
OpMemberName %type_View 50 "View_PrevScreenToTranslatedWorld"
OpMemberName %type_View 51 "View_ClipToPrevClip"
OpMemberName %type_View 52 "View_TemporalAAJitter"
OpMemberName %type_View 53 "View_GlobalClippingPlane"
OpMemberName %type_View 54 "View_FieldOfViewWideAngles"
OpMemberName %type_View 55 "View_PrevFieldOfViewWideAngles"
OpMemberName %type_View 56 "View_ViewRectMin"
OpMemberName %type_View 57 "View_ViewSizeAndInvSize"
OpMemberName %type_View 58 "View_BufferSizeAndInvSize"
OpMemberName %type_View 59 "View_BufferBilinearUVMinMax"
OpMemberName %type_View 60 "View_NumSceneColorMSAASamples"
OpMemberName %type_View 61 "View_PreExposure"
OpMemberName %type_View 62 "View_OneOverPreExposure"
OpMemberName %type_View 63 "PrePadding_View_2012"
OpMemberName %type_View 64 "View_DiffuseOverrideParameter"
OpMemberName %type_View 65 "View_SpecularOverrideParameter"
OpMemberName %type_View 66 "View_NormalOverrideParameter"
OpMemberName %type_View 67 "View_RoughnessOverrideParameter"
OpMemberName %type_View 68 "View_PrevFrameGameTime"
OpMemberName %type_View 69 "View_PrevFrameRealTime"
OpMemberName %type_View 70 "View_OutOfBoundsMask"
OpMemberName %type_View 71 "PrePadding_View_2084"
OpMemberName %type_View 72 "PrePadding_View_2088"
OpMemberName %type_View 73 "PrePadding_View_2092"
OpMemberName %type_View 74 "View_WorldCameraMovementSinceLastFrame"
OpMemberName %type_View 75 "View_CullingSign"
OpMemberName %type_View 76 "View_NearPlane"
OpMemberName %type_View 77 "View_AdaptiveTessellationFactor"
OpMemberName %type_View 78 "View_GameTime"
OpMemberName %type_View 79 "View_RealTime"
OpMemberName %type_View 80 "View_DeltaTime"
OpMemberName %type_View 81 "View_MaterialTextureMipBias"
OpMemberName %type_View 82 "View_MaterialTextureDerivativeMultiply"
OpMemberName %type_View 83 "View_Random"
OpMemberName %type_View 84 "View_FrameNumber"
OpMemberName %type_View 85 "View_StateFrameIndexMod8"
OpMemberName %type_View 86 "View_StateFrameIndex"
OpMemberName %type_View 87 "View_CameraCut"
OpMemberName %type_View 88 "View_UnlitViewmodeMask"
OpMemberName %type_View 89 "PrePadding_View_2164"
OpMemberName %type_View 90 "PrePadding_View_2168"
OpMemberName %type_View 91 "PrePadding_View_2172"
OpMemberName %type_View 92 "View_DirectionalLightColor"
OpMemberName %type_View 93 "View_DirectionalLightDirection"
OpMemberName %type_View 94 "PrePadding_View_2204"
OpMemberName %type_View 95 "View_TranslucencyLightingVolumeMin"
OpMemberName %type_View 96 "View_TranslucencyLightingVolumeInvSize"
OpMemberName %type_View 97 "View_TemporalAAParams"
OpMemberName %type_View 98 "View_CircleDOFParams"
OpMemberName %type_View 99 "View_DepthOfFieldSensorWidth"
OpMemberName %type_View 100 "View_DepthOfFieldFocalDistance"
OpMemberName %type_View 101 "View_DepthOfFieldScale"
OpMemberName %type_View 102 "View_DepthOfFieldFocalLength"
OpMemberName %type_View 103 "View_DepthOfFieldFocalRegion"
OpMemberName %type_View 104 "View_DepthOfFieldNearTransitionRegion"
OpMemberName %type_View 105 "View_DepthOfFieldFarTransitionRegion"
OpMemberName %type_View 106 "View_MotionBlurNormalizedToPixel"
OpMemberName %type_View 107 "View_bSubsurfacePostprocessEnabled"
OpMemberName %type_View 108 "View_GeneralPurposeTweak"
OpMemberName %type_View 109 "View_DemosaicVposOffset"
OpMemberName %type_View 110 "PrePadding_View_2348"
OpMemberName %type_View 111 "View_IndirectLightingColorScale"
OpMemberName %type_View 112 "View_HDR32bppEncodingMode"
OpMemberName %type_View 113 "View_AtmosphericFogSunDirection"
OpMemberName %type_View 114 "View_AtmosphericFogSunPower"
OpMemberName %type_View 115 "View_AtmosphericFogPower"
OpMemberName %type_View 116 "View_AtmosphericFogDensityScale"
OpMemberName %type_View 117 "View_AtmosphericFogDensityOffset"
OpMemberName %type_View 118 "View_AtmosphericFogGroundOffset"
OpMemberName %type_View 119 "View_AtmosphericFogDistanceScale"
OpMemberName %type_View 120 "View_AtmosphericFogAltitudeScale"
OpMemberName %type_View 121 "View_AtmosphericFogHeightScaleRayleigh"
OpMemberName %type_View 122 "View_AtmosphericFogStartDistance"
OpMemberName %type_View 123 "View_AtmosphericFogDistanceOffset"
OpMemberName %type_View 124 "View_AtmosphericFogSunDiscScale"
OpMemberName %type_View 125 "View_AtmosphericFogRenderMask"
OpMemberName %type_View 126 "View_AtmosphericFogInscatterAltitudeSampleNum"
OpMemberName %type_View 127 "View_AtmosphericFogSunColor"
OpMemberName %type_View 128 "View_NormalCurvatureToRoughnessScaleBias"
OpMemberName %type_View 129 "View_RenderingReflectionCaptureMask"
OpMemberName %type_View 130 "View_AmbientCubemapTint"
OpMemberName %type_View 131 "View_AmbientCubemapIntensity"
OpMemberName %type_View 132 "View_SkyLightParameters"
OpMemberName %type_View 133 "PrePadding_View_2488"
OpMemberName %type_View 134 "PrePadding_View_2492"
OpMemberName %type_View 135 "View_SkyLightColor"
OpMemberName %type_View 136 "View_SkyIrradianceEnvironmentMap"
OpMemberName %type_View 137 "View_MobilePreviewMode"
OpMemberName %type_View 138 "View_HMDEyePaddingOffset"
OpMemberName %type_View 139 "View_ReflectionCubemapMaxMip"
OpMemberName %type_View 140 "View_ShowDecalsMask"
OpMemberName %type_View 141 "View_DistanceFieldAOSpecularOcclusionMode"
OpMemberName %type_View 142 "View_IndirectCapsuleSelfShadowingIntensity"
OpMemberName %type_View 143 "PrePadding_View_2648"
OpMemberName %type_View 144 "PrePadding_View_2652"
OpMemberName %type_View 145 "View_ReflectionEnvironmentRoughnessMixingScaleBiasAndLargestWeight"
OpMemberName %type_View 146 "View_StereoPassIndex"
OpMemberName %type_View 147 "View_GlobalVolumeCenterAndExtent"
OpMemberName %type_View 148 "View_GlobalVolumeWorldToUVAddAndMul"
OpMemberName %type_View 149 "View_GlobalVolumeDimension"
OpMemberName %type_View 150 "View_GlobalVolumeTexelSize"
OpMemberName %type_View 151 "View_MaxGlobalDistance"
OpMemberName %type_View 152 "View_bCheckerboardSubsurfaceProfileRendering"
OpMemberName %type_View 153 "View_VolumetricFogInvGridSize"
OpMemberName %type_View 154 "PrePadding_View_2828"
OpMemberName %type_View 155 "View_VolumetricFogGridZParams"
OpMemberName %type_View 156 "PrePadding_View_2844"
OpMemberName %type_View 157 "View_VolumetricFogSVPosToVolumeUV"
OpMemberName %type_View 158 "View_VolumetricFogMaxDistance"
OpMemberName %type_View 159 "PrePadding_View_2860"
OpMemberName %type_View 160 "View_VolumetricLightmapWorldToUVScale"
OpMemberName %type_View 161 "PrePadding_View_2876"
OpMemberName %type_View 162 "View_VolumetricLightmapWorldToUVAdd"
OpMemberName %type_View 163 "PrePadding_View_2892"
OpMemberName %type_View 164 "View_VolumetricLightmapIndirectionTextureSize"
OpMemberName %type_View 165 "View_VolumetricLightmapBrickSize"
OpMemberName %type_View 166 "View_VolumetricLightmapBrickTexelSize"
OpMemberName %type_View 167 "View_StereoIPD"
OpMemberName %type_View 168 "View_IndirectLightingCacheShowFlag"
OpMemberName %type_View 169 "View_EyeToPixelSpreadAngle"
OpName %View "View"
OpName %type_MobileBasePass "type.MobileBasePass"
OpMemberName %type_MobileBasePass 0 "MobileBasePass_Fog_ExponentialFogParameters"
OpMemberName %type_MobileBasePass 1 "MobileBasePass_Fog_ExponentialFogParameters2"
OpMemberName %type_MobileBasePass 2 "MobileBasePass_Fog_ExponentialFogColorParameter"
OpMemberName %type_MobileBasePass 3 "MobileBasePass_Fog_ExponentialFogParameters3"
OpMemberName %type_MobileBasePass 4 "MobileBasePass_Fog_InscatteringLightDirection"
OpMemberName %type_MobileBasePass 5 "MobileBasePass_Fog_DirectionalInscatteringColor"
OpMemberName %type_MobileBasePass 6 "MobileBasePass_Fog_SinCosInscatteringColorCubemapRotation"
OpMemberName %type_MobileBasePass 7 "PrePadding_MobileBasePass_Fog_104"
OpMemberName %type_MobileBasePass 8 "PrePadding_MobileBasePass_Fog_108"
OpMemberName %type_MobileBasePass 9 "MobileBasePass_Fog_FogInscatteringTextureParameters"
OpMemberName %type_MobileBasePass 10 "MobileBasePass_Fog_ApplyVolumetricFog"
OpMemberName %type_MobileBasePass 11 "PrePadding_MobileBasePass_PlanarReflection_128"
OpMemberName %type_MobileBasePass 12 "PrePadding_MobileBasePass_PlanarReflection_132"
OpMemberName %type_MobileBasePass 13 "PrePadding_MobileBasePass_PlanarReflection_136"
OpMemberName %type_MobileBasePass 14 "PrePadding_MobileBasePass_PlanarReflection_140"
OpMemberName %type_MobileBasePass 15 "PrePadding_MobileBasePass_PlanarReflection_144"
OpMemberName %type_MobileBasePass 16 "PrePadding_MobileBasePass_PlanarReflection_148"
OpMemberName %type_MobileBasePass 17 "PrePadding_MobileBasePass_PlanarReflection_152"
OpMemberName %type_MobileBasePass 18 "PrePadding_MobileBasePass_PlanarReflection_156"
OpMemberName %type_MobileBasePass 19 "MobileBasePass_PlanarReflection_ReflectionPlane"
OpMemberName %type_MobileBasePass 20 "MobileBasePass_PlanarReflection_PlanarReflectionOrigin"
OpMemberName %type_MobileBasePass 21 "MobileBasePass_PlanarReflection_PlanarReflectionXAxis"
OpMemberName %type_MobileBasePass 22 "MobileBasePass_PlanarReflection_PlanarReflectionYAxis"
OpMemberName %type_MobileBasePass 23 "MobileBasePass_PlanarReflection_InverseTransposeMirrorMatrix"
OpMemberName %type_MobileBasePass 24 "MobileBasePass_PlanarReflection_PlanarReflectionParameters"
OpMemberName %type_MobileBasePass 25 "PrePadding_MobileBasePass_PlanarReflection_284"
OpMemberName %type_MobileBasePass 26 "MobileBasePass_PlanarReflection_PlanarReflectionParameters2"
OpMemberName %type_MobileBasePass 27 "PrePadding_MobileBasePass_PlanarReflection_296"
OpMemberName %type_MobileBasePass 28 "PrePadding_MobileBasePass_PlanarReflection_300"
OpMemberName %type_MobileBasePass 29 "MobileBasePass_PlanarReflection_ProjectionWithExtraFOV"
OpMemberName %type_MobileBasePass 30 "MobileBasePass_PlanarReflection_PlanarReflectionScreenScaleBias"
OpMemberName %type_MobileBasePass 31 "MobileBasePass_PlanarReflection_PlanarReflectionScreenBound"
OpMemberName %type_MobileBasePass 32 "MobileBasePass_PlanarReflection_bIsStereo"
OpName %MobileBasePass "MobileBasePass"
OpName %type_Primitive "type.Primitive"
OpMemberName %type_Primitive 0 "Primitive_LocalToWorld"
OpMemberName %type_Primitive 1 "Primitive_InvNonUniformScaleAndDeterminantSign"
OpMemberName %type_Primitive 2 "Primitive_ObjectWorldPositionAndRadius"
OpMemberName %type_Primitive 3 "Primitive_WorldToLocal"
OpMemberName %type_Primitive 4 "Primitive_PreviousLocalToWorld"
OpMemberName %type_Primitive 5 "Primitive_PreviousWorldToLocal"
OpMemberName %type_Primitive 6 "Primitive_ActorWorldPosition"
OpMemberName %type_Primitive 7 "Primitive_UseSingleSampleShadowFromStationaryLights"
OpMemberName %type_Primitive 8 "Primitive_ObjectBounds"
OpMemberName %type_Primitive 9 "Primitive_LpvBiasMultiplier"
OpMemberName %type_Primitive 10 "Primitive_DecalReceiverMask"
OpMemberName %type_Primitive 11 "Primitive_PerObjectGBufferData"
OpMemberName %type_Primitive 12 "Primitive_UseVolumetricLightmapShadowFromStationaryLights"
OpMemberName %type_Primitive 13 "Primitive_UseEditorDepthTest"
OpMemberName %type_Primitive 14 "Primitive_ObjectOrientation"
OpMemberName %type_Primitive 15 "Primitive_NonUniformScale"
OpMemberName %type_Primitive 16 "Primitive_LocalObjectBoundsMin"
OpMemberName %type_Primitive 17 "PrePadding_Primitive_380"
OpMemberName %type_Primitive 18 "Primitive_LocalObjectBoundsMax"
OpMemberName %type_Primitive 19 "Primitive_LightingChannelMask"
OpMemberName %type_Primitive 20 "Primitive_LightmapDataIndex"
OpMemberName %type_Primitive 21 "Primitive_SingleCaptureIndex"
OpName %Primitive "Primitive"
OpName %type_LandscapeParameters "type.LandscapeParameters"
OpMemberName %type_LandscapeParameters 0 "LandscapeParameters_HeightmapUVScaleBias"
OpMemberName %type_LandscapeParameters 1 "LandscapeParameters_WeightmapUVScaleBias"
OpMemberName %type_LandscapeParameters 2 "LandscapeParameters_LandscapeLightmapScaleBias"
OpMemberName %type_LandscapeParameters 3 "LandscapeParameters_SubsectionSizeVertsLayerUVPan"
OpMemberName %type_LandscapeParameters 4 "LandscapeParameters_SubsectionOffsetParams"
OpMemberName %type_LandscapeParameters 5 "LandscapeParameters_LightmapSubsectionOffsetParams"
OpMemberName %type_LandscapeParameters 6 "LandscapeParameters_LocalToWorldNoScaling"
OpName %LandscapeParameters "LandscapeParameters"
OpName %type__Globals "type.$Globals"
OpMemberName %type__Globals 0 "LodBias"
OpMemberName %type__Globals 1 "LodValues"
OpMemberName %type__Globals 2 "SectionLods"
OpMemberName %type__Globals 3 "NeighborSectionLod"
OpName %_Globals "$Globals"
OpName %in_var_ATTRIBUTE0 "in.var.ATTRIBUTE0"
OpName %in_var_ATTRIBUTE1 "in.var.ATTRIBUTE1"
OpName %out_var_TEXCOORD0 "out.var.TEXCOORD0"
OpName %out_var_TEXCOORD1 "out.var.TEXCOORD1"
OpName %out_var_TEXCOORD2 "out.var.TEXCOORD2"
OpName %out_var_TEXCOORD3 "out.var.TEXCOORD3"
OpName %out_var_TEXCOORD8 "out.var.TEXCOORD8"
OpName %Main "Main"
OpDecorateString %in_var_ATTRIBUTE0 UserSemantic "ATTRIBUTE0"
OpDecorateString %in_var_ATTRIBUTE1 UserSemantic "ATTRIBUTE1"
OpDecorateString %out_var_TEXCOORD0 UserSemantic "TEXCOORD0"
OpDecorateString %out_var_TEXCOORD1 UserSemantic "TEXCOORD1"
OpDecorateString %out_var_TEXCOORD2 UserSemantic "TEXCOORD2"
OpDecorateString %out_var_TEXCOORD3 UserSemantic "TEXCOORD3"
OpDecorateString %out_var_TEXCOORD8 UserSemantic "TEXCOORD8"
OpDecorate %gl_Position BuiltIn Position
OpDecorateString %gl_Position UserSemantic "SV_POSITION"
OpDecorate %in_var_ATTRIBUTE0 Location 0
OpDecorate %in_var_ATTRIBUTE1 Location 1
OpDecorate %out_var_TEXCOORD0 Location 0
OpDecorate %out_var_TEXCOORD1 Location 1
OpDecorate %out_var_TEXCOORD2 Location 2
OpDecorate %out_var_TEXCOORD3 Location 3
OpDecorate %out_var_TEXCOORD8 Location 4
OpDecorate %View DescriptorSet 0
OpDecorate %View Binding 0
OpDecorate %MobileBasePass DescriptorSet 0
OpDecorate %MobileBasePass Binding 1
OpDecorate %Primitive DescriptorSet 0
OpDecorate %Primitive Binding 2
OpDecorate %LandscapeParameters DescriptorSet 0
OpDecorate %LandscapeParameters Binding 3
OpDecorate %_Globals DescriptorSet 0
OpDecorate %_Globals Binding 4
OpDecorate %_arr_v4float_uint_2_0 ArrayStride 16
OpDecorate %_arr_v4float_uint_7 ArrayStride 16
OpDecorate %_arr_v4float_uint_4 ArrayStride 16
OpMemberDecorate %type_View 0 Offset 0
OpMemberDecorate %type_View 0 MatrixStride 16
OpMemberDecorate %type_View 0 ColMajor
OpMemberDecorate %type_View 1 Offset 64
OpMemberDecorate %type_View 1 MatrixStride 16
OpMemberDecorate %type_View 1 ColMajor
OpMemberDecorate %type_View 2 Offset 128
OpMemberDecorate %type_View 2 MatrixStride 16
OpMemberDecorate %type_View 2 ColMajor
OpMemberDecorate %type_View 3 Offset 192
OpMemberDecorate %type_View 3 MatrixStride 16
OpMemberDecorate %type_View 3 ColMajor
OpMemberDecorate %type_View 4 Offset 256
OpMemberDecorate %type_View 4 MatrixStride 16
OpMemberDecorate %type_View 4 ColMajor
OpMemberDecorate %type_View 5 Offset 320
OpMemberDecorate %type_View 5 MatrixStride 16
OpMemberDecorate %type_View 5 ColMajor
OpMemberDecorate %type_View 6 Offset 384
OpMemberDecorate %type_View 6 MatrixStride 16
OpMemberDecorate %type_View 6 ColMajor
OpMemberDecorate %type_View 7 Offset 448
OpMemberDecorate %type_View 7 MatrixStride 16
OpMemberDecorate %type_View 7 ColMajor
OpMemberDecorate %type_View 8 Offset 512
OpMemberDecorate %type_View 8 MatrixStride 16
OpMemberDecorate %type_View 8 ColMajor
OpMemberDecorate %type_View 9 Offset 576
OpMemberDecorate %type_View 9 MatrixStride 16
OpMemberDecorate %type_View 9 ColMajor
OpMemberDecorate %type_View 10 Offset 640
OpMemberDecorate %type_View 10 MatrixStride 16
OpMemberDecorate %type_View 10 ColMajor
OpMemberDecorate %type_View 11 Offset 704
OpMemberDecorate %type_View 11 MatrixStride 16
OpMemberDecorate %type_View 11 ColMajor
OpMemberDecorate %type_View 12 Offset 768
OpMemberDecorate %type_View 12 MatrixStride 16
OpMemberDecorate %type_View 12 ColMajor
OpMemberDecorate %type_View 13 Offset 832
OpMemberDecorate %type_View 14 Offset 844
OpMemberDecorate %type_View 15 Offset 848
OpMemberDecorate %type_View 16 Offset 860
OpMemberDecorate %type_View 17 Offset 864
OpMemberDecorate %type_View 18 Offset 876
OpMemberDecorate %type_View 19 Offset 880
OpMemberDecorate %type_View 20 Offset 892
OpMemberDecorate %type_View 21 Offset 896
OpMemberDecorate %type_View 22 Offset 908
OpMemberDecorate %type_View 23 Offset 912
OpMemberDecorate %type_View 24 Offset 928
OpMemberDecorate %type_View 25 Offset 944
OpMemberDecorate %type_View 26 Offset 956
OpMemberDecorate %type_View 27 Offset 960
OpMemberDecorate %type_View 28 Offset 972
OpMemberDecorate %type_View 29 Offset 976
OpMemberDecorate %type_View 30 Offset 988
OpMemberDecorate %type_View 31 Offset 992
OpMemberDecorate %type_View 32 Offset 1004
OpMemberDecorate %type_View 33 Offset 1008
OpMemberDecorate %type_View 33 MatrixStride 16
OpMemberDecorate %type_View 33 ColMajor
OpMemberDecorate %type_View 34 Offset 1072
OpMemberDecorate %type_View 34 MatrixStride 16
OpMemberDecorate %type_View 34 ColMajor
OpMemberDecorate %type_View 35 Offset 1136
OpMemberDecorate %type_View 35 MatrixStride 16
OpMemberDecorate %type_View 35 ColMajor
OpMemberDecorate %type_View 36 Offset 1200
OpMemberDecorate %type_View 36 MatrixStride 16
OpMemberDecorate %type_View 36 ColMajor
OpMemberDecorate %type_View 37 Offset 1264
OpMemberDecorate %type_View 37 MatrixStride 16
OpMemberDecorate %type_View 37 ColMajor
OpMemberDecorate %type_View 38 Offset 1328
OpMemberDecorate %type_View 38 MatrixStride 16
OpMemberDecorate %type_View 38 ColMajor
OpMemberDecorate %type_View 39 Offset 1392
OpMemberDecorate %type_View 39 MatrixStride 16
OpMemberDecorate %type_View 39 ColMajor
OpMemberDecorate %type_View 40 Offset 1456
OpMemberDecorate %type_View 40 MatrixStride 16
OpMemberDecorate %type_View 40 ColMajor
OpMemberDecorate %type_View 41 Offset 1520
OpMemberDecorate %type_View 41 MatrixStride 16
OpMemberDecorate %type_View 41 ColMajor
OpMemberDecorate %type_View 42 Offset 1584
OpMemberDecorate %type_View 42 MatrixStride 16
OpMemberDecorate %type_View 42 ColMajor
OpMemberDecorate %type_View 43 Offset 1648
OpMemberDecorate %type_View 44 Offset 1660
OpMemberDecorate %type_View 45 Offset 1664
OpMemberDecorate %type_View 46 Offset 1676
OpMemberDecorate %type_View 47 Offset 1680
OpMemberDecorate %type_View 48 Offset 1692
OpMemberDecorate %type_View 49 Offset 1696
OpMemberDecorate %type_View 49 MatrixStride 16
OpMemberDecorate %type_View 49 ColMajor
OpMemberDecorate %type_View 50 Offset 1760
OpMemberDecorate %type_View 50 MatrixStride 16
OpMemberDecorate %type_View 50 ColMajor
OpMemberDecorate %type_View 51 Offset 1824
OpMemberDecorate %type_View 51 MatrixStride 16
OpMemberDecorate %type_View 51 ColMajor
OpMemberDecorate %type_View 52 Offset 1888
OpMemberDecorate %type_View 53 Offset 1904
OpMemberDecorate %type_View 54 Offset 1920
OpMemberDecorate %type_View 55 Offset 1928
OpMemberDecorate %type_View 56 Offset 1936
OpMemberDecorate %type_View 57 Offset 1952
OpMemberDecorate %type_View 58 Offset 1968
OpMemberDecorate %type_View 59 Offset 1984
OpMemberDecorate %type_View 60 Offset 2000
OpMemberDecorate %type_View 61 Offset 2004
OpMemberDecorate %type_View 62 Offset 2008
OpMemberDecorate %type_View 63 Offset 2012
OpMemberDecorate %type_View 64 Offset 2016
OpMemberDecorate %type_View 65 Offset 2032
OpMemberDecorate %type_View 66 Offset 2048
OpMemberDecorate %type_View 67 Offset 2064
OpMemberDecorate %type_View 68 Offset 2072
OpMemberDecorate %type_View 69 Offset 2076
OpMemberDecorate %type_View 70 Offset 2080
OpMemberDecorate %type_View 71 Offset 2084
OpMemberDecorate %type_View 72 Offset 2088
OpMemberDecorate %type_View 73 Offset 2092
OpMemberDecorate %type_View 74 Offset 2096
OpMemberDecorate %type_View 75 Offset 2108
OpMemberDecorate %type_View 76 Offset 2112
OpMemberDecorate %type_View 77 Offset 2116
OpMemberDecorate %type_View 78 Offset 2120
OpMemberDecorate %type_View 79 Offset 2124
OpMemberDecorate %type_View 80 Offset 2128
OpMemberDecorate %type_View 81 Offset 2132
OpMemberDecorate %type_View 82 Offset 2136
OpMemberDecorate %type_View 83 Offset 2140
OpMemberDecorate %type_View 84 Offset 2144
OpMemberDecorate %type_View 85 Offset 2148
OpMemberDecorate %type_View 86 Offset 2152
OpMemberDecorate %type_View 87 Offset 2156
OpMemberDecorate %type_View 88 Offset 2160
OpMemberDecorate %type_View 89 Offset 2164
OpMemberDecorate %type_View 90 Offset 2168
OpMemberDecorate %type_View 91 Offset 2172
OpMemberDecorate %type_View 92 Offset 2176
OpMemberDecorate %type_View 93 Offset 2192
OpMemberDecorate %type_View 94 Offset 2204
OpMemberDecorate %type_View 95 Offset 2208
OpMemberDecorate %type_View 96 Offset 2240
OpMemberDecorate %type_View 97 Offset 2272
OpMemberDecorate %type_View 98 Offset 2288
OpMemberDecorate %type_View 99 Offset 2304
OpMemberDecorate %type_View 100 Offset 2308
OpMemberDecorate %type_View 101 Offset 2312
OpMemberDecorate %type_View 102 Offset 2316
OpMemberDecorate %type_View 103 Offset 2320
OpMemberDecorate %type_View 104 Offset 2324
OpMemberDecorate %type_View 105 Offset 2328
OpMemberDecorate %type_View 106 Offset 2332
OpMemberDecorate %type_View 107 Offset 2336
OpMemberDecorate %type_View 108 Offset 2340
OpMemberDecorate %type_View 109 Offset 2344
OpMemberDecorate %type_View 110 Offset 2348
OpMemberDecorate %type_View 111 Offset 2352
OpMemberDecorate %type_View 112 Offset 2364
OpMemberDecorate %type_View 113 Offset 2368
OpMemberDecorate %type_View 114 Offset 2380
OpMemberDecorate %type_View 115 Offset 2384
OpMemberDecorate %type_View 116 Offset 2388
OpMemberDecorate %type_View 117 Offset 2392
OpMemberDecorate %type_View 118 Offset 2396
OpMemberDecorate %type_View 119 Offset 2400
OpMemberDecorate %type_View 120 Offset 2404
OpMemberDecorate %type_View 121 Offset 2408
OpMemberDecorate %type_View 122 Offset 2412
OpMemberDecorate %type_View 123 Offset 2416
OpMemberDecorate %type_View 124 Offset 2420
OpMemberDecorate %type_View 125 Offset 2424
OpMemberDecorate %type_View 126 Offset 2428
OpMemberDecorate %type_View 127 Offset 2432
OpMemberDecorate %type_View 128 Offset 2448
OpMemberDecorate %type_View 129 Offset 2460
OpMemberDecorate %type_View 130 Offset 2464
OpMemberDecorate %type_View 131 Offset 2480
OpMemberDecorate %type_View 132 Offset 2484
OpMemberDecorate %type_View 133 Offset 2488
OpMemberDecorate %type_View 134 Offset 2492
OpMemberDecorate %type_View 135 Offset 2496
OpMemberDecorate %type_View 136 Offset 2512
OpMemberDecorate %type_View 137 Offset 2624
OpMemberDecorate %type_View 138 Offset 2628
OpMemberDecorate %type_View 139 Offset 2632
OpMemberDecorate %type_View 140 Offset 2636
OpMemberDecorate %type_View 141 Offset 2640
OpMemberDecorate %type_View 142 Offset 2644
OpMemberDecorate %type_View 143 Offset 2648
OpMemberDecorate %type_View 144 Offset 2652
OpMemberDecorate %type_View 145 Offset 2656
OpMemberDecorate %type_View 146 Offset 2668
OpMemberDecorate %type_View 147 Offset 2672
OpMemberDecorate %type_View 148 Offset 2736
OpMemberDecorate %type_View 149 Offset 2800
OpMemberDecorate %type_View 150 Offset 2804
OpMemberDecorate %type_View 151 Offset 2808
OpMemberDecorate %type_View 152 Offset 2812
OpMemberDecorate %type_View 153 Offset 2816
OpMemberDecorate %type_View 154 Offset 2828
OpMemberDecorate %type_View 155 Offset 2832
OpMemberDecorate %type_View 156 Offset 2844
OpMemberDecorate %type_View 157 Offset 2848
OpMemberDecorate %type_View 158 Offset 2856
OpMemberDecorate %type_View 159 Offset 2860
OpMemberDecorate %type_View 160 Offset 2864
OpMemberDecorate %type_View 161 Offset 2876
OpMemberDecorate %type_View 162 Offset 2880
OpMemberDecorate %type_View 163 Offset 2892
OpMemberDecorate %type_View 164 Offset 2896
OpMemberDecorate %type_View 165 Offset 2908
OpMemberDecorate %type_View 166 Offset 2912
OpMemberDecorate %type_View 167 Offset 2924
OpMemberDecorate %type_View 168 Offset 2928
OpMemberDecorate %type_View 169 Offset 2932
OpDecorate %type_View Block
OpDecorate %_arr_mat4v4float_uint_2 ArrayStride 64
OpMemberDecorate %type_MobileBasePass 0 Offset 0
OpMemberDecorate %type_MobileBasePass 1 Offset 16
OpMemberDecorate %type_MobileBasePass 2 Offset 32
OpMemberDecorate %type_MobileBasePass 3 Offset 48
OpMemberDecorate %type_MobileBasePass 4 Offset 64
OpMemberDecorate %type_MobileBasePass 5 Offset 80
OpMemberDecorate %type_MobileBasePass 6 Offset 96
OpMemberDecorate %type_MobileBasePass 7 Offset 104
OpMemberDecorate %type_MobileBasePass 8 Offset 108
OpMemberDecorate %type_MobileBasePass 9 Offset 112
OpMemberDecorate %type_MobileBasePass 10 Offset 124
OpMemberDecorate %type_MobileBasePass 11 Offset 128
OpMemberDecorate %type_MobileBasePass 12 Offset 132
OpMemberDecorate %type_MobileBasePass 13 Offset 136
OpMemberDecorate %type_MobileBasePass 14 Offset 140
OpMemberDecorate %type_MobileBasePass 15 Offset 144
OpMemberDecorate %type_MobileBasePass 16 Offset 148
OpMemberDecorate %type_MobileBasePass 17 Offset 152
OpMemberDecorate %type_MobileBasePass 18 Offset 156
OpMemberDecorate %type_MobileBasePass 19 Offset 160
OpMemberDecorate %type_MobileBasePass 20 Offset 176
OpMemberDecorate %type_MobileBasePass 21 Offset 192
OpMemberDecorate %type_MobileBasePass 22 Offset 208
OpMemberDecorate %type_MobileBasePass 23 Offset 224
OpMemberDecorate %type_MobileBasePass 23 MatrixStride 16
OpMemberDecorate %type_MobileBasePass 23 ColMajor
OpMemberDecorate %type_MobileBasePass 24 Offset 272
OpMemberDecorate %type_MobileBasePass 25 Offset 284
OpMemberDecorate %type_MobileBasePass 26 Offset 288
OpMemberDecorate %type_MobileBasePass 27 Offset 296
OpMemberDecorate %type_MobileBasePass 28 Offset 300
OpMemberDecorate %type_MobileBasePass 29 Offset 304
OpMemberDecorate %type_MobileBasePass 29 MatrixStride 16
OpMemberDecorate %type_MobileBasePass 29 ColMajor
OpMemberDecorate %type_MobileBasePass 30 Offset 432
OpMemberDecorate %type_MobileBasePass 31 Offset 464
OpMemberDecorate %type_MobileBasePass 32 Offset 472
OpDecorate %type_MobileBasePass Block
OpMemberDecorate %type_Primitive 0 Offset 0
OpMemberDecorate %type_Primitive 0 MatrixStride 16
OpMemberDecorate %type_Primitive 0 ColMajor
OpMemberDecorate %type_Primitive 1 Offset 64
OpMemberDecorate %type_Primitive 2 Offset 80
OpMemberDecorate %type_Primitive 3 Offset 96
OpMemberDecorate %type_Primitive 3 MatrixStride 16
OpMemberDecorate %type_Primitive 3 ColMajor
OpMemberDecorate %type_Primitive 4 Offset 160
OpMemberDecorate %type_Primitive 4 MatrixStride 16
OpMemberDecorate %type_Primitive 4 ColMajor
OpMemberDecorate %type_Primitive 5 Offset 224
OpMemberDecorate %type_Primitive 5 MatrixStride 16
OpMemberDecorate %type_Primitive 5 ColMajor
OpMemberDecorate %type_Primitive 6 Offset 288
OpMemberDecorate %type_Primitive 7 Offset 300
OpMemberDecorate %type_Primitive 8 Offset 304
OpMemberDecorate %type_Primitive 9 Offset 316
OpMemberDecorate %type_Primitive 10 Offset 320
OpMemberDecorate %type_Primitive 11 Offset 324
OpMemberDecorate %type_Primitive 12 Offset 328
OpMemberDecorate %type_Primitive 13 Offset 332
OpMemberDecorate %type_Primitive 14 Offset 336
OpMemberDecorate %type_Primitive 15 Offset 352
OpMemberDecorate %type_Primitive 16 Offset 368
OpMemberDecorate %type_Primitive 17 Offset 380
OpMemberDecorate %type_Primitive 18 Offset 384
OpMemberDecorate %type_Primitive 19 Offset 396
OpMemberDecorate %type_Primitive 20 Offset 400
OpMemberDecorate %type_Primitive 21 Offset 404
OpDecorate %type_Primitive Block
OpMemberDecorate %type_LandscapeParameters 0 Offset 0
OpMemberDecorate %type_LandscapeParameters 1 Offset 16
OpMemberDecorate %type_LandscapeParameters 2 Offset 32
OpMemberDecorate %type_LandscapeParameters 3 Offset 48
OpMemberDecorate %type_LandscapeParameters 4 Offset 64
OpMemberDecorate %type_LandscapeParameters 5 Offset 80
OpMemberDecorate %type_LandscapeParameters 6 Offset 96
OpMemberDecorate %type_LandscapeParameters 6 MatrixStride 16
OpMemberDecorate %type_LandscapeParameters 6 ColMajor
OpDecorate %type_LandscapeParameters Block
OpMemberDecorate %type__Globals 0 Offset 0
OpMemberDecorate %type__Globals 1 Offset 16
OpMemberDecorate %type__Globals 2 Offset 32
OpMemberDecorate %type__Globals 3 Offset 48
OpDecorate %type__Globals Block
%float = OpTypeFloat 32
%v4float = OpTypeVector %float 4
%mat4v4float = OpTypeMatrix %v4float 4
%v3float = OpTypeVector %float 3
%v2float = OpTypeVector %float 2
%int = OpTypeInt 32 1
%uint = OpTypeInt 32 0
%uint_2 = OpConstant %uint 2
%_arr_v4float_uint_2 = OpTypeArray %v4float %uint_2
%uint_7 = OpConstant %uint 7
%uint_4 = OpConstant %uint 4
%float_0_00999999978 = OpConstant %float 0.00999999978
%int_0 = OpConstant %int 0
%int_1 = OpConstant %int 1
%float_0 = OpConstant %float 0
%40 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%int_2 = OpConstant %int 2
%int_3 = OpConstant %int 3
%float_255 = OpConstant %float 255
%44 = OpConstantComposite %v4float %float_255 %float_255 %float_255 %float_255
%float_0_5 = OpConstant %float 0.5
%46 = OpConstantComposite %v2float %float_0_5 %float_0_5
%float_2 = OpConstant %float 2
%48 = OpConstantComposite %v2float %float_2 %float_2
%float_1 = OpConstant %float 1
%uint_0 = OpConstant %uint 0
%uint_1 = OpConstant %uint 1
%float_3 = OpConstant %float 3
%float_0_25 = OpConstant %float 0.25
%uint_3 = OpConstant %uint 3
%float_4 = OpConstant %float 4
%float_0_125 = OpConstant %float 0.125
%float_5 = OpConstant %float 5
%float_0_0625 = OpConstant %float 0.0625
%float_0_03125 = OpConstant %float 0.03125
%60 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
%int_5 = OpConstant %int 5
%int_4 = OpConstant %int 4
%63 = OpConstantComposite %v3float %float_0 %float_0 %float_0
%int_25 = OpConstant %int 25
%int_27 = OpConstant %int 27
%int_31 = OpConstant %int 31
%67 = OpConstantComposite %v4float %float_2 %float_2 %float_2 %float_2
%float_32768 = OpConstant %float 32768
%_arr_v4float_uint_2_0 = OpTypeArray %v4float %uint_2
%_arr_v4float_uint_7 = OpTypeArray %v4float %uint_7
%_arr_v4float_uint_4 = OpTypeArray %v4float %uint_4
%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_0 %_arr_v4float_uint_2_0 %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
%_ptr_Uniform_type_View = OpTypePointer Uniform %type_View
%mat3v4float = OpTypeMatrix %v4float 3
%_arr_mat4v4float_uint_2 = OpTypeArray %mat4v4float %uint_2
%type_MobileBasePass = OpTypeStruct %v4float %v4float %v4float %v4float %v4float %v4float %v2float %float %float %v3float %float %float %float %float %float %float %float %float %float %v4float %v4float %v4float %v4float %mat3v4float %v3float %float %v2float %float %float %_arr_mat4v4float_uint_2 %_arr_v4float_uint_2_0 %v2float %uint
%_ptr_Uniform_type_MobileBasePass = OpTypePointer Uniform %type_MobileBasePass
%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
%_ptr_Uniform_type_Primitive = OpTypePointer Uniform %type_Primitive
%type_LandscapeParameters = OpTypeStruct %v4float %v4float %v4float %v4float %v4float %v4float %mat4v4float
%_ptr_Uniform_type_LandscapeParameters = OpTypePointer Uniform %type_LandscapeParameters
%type__Globals = OpTypeStruct %v4float %v4float %v4float %_arr_v4float_uint_4
%_ptr_Uniform_type__Globals = OpTypePointer Uniform %type__Globals
%_ptr_Input_v4float = OpTypePointer Input %v4float
%_ptr_Input__arr_v4float_uint_2 = OpTypePointer Input %_arr_v4float_uint_2
%_ptr_Output_v2float = OpTypePointer Output %v2float
%_ptr_Output_v4float = OpTypePointer Output %v4float
%void = OpTypeVoid
%80 = OpTypeFunction %void
%_arr_v4float_uint_1 = OpTypeArray %v4float %uint_1
%_ptr_Function__arr_v4float_uint_1 = OpTypePointer Function %_arr_v4float_uint_1
%_ptr_Function_v4float = OpTypePointer Function %v4float
%bool = OpTypeBool
%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
%_ptr_Uniform_float = OpTypePointer Uniform %float
%v3bool = OpTypeVector %bool 3
%_ptr_Uniform_mat4v4float = OpTypePointer Uniform %mat4v4float
%_ptr_Uniform_v3float = OpTypePointer Uniform %v3float
%View = OpVariable %_ptr_Uniform_type_View Uniform
%MobileBasePass = OpVariable %_ptr_Uniform_type_MobileBasePass Uniform
%Primitive = OpVariable %_ptr_Uniform_type_Primitive Uniform
%LandscapeParameters = OpVariable %_ptr_Uniform_type_LandscapeParameters Uniform
%_Globals = OpVariable %_ptr_Uniform_type__Globals Uniform
%in_var_ATTRIBUTE0 = OpVariable %_ptr_Input_v4float Input
%in_var_ATTRIBUTE1 = OpVariable %_ptr_Input__arr_v4float_uint_2 Input
%out_var_TEXCOORD0 = OpVariable %_ptr_Output_v2float Output
%out_var_TEXCOORD1 = OpVariable %_ptr_Output_v2float Output
%out_var_TEXCOORD2 = OpVariable %_ptr_Output_v4float Output
%out_var_TEXCOORD3 = OpVariable %_ptr_Output_v4float Output
%out_var_TEXCOORD8 = OpVariable %_ptr_Output_v4float Output
%gl_Position = OpVariable %_ptr_Output_v4float Output
%float_0_0078125 = OpConstant %float 0.0078125
%float_n127 = OpConstant %float -127
%92 = OpConstantNull %v4float
%float_0_00392156886 = OpConstant %float 0.00392156886
%94 = OpConstantComposite %v2float %float_0_00392156886 %float_0_00392156886
%float_65280 = OpConstant %float 65280
%Main = OpFunction %void None %80
%96 = OpLabel
%97 = OpVariable %_ptr_Function__arr_v4float_uint_1 Function
%98 = OpLoad %v4float %in_var_ATTRIBUTE0
%99 = OpLoad %_arr_v4float_uint_2 %in_var_ATTRIBUTE1
%100 = OpAccessChain %_ptr_Uniform_mat4v4float %View %int_0
%101 = OpLoad %mat4v4float %100
%102 = OpAccessChain %_ptr_Uniform_v3float %View %int_27
%103 = OpLoad %v3float %102
%104 = OpAccessChain %_ptr_Uniform_v3float %View %int_31
%105 = OpLoad %v3float %104
OpBranch %106
%106 = OpLabel
%107 = OpPhi %int %int_0 %96 %108 %109
%110 = OpSLessThan %bool %107 %int_1
OpLoopMerge %111 %109 Unroll
OpBranchConditional %110 %109 %111
%109 = OpLabel
%112 = OpAccessChain %_ptr_Function_v4float %97 %107
OpStore %112 %40
%108 = OpIAdd %int %107 %int_1
OpBranch %106
%111 = OpLabel
%113 = OpCompositeExtract %v4float %99 0
%114 = OpCompositeExtract %v4float %99 1
%115 = OpFMul %v4float %98 %44
%116 = OpVectorShuffle %v2float %115 %115 2 3
%117 = OpFMul %v2float %116 %46
%118 = OpExtInst %v2float %1 Fract %117
%119 = OpFMul %v2float %118 %48
%120 = OpFSub %v2float %116 %119
%121 = OpFMul %v2float %120 %94
%122 = OpVectorShuffle %v2float %115 %92 0 1
%123 = OpAccessChain %_ptr_Uniform_float %_Globals %int_1 %int_3
%124 = OpLoad %float %123
%125 = OpCompositeConstruct %v2float %124 %124
%126 = OpFMul %v2float %122 %125
%127 = OpCompositeExtract %float %126 1
%128 = OpCompositeExtract %float %126 0
%129 = OpFSub %float %float_1 %128
%130 = OpFSub %float %float_1 %127
%131 = OpCompositeConstruct %v4float %127 %128 %129 %130
%132 = OpFMul %v4float %131 %67
%133 = OpCompositeExtract %float %119 1
%134 = OpFOrdGreaterThan %bool %133 %float_0_5
OpSelectionMerge %135 None
OpBranchConditional %134 %136 %137
%136 = OpLabel
%138 = OpCompositeExtract %float %119 0
%139 = OpFOrdGreaterThan %bool %138 %float_0_5
OpSelectionMerge %140 None
OpBranchConditional %139 %141 %142
%141 = OpLabel
%143 = OpAccessChain %_ptr_Uniform_float %_Globals %int_2 %int_3
%144 = OpLoad %float %143
%145 = OpCompositeConstruct %v4float %144 %144 %144 %144
%146 = OpFMul %v4float %132 %145
%147 = OpFSub %v4float %60 %132
%148 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_3 %int_3
%149 = OpLoad %v4float %148
%150 = OpFMul %v4float %147 %149
%151 = OpFAdd %v4float %146 %150
OpBranch %140
%142 = OpLabel
%152 = OpAccessChain %_ptr_Uniform_float %_Globals %int_2 %int_2
%153 = OpLoad %float %152
%154 = OpCompositeConstruct %v4float %153 %153 %153 %153
%155 = OpFMul %v4float %132 %154
%156 = OpFSub %v4float %60 %132
%157 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_3 %int_2
%158 = OpLoad %v4float %157
%159 = OpFMul %v4float %156 %158
%160 = OpFAdd %v4float %155 %159
OpBranch %140
%140 = OpLabel
%161 = OpPhi %v4float %151 %141 %160 %142
OpBranch %135
%137 = OpLabel
%162 = OpCompositeExtract %float %119 0
%163 = OpFOrdGreaterThan %bool %162 %float_0_5
OpSelectionMerge %164 None
OpBranchConditional %163 %165 %166
%165 = OpLabel
%167 = OpAccessChain %_ptr_Uniform_float %_Globals %int_2 %int_1
%168 = OpLoad %float %167
%169 = OpCompositeConstruct %v4float %168 %168 %168 %168
%170 = OpFMul %v4float %132 %169
%171 = OpFSub %v4float %60 %132
%172 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_3 %int_1
%173 = OpLoad %v4float %172
%174 = OpFMul %v4float %171 %173
%175 = OpFAdd %v4float %170 %174
OpBranch %164
%166 = OpLabel
%176 = OpAccessChain %_ptr_Uniform_float %_Globals %int_2 %int_0
%177 = OpLoad %float %176
%178 = OpCompositeConstruct %v4float %177 %177 %177 %177
%179 = OpFMul %v4float %132 %178
%180 = OpFSub %v4float %60 %132
%181 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_3 %int_0
%182 = OpLoad %v4float %181
%183 = OpFMul %v4float %180 %182
%184 = OpFAdd %v4float %179 %183
OpBranch %164
%164 = OpLabel
%185 = OpPhi %v4float %175 %165 %184 %166
OpBranch %135
%135 = OpLabel
%186 = OpPhi %v4float %161 %140 %185 %164
%187 = OpFAdd %float %128 %127
%188 = OpFOrdGreaterThan %bool %187 %float_1
OpSelectionMerge %189 None
OpBranchConditional %188 %190 %191
%190 = OpLabel
%192 = OpFOrdLessThan %bool %128 %127
OpSelectionMerge %193 None
OpBranchConditional %192 %194 %195
%194 = OpLabel
%196 = OpCompositeExtract %float %186 3
OpBranch %193
%195 = OpLabel
%197 = OpCompositeExtract %float %186 2
OpBranch %193
%193 = OpLabel
%198 = OpPhi %float %196 %194 %197 %195
OpBranch %189
%191 = OpLabel
%199 = OpFOrdLessThan %bool %128 %127
OpSelectionMerge %200 None
OpBranchConditional %199 %201 %202
%201 = OpLabel
%203 = OpCompositeExtract %float %186 1
OpBranch %200
%202 = OpLabel
%204 = OpCompositeExtract %float %186 0
OpBranch %200
%200 = OpLabel
%205 = OpPhi %float %203 %201 %204 %202
OpBranch %189
%189 = OpLabel
%206 = OpPhi %float %198 %193 %205 %200
%207 = OpExtInst %float %1 Floor %206
%208 = OpFSub %float %206 %207
%209 = OpFOrdLessThan %bool %207 %float_1
%210 = OpCompositeExtract %float %114 0
%211 = OpCompositeExtract %float %114 1
%212 = OpCompositeConstruct %v3float %float_1 %210 %211
%213 = OpFOrdLessThan %bool %207 %float_2
%214 = OpCompositeExtract %float %114 2
%215 = OpCompositeConstruct %v3float %float_0_5 %211 %214
%216 = OpFOrdLessThan %bool %207 %float_3
%217 = OpCompositeExtract %float %114 3
%218 = OpCompositeConstruct %v3float %float_0_25 %214 %217
%219 = OpFOrdLessThan %bool %207 %float_4
%220 = OpCompositeExtract %float %121 0
%221 = OpCompositeConstruct %v3float %float_0_125 %217 %220
%222 = OpFOrdLessThan %bool %207 %float_5
%223 = OpCompositeExtract %float %121 1
%224 = OpCompositeConstruct %v3float %float_0_0625 %220 %223
%225 = OpCompositeConstruct %v3float %float_0_03125 %223 %223
%226 = OpCompositeConstruct %v3bool %222 %222 %222
%227 = OpSelect %v3float %226 %224 %225
%228 = OpCompositeConstruct %v3bool %219 %219 %219
%229 = OpSelect %v3float %228 %221 %227
%230 = OpCompositeConstruct %v3bool %216 %216 %216
%231 = OpSelect %v3float %230 %218 %229
%232 = OpCompositeConstruct %v3bool %213 %213 %213
%233 = OpSelect %v3float %232 %215 %231
%234 = OpCompositeConstruct %v3bool %209 %209 %209
%235 = OpSelect %v3float %234 %212 %233
%236 = OpCompositeExtract %float %235 0
%237 = OpCompositeExtract %float %235 1
%238 = OpCompositeExtract %float %235 2
%239 = OpCompositeExtract %float %113 0
%240 = OpFMul %float %239 %float_65280
%241 = OpCompositeExtract %float %113 1
%242 = OpFMul %float %241 %float_255
%243 = OpFAdd %float %240 %242
%244 = OpFSub %float %243 %float_32768
%245 = OpFMul %float %244 %float_0_0078125
%246 = OpCompositeExtract %float %113 2
%247 = OpFMul %float %246 %float_65280
%248 = OpCompositeExtract %float %113 3
%249 = OpFMul %float %248 %float_255
%250 = OpFAdd %float %247 %249
%251 = OpFSub %float %250 %float_32768
%252 = OpFMul %float %251 %float_0_0078125
%253 = OpExtInst %float %1 FMix %245 %252 %237
%254 = OpExtInst %float %1 FMix %245 %252 %238
%255 = OpCompositeConstruct %v2float %236 %236
%256 = OpFMul %v2float %122 %255
%257 = OpExtInst %v2float %1 Floor %256
%258 = OpAccessChain %_ptr_Uniform_v4float %LandscapeParameters %int_3
%259 = OpAccessChain %_ptr_Uniform_float %LandscapeParameters %int_3 %int_0
%260 = OpLoad %float %259
%261 = OpFMul %float %260 %236
%262 = OpFSub %float %261 %float_1
%263 = OpFMul %float %260 %float_0_5
%264 = OpFMul %float %263 %236
%265 = OpExtInst %float %1 FMax %264 %float_2
%266 = OpFSub %float %265 %float_1
%267 = OpCompositeConstruct %v2float %262 %266
%268 = OpAccessChain %_ptr_Uniform_float %LandscapeParameters %int_3 %int_1
%269 = OpLoad %float %268
%270 = OpCompositeConstruct %v2float %269 %269
%271 = OpFMul %v2float %267 %270
%272 = OpCompositeExtract %float %271 0
%273 = OpCompositeConstruct %v2float %272 %272
%274 = OpFDiv %v2float %257 %273
%275 = OpFMul %v2float %257 %46
%276 = OpExtInst %v2float %1 Floor %275
%277 = OpCompositeExtract %float %271 1
%278 = OpCompositeConstruct %v2float %277 %277
%279 = OpFDiv %v2float %276 %278
%280 = OpCompositeExtract %float %274 0
%281 = OpCompositeExtract %float %274 1
%282 = OpCompositeConstruct %v3float %280 %281 %253
%283 = OpCompositeExtract %float %279 0
%284 = OpCompositeExtract %float %279 1
%285 = OpCompositeConstruct %v3float %283 %284 %254
%286 = OpCompositeConstruct %v3float %208 %208 %208
%287 = OpExtInst %v3float %1 FMix %282 %285 %286
%288 = OpVectorShuffle %v2float %119 %92 0 1
%289 = OpAccessChain %_ptr_Uniform_v4float %LandscapeParameters %int_4
%290 = OpLoad %v4float %289
%291 = OpVectorShuffle %v2float %290 %290 3 3
%292 = OpFMul %v2float %288 %291
%293 = OpCompositeExtract %float %292 0
%294 = OpCompositeExtract %float %292 1
%295 = OpCompositeConstruct %v3float %293 %294 %float_0
%296 = OpFAdd %v3float %287 %295
%297 = OpAccessChain %_ptr_Uniform_v4float %Primitive %int_0 %uint_0
%298 = OpLoad %v4float %297
%299 = OpVectorShuffle %v3float %298 %298 0 1 2
%300 = OpVectorShuffle %v3float %296 %296 0 0 0
%301 = OpFMul %v3float %299 %300
%302 = OpAccessChain %_ptr_Uniform_v4float %Primitive %int_0 %uint_1
%303 = OpLoad %v4float %302
%304 = OpVectorShuffle %v3float %303 %303 0 1 2
%305 = OpVectorShuffle %v3float %296 %296 1 1 1
%306 = OpFMul %v3float %304 %305
%307 = OpFAdd %v3float %301 %306
%308 = OpAccessChain %_ptr_Uniform_v4float %Primitive %int_0 %uint_2
%309 = OpLoad %v4float %308
%310 = OpVectorShuffle %v3float %309 %309 0 1 2
%311 = OpVectorShuffle %v3float %296 %296 2 2 2
%312 = OpFMul %v3float %310 %311
%313 = OpFAdd %v3float %307 %312
%314 = OpAccessChain %_ptr_Uniform_v4float %Primitive %int_0 %uint_3
%315 = OpLoad %v4float %314
%316 = OpVectorShuffle %v3float %315 %315 0 1 2
%317 = OpFAdd %v3float %316 %105
%318 = OpFAdd %v3float %313 %317
%319 = OpCompositeExtract %float %318 0
%320 = OpCompositeExtract %float %318 1
%321 = OpCompositeExtract %float %318 2
%322 = OpCompositeConstruct %v4float %319 %320 %321 %float_1
%323 = OpVectorShuffle %v2float %287 %287 0 1
%324 = OpLoad %v4float %258
%325 = OpVectorShuffle %v2float %324 %324 2 3
%326 = OpFAdd %v2float %323 %325
%327 = OpFAdd %v2float %326 %292
%328 = OpAccessChain %_ptr_Uniform_v4float %LandscapeParameters %int_1
%329 = OpLoad %v4float %328
%330 = OpVectorShuffle %v2float %329 %329 0 1
%331 = OpFMul %v2float %323 %330
%332 = OpVectorShuffle %v2float %329 %329 2 3
%333 = OpFAdd %v2float %331 %332
%334 = OpVectorShuffle %v2float %290 %290 2 2
%335 = OpFMul %v2float %288 %334
%336 = OpFAdd %v2float %333 %335
%337 = OpVectorShuffle %v2float %327 %92 0 1
%338 = OpVectorShuffle %v4float %322 %322 4 5 6 3
%339 = OpMatrixTimesVector %v4float %101 %338
%340 = OpVectorShuffle %v3float %322 %92 0 1 2
%341 = OpFSub %v3float %340 %103
%342 = OpAccessChain %_ptr_Uniform_v4float %MobileBasePass %int_2
%343 = OpAccessChain %_ptr_Uniform_float %MobileBasePass %int_2 %int_3
%344 = OpLoad %float %343
%345 = OpDot %float %341 %341
%346 = OpExtInst %float %1 InverseSqrt %345
%347 = OpFMul %float %345 %346
%348 = OpCompositeConstruct %v3float %346 %346 %346
%349 = OpFMul %v3float %341 %348
%350 = OpAccessChain %_ptr_Uniform_float %MobileBasePass %int_0 %int_0
%351 = OpLoad %float %350
%352 = OpAccessChain %_ptr_Uniform_float %MobileBasePass %int_1 %int_0
%353 = OpLoad %float %352
%354 = OpCompositeExtract %float %341 2
%355 = OpAccessChain %_ptr_Uniform_float %MobileBasePass %int_0 %int_3
%356 = OpLoad %float %355
%357 = OpExtInst %float %1 FMax %float_0 %356
%358 = OpFOrdGreaterThan %bool %357 %float_0
OpSelectionMerge %359 None
OpBranchConditional %358 %360 %359
%360 = OpLabel
%361 = OpFMul %float %357 %346
%362 = OpFMul %float %361 %354
%363 = OpAccessChain %_ptr_Uniform_float %View %int_25 %int_2
%364 = OpLoad %float %363
%365 = OpFAdd %float %364 %362
%366 = OpFSub %float %354 %362
%367 = OpFSub %float %float_1 %361
%368 = OpFMul %float %367 %347
%369 = OpAccessChain %_ptr_Uniform_float %MobileBasePass %int_0 %int_1
%370 = OpLoad %float %369
%371 = OpAccessChain %_ptr_Uniform_float %MobileBasePass %int_3 %int_1
%372 = OpLoad %float %371
%373 = OpFSub %float %365 %372
%374 = OpFMul %float %370 %373
%375 = OpExtInst %float %1 FMax %float_n127 %374
%376 = OpAccessChain %_ptr_Uniform_float %MobileBasePass %int_3 %int_0
%377 = OpLoad %float %376
%378 = OpFNegate %float %375
%379 = OpExtInst %float %1 Exp2 %378
%380 = OpFMul %float %377 %379
%381 = OpAccessChain %_ptr_Uniform_float %MobileBasePass %int_1 %int_1
%382 = OpLoad %float %381
%383 = OpAccessChain %_ptr_Uniform_float %MobileBasePass %int_1 %int_3
%384 = OpLoad %float %383
%385 = OpFSub %float %365 %384
%386 = OpFMul %float %382 %385
%387 = OpExtInst %float %1 FMax %float_n127 %386
%388 = OpAccessChain %_ptr_Uniform_float %MobileBasePass %int_1 %int_2
%389 = OpLoad %float %388
%390 = OpFNegate %float %387
%391 = OpExtInst %float %1 Exp2 %390
%392 = OpFMul %float %389 %391
OpBranch %359
%359 = OpLabel
%393 = OpPhi %float %347 %189 %368 %360
%394 = OpPhi %float %353 %189 %392 %360
%395 = OpPhi %float %351 %189 %380 %360
%396 = OpPhi %float %354 %189 %366 %360
%397 = OpAccessChain %_ptr_Uniform_float %MobileBasePass %int_0 %int_1
%398 = OpLoad %float %397
%399 = OpFMul %float %398 %396
%400 = OpExtInst %float %1 FMax %float_n127 %399
%401 = OpFNegate %float %400
%402 = OpExtInst %float %1 Exp2 %401
%403 = OpFSub %float %float_1 %402
%404 = OpFDiv %float %403 %400
%405 = OpExtInst %float %1 Log %float_2
%406 = OpFMul %float %405 %405
%407 = OpFMul %float %float_0_5 %406
%408 = OpFMul %float %407 %400
%409 = OpFSub %float %405 %408
%410 = OpExtInst %float %1 FAbs %400
%411 = OpFOrdGreaterThan %bool %410 %float_0_00999999978
%412 = OpSelect %float %411 %404 %409
%413 = OpFMul %float %395 %412
%414 = OpAccessChain %_ptr_Uniform_float %MobileBasePass %int_1 %int_1
%415 = OpLoad %float %414
%416 = OpFMul %float %415 %396
%417 = OpExtInst %float %1 FMax %float_n127 %416
%418 = OpFNegate %float %417
%419 = OpExtInst %float %1 Exp2 %418
%420 = OpFSub %float %float_1 %419
%421 = OpFDiv %float %420 %417
%422 = OpFMul %float %407 %417
%423 = OpFSub %float %405 %422
%424 = OpExtInst %float %1 FAbs %417
%425 = OpFOrdGreaterThan %bool %424 %float_0_00999999978
%426 = OpSelect %float %425 %421 %423
%427 = OpFMul %float %394 %426
%428 = OpFAdd %float %413 %427
%429 = OpFMul %float %428 %393
%430 = OpLoad %v4float %342
%431 = OpVectorShuffle %v3float %430 %430 0 1 2
%432 = OpAccessChain %_ptr_Uniform_v4float %MobileBasePass %int_4
%433 = OpAccessChain %_ptr_Uniform_float %MobileBasePass %int_4 %int_3
%434 = OpLoad %float %433
%435 = OpFOrdGreaterThanEqual %bool %434 %float_0
OpSelectionMerge %436 DontFlatten
OpBranchConditional %435 %437 %436
%437 = OpLabel
%438 = OpAccessChain %_ptr_Uniform_v4float %MobileBasePass %int_5
%439 = OpLoad %v4float %438
%440 = OpVectorShuffle %v3float %439 %439 0 1 2
%441 = OpLoad %v4float %432
%442 = OpVectorShuffle %v3float %441 %441 0 1 2
%443 = OpDot %float %349 %442
%444 = OpExtInst %float %1 FClamp %443 %float_0 %float_1
%445 = OpAccessChain %_ptr_Uniform_float %MobileBasePass %int_5 %int_3
%446 = OpLoad %float %445
%447 = OpExtInst %float %1 Pow %444 %446
%448 = OpCompositeConstruct %v3float %447 %447 %447
%449 = OpFMul %v3float %440 %448
%450 = OpFSub %float %393 %434
%451 = OpExtInst %float %1 FMax %450 %float_0
%452 = OpFMul %float %428 %451
%453 = OpFNegate %float %452
%454 = OpExtInst %float %1 Exp2 %453
%455 = OpExtInst %float %1 FClamp %454 %float_0 %float_1
%456 = OpFSub %float %float_1 %455
%457 = OpCompositeConstruct %v3float %456 %456 %456
%458 = OpFMul %v3float %449 %457
OpBranch %436
%436 = OpLabel
%459 = OpPhi %v3float %63 %359 %458 %437
%460 = OpFNegate %float %429
%461 = OpExtInst %float %1 Exp2 %460
%462 = OpExtInst %float %1 FClamp %461 %float_0 %float_1
%463 = OpExtInst %float %1 FMax %462 %344
%464 = OpAccessChain %_ptr_Uniform_float %MobileBasePass %int_3 %int_3
%465 = OpLoad %float %464
%466 = OpFOrdGreaterThan %bool %465 %float_0
%467 = OpFOrdGreaterThan %bool %347 %465
%468 = OpLogicalAnd %bool %466 %467
%469 = OpCompositeConstruct %v3bool %468 %468 %468
%470 = OpSelect %v3float %469 %63 %459
%471 = OpSelect %float %468 %float_1 %463
%472 = OpFSub %float %float_1 %471
%473 = OpCompositeConstruct %v3float %472 %472 %472
%474 = OpFMul %v3float %431 %473
%475 = OpFAdd %v3float %474 %470
%476 = OpCompositeExtract %float %475 0
%477 = OpCompositeExtract %float %475 1
%478 = OpCompositeExtract %float %475 2
%479 = OpCompositeConstruct %v4float %476 %477 %478 %471
%480 = OpAccessChain %_ptr_Function_v4float %97 %int_0
OpStore %480 %479
%481 = OpCompositeExtract %float %339 3
%482 = OpCompositeInsert %v4float %481 %338 3
%483 = OpLoad %_arr_v4float_uint_1 %97
%484 = OpCompositeExtract %v4float %483 0
%485 = OpVectorShuffle %v4float %92 %484 0 1 4 5
%486 = OpVectorShuffle %v4float %92 %484 0 1 6 7
OpStore %out_var_TEXCOORD0 %337
OpStore %out_var_TEXCOORD1 %336
OpStore %out_var_TEXCOORD2 %485
OpStore %out_var_TEXCOORD3 %486
OpStore %out_var_TEXCOORD8 %482
OpStore %gl_Position %339
OpReturn
OpFunctionEnd