; SPIR-V ; Version: 1.0 ; Generator: Google spiregg; 0 ; Bound: 607 ; Schema: 0 OpCapability Tessellation OpCapability SampledBuffer OpExtension "SPV_GOOGLE_hlsl_functionality1" %1 = OpExtInstImport "GLSL.std.450" OpMemoryModel Logical GLSL450 OpEntryPoint TessellationControl %MainHull "main" %in_var_TEXCOORD10_centroid %in_var_TEXCOORD11_centroid %in_var_VS_To_DS_Position %in_var_VS_To_DS_VertexID %gl_InvocationID %out_var_TEXCOORD10_centroid %out_var_TEXCOORD11_centroid %out_var_VS_To_DS_Position %out_var_VS_To_DS_VertexID %out_var_PN_POSITION %out_var_PN_DisplacementScales %out_var_PN_TessellationMultiplier %out_var_PN_WorldDisplacementMultiplier %out_var_PN_DominantVertex %out_var_PN_DominantVertex1 %out_var_PN_DominantVertex2 %out_var_PN_DominantEdge %out_var_PN_DominantEdge1 %out_var_PN_DominantEdge2 %out_var_PN_DominantEdge3 %out_var_PN_DominantEdge4 %out_var_PN_DominantEdge5 %gl_TessLevelOuter %gl_TessLevelInner %out_var_PN_POSITION9 OpExecutionMode %MainHull Triangles OpExecutionMode %MainHull SpacingFractionalOdd OpExecutionMode %MainHull VertexOrderCw OpExecutionMode %MainHull OutputVertices 3 OpSource HLSL 600 OpName %FPNTessellationHSToDS "FPNTessellationHSToDS" OpMemberName %FPNTessellationHSToDS 0 "PassSpecificData" OpMemberName %FPNTessellationHSToDS 1 "WorldPosition" OpMemberName %FPNTessellationHSToDS 2 "DisplacementScale" OpMemberName %FPNTessellationHSToDS 3 "TessellationMultiplier" OpMemberName %FPNTessellationHSToDS 4 "WorldDisplacementMultiplier" OpMemberName %FPNTessellationHSToDS 5 "DominantVertex" OpMemberName %FPNTessellationHSToDS 6 "DominantEdge" OpName %FHitProxyVSToDS "FHitProxyVSToDS" OpMemberName %FHitProxyVSToDS 0 "FactoryInterpolants" OpMemberName %FHitProxyVSToDS 1 "Position" OpMemberName %FHitProxyVSToDS 2 "VertexID" OpName %FVertexFactoryInterpolantsVSToDS "FVertexFactoryInterpolantsVSToDS" OpMemberName %FVertexFactoryInterpolantsVSToDS 0 "InterpolantsVSToPS" OpName %FVertexFactoryInterpolantsVSToPS "FVertexFactoryInterpolantsVSToPS" OpMemberName %FVertexFactoryInterpolantsVSToPS 0 "TangentToWorld0" OpMemberName %FVertexFactoryInterpolantsVSToPS 1 "TangentToWorld2" OpName %FHullShaderConstantDominantVertexData "FHullShaderConstantDominantVertexData" OpMemberName %FHullShaderConstantDominantVertexData 0 "UV" OpMemberName %FHullShaderConstantDominantVertexData 1 "Normal" OpMemberName %FHullShaderConstantDominantVertexData 2 "Tangent" OpName %FHullShaderConstantDominantEdgeData "FHullShaderConstantDominantEdgeData" OpMemberName %FHullShaderConstantDominantEdgeData 0 "UV0" OpMemberName %FHullShaderConstantDominantEdgeData 1 "UV1" OpMemberName %FHullShaderConstantDominantEdgeData 2 "Normal0" OpMemberName %FHullShaderConstantDominantEdgeData 3 "Normal1" OpMemberName %FHullShaderConstantDominantEdgeData 4 "Tangent0" OpMemberName %FHullShaderConstantDominantEdgeData 5 "Tangent1" OpName %type_View "type.View" OpMemberName %type_View 0 "View_TranslatedWorldToClip" OpMemberName %type_View 1 "View_WorldToClip" OpMemberName %type_View 2 "View_ClipToWorld" OpMemberName %type_View 3 "View_TranslatedWorldToView" OpMemberName %type_View 4 "View_ViewToTranslatedWorld" OpMemberName %type_View 5 "View_TranslatedWorldToCameraView" OpMemberName %type_View 6 "View_CameraViewToTranslatedWorld" OpMemberName %type_View 7 "View_ViewToClip" OpMemberName %type_View 8 "View_ViewToClipNoAA" OpMemberName %type_View 9 "View_ClipToView" OpMemberName %type_View 10 "View_ClipToTranslatedWorld" OpMemberName %type_View 11 "View_SVPositionToTranslatedWorld" OpMemberName %type_View 12 "View_ScreenToWorld" OpMemberName %type_View 13 "View_ScreenToTranslatedWorld" OpMemberName %type_View 14 "View_ViewForward" OpMemberName %type_View 15 "PrePadding_View_908" OpMemberName %type_View 16 "View_ViewUp" OpMemberName %type_View 17 "PrePadding_View_924" OpMemberName %type_View 18 "View_ViewRight" OpMemberName %type_View 19 "PrePadding_View_940" OpMemberName %type_View 20 "View_HMDViewNoRollUp" OpMemberName %type_View 21 "PrePadding_View_956" OpMemberName %type_View 22 "View_HMDViewNoRollRight" OpMemberName %type_View 23 "PrePadding_View_972" OpMemberName %type_View 24 "View_InvDeviceZToWorldZTransform" OpMemberName %type_View 25 "View_ScreenPositionScaleBias" OpMemberName %type_View 26 "View_WorldCameraOrigin" OpMemberName %type_View 27 "PrePadding_View_1020" OpMemberName %type_View 28 "View_TranslatedWorldCameraOrigin" OpMemberName %type_View 29 "PrePadding_View_1036" OpMemberName %type_View 30 "View_WorldViewOrigin" OpMemberName %type_View 31 "PrePadding_View_1052" OpMemberName %type_View 32 "View_PreViewTranslation" OpMemberName %type_View 33 "PrePadding_View_1068" OpMemberName %type_View 34 "View_PrevProjection" OpMemberName %type_View 35 "View_PrevViewProj" OpMemberName %type_View 36 "View_PrevViewRotationProj" OpMemberName %type_View 37 "View_PrevViewToClip" OpMemberName %type_View 38 "View_PrevClipToView" OpMemberName %type_View 39 "View_PrevTranslatedWorldToClip" OpMemberName %type_View 40 "View_PrevTranslatedWorldToView" OpMemberName %type_View 41 "View_PrevViewToTranslatedWorld" OpMemberName %type_View 42 "View_PrevTranslatedWorldToCameraView" OpMemberName %type_View 43 "View_PrevCameraViewToTranslatedWorld" OpMemberName %type_View 44 "View_PrevWorldCameraOrigin" OpMemberName %type_View 45 "PrePadding_View_1724" OpMemberName %type_View 46 "View_PrevWorldViewOrigin" OpMemberName %type_View 47 "PrePadding_View_1740" OpMemberName %type_View 48 "View_PrevPreViewTranslation" OpMemberName %type_View 49 "PrePadding_View_1756" OpMemberName %type_View 50 "View_PrevInvViewProj" OpMemberName %type_View 51 "View_PrevScreenToTranslatedWorld" OpMemberName %type_View 52 "View_ClipToPrevClip" OpMemberName %type_View 53 "View_TemporalAAJitter" OpMemberName %type_View 54 "View_GlobalClippingPlane" OpMemberName %type_View 55 "View_FieldOfViewWideAngles" OpMemberName %type_View 56 "View_PrevFieldOfViewWideAngles" OpMemberName %type_View 57 "View_ViewRectMin" OpMemberName %type_View 58 "View_ViewSizeAndInvSize" OpMemberName %type_View 59 "View_BufferSizeAndInvSize" OpMemberName %type_View 60 "View_BufferBilinearUVMinMax" OpMemberName %type_View 61 "View_NumSceneColorMSAASamples" OpMemberName %type_View 62 "View_PreExposure" OpMemberName %type_View 63 "View_OneOverPreExposure" OpMemberName %type_View 64 "PrePadding_View_2076" OpMemberName %type_View 65 "View_DiffuseOverrideParameter" OpMemberName %type_View 66 "View_SpecularOverrideParameter" OpMemberName %type_View 67 "View_NormalOverrideParameter" OpMemberName %type_View 68 "View_RoughnessOverrideParameter" OpMemberName %type_View 69 "View_PrevFrameGameTime" OpMemberName %type_View 70 "View_PrevFrameRealTime" OpMemberName %type_View 71 "View_OutOfBoundsMask" OpMemberName %type_View 72 "PrePadding_View_2148" OpMemberName %type_View 73 "PrePadding_View_2152" OpMemberName %type_View 74 "PrePadding_View_2156" OpMemberName %type_View 75 "View_WorldCameraMovementSinceLastFrame" OpMemberName %type_View 76 "View_CullingSign" OpMemberName %type_View 77 "View_NearPlane" OpMemberName %type_View 78 "View_AdaptiveTessellationFactor" OpMemberName %type_View 79 "View_GameTime" OpMemberName %type_View 80 "View_RealTime" OpMemberName %type_View 81 "View_DeltaTime" OpMemberName %type_View 82 "View_MaterialTextureMipBias" OpMemberName %type_View 83 "View_MaterialTextureDerivativeMultiply" OpMemberName %type_View 84 "View_Random" OpMemberName %type_View 85 "View_FrameNumber" OpMemberName %type_View 86 "View_StateFrameIndexMod8" OpMemberName %type_View 87 "View_StateFrameIndex" OpMemberName %type_View 88 "View_CameraCut" OpMemberName %type_View 89 "View_UnlitViewmodeMask" OpMemberName %type_View 90 "PrePadding_View_2228" OpMemberName %type_View 91 "PrePadding_View_2232" OpMemberName %type_View 92 "PrePadding_View_2236" OpMemberName %type_View 93 "View_DirectionalLightColor" OpMemberName %type_View 94 "View_DirectionalLightDirection" OpMemberName %type_View 95 "PrePadding_View_2268" OpMemberName %type_View 96 "View_TranslucencyLightingVolumeMin" OpMemberName %type_View 97 "View_TranslucencyLightingVolumeInvSize" OpMemberName %type_View 98 "View_TemporalAAParams" OpMemberName %type_View 99 "View_CircleDOFParams" OpMemberName %type_View 100 "View_DepthOfFieldSensorWidth" OpMemberName %type_View 101 "View_DepthOfFieldFocalDistance" OpMemberName %type_View 102 "View_DepthOfFieldScale" OpMemberName %type_View 103 "View_DepthOfFieldFocalLength" OpMemberName %type_View 104 "View_DepthOfFieldFocalRegion" OpMemberName %type_View 105 "View_DepthOfFieldNearTransitionRegion" OpMemberName %type_View 106 "View_DepthOfFieldFarTransitionRegion" OpMemberName %type_View 107 "View_MotionBlurNormalizedToPixel" OpMemberName %type_View 108 "View_bSubsurfacePostprocessEnabled" OpMemberName %type_View 109 "View_GeneralPurposeTweak" OpMemberName %type_View 110 "View_DemosaicVposOffset" OpMemberName %type_View 111 "PrePadding_View_2412" OpMemberName %type_View 112 "View_IndirectLightingColorScale" OpMemberName %type_View 113 "View_HDR32bppEncodingMode" OpMemberName %type_View 114 "View_AtmosphericFogSunDirection" OpMemberName %type_View 115 "View_AtmosphericFogSunPower" OpMemberName %type_View 116 "View_AtmosphericFogPower" OpMemberName %type_View 117 "View_AtmosphericFogDensityScale" OpMemberName %type_View 118 "View_AtmosphericFogDensityOffset" OpMemberName %type_View 119 "View_AtmosphericFogGroundOffset" OpMemberName %type_View 120 "View_AtmosphericFogDistanceScale" OpMemberName %type_View 121 "View_AtmosphericFogAltitudeScale" OpMemberName %type_View 122 "View_AtmosphericFogHeightScaleRayleigh" OpMemberName %type_View 123 "View_AtmosphericFogStartDistance" OpMemberName %type_View 124 "View_AtmosphericFogDistanceOffset" OpMemberName %type_View 125 "View_AtmosphericFogSunDiscScale" OpMemberName %type_View 126 "View_AtmosphericFogSunDiscHalfApexAngleRadian" OpMemberName %type_View 127 "PrePadding_View_2492" OpMemberName %type_View 128 "View_AtmosphericFogSunDiscLuminance" OpMemberName %type_View 129 "View_AtmosphericFogRenderMask" OpMemberName %type_View 130 "View_AtmosphericFogInscatterAltitudeSampleNum" OpMemberName %type_View 131 "PrePadding_View_2520" OpMemberName %type_View 132 "PrePadding_View_2524" OpMemberName %type_View 133 "View_AtmosphericFogSunColor" OpMemberName %type_View 134 "View_NormalCurvatureToRoughnessScaleBias" OpMemberName %type_View 135 "View_RenderingReflectionCaptureMask" OpMemberName %type_View 136 "View_AmbientCubemapTint" OpMemberName %type_View 137 "View_AmbientCubemapIntensity" OpMemberName %type_View 138 "View_SkyLightParameters" OpMemberName %type_View 139 "PrePadding_View_2584" OpMemberName %type_View 140 "PrePadding_View_2588" OpMemberName %type_View 141 "View_SkyLightColor" OpMemberName %type_View 142 "View_SkyIrradianceEnvironmentMap" OpMemberName %type_View 143 "View_MobilePreviewMode" OpMemberName %type_View 144 "View_HMDEyePaddingOffset" OpMemberName %type_View 145 "View_ReflectionCubemapMaxMip" OpMemberName %type_View 146 "View_ShowDecalsMask" OpMemberName %type_View 147 "View_DistanceFieldAOSpecularOcclusionMode" OpMemberName %type_View 148 "View_IndirectCapsuleSelfShadowingIntensity" OpMemberName %type_View 149 "PrePadding_View_2744" OpMemberName %type_View 150 "PrePadding_View_2748" OpMemberName %type_View 151 "View_ReflectionEnvironmentRoughnessMixingScaleBiasAndLargestWeight" OpMemberName %type_View 152 "View_StereoPassIndex" OpMemberName %type_View 153 "View_GlobalVolumeCenterAndExtent" OpMemberName %type_View 154 "View_GlobalVolumeWorldToUVAddAndMul" OpMemberName %type_View 155 "View_GlobalVolumeDimension" OpMemberName %type_View 156 "View_GlobalVolumeTexelSize" OpMemberName %type_View 157 "View_MaxGlobalDistance" OpMemberName %type_View 158 "PrePadding_View_2908" OpMemberName %type_View 159 "View_CursorPosition" OpMemberName %type_View 160 "View_bCheckerboardSubsurfaceProfileRendering" OpMemberName %type_View 161 "PrePadding_View_2924" OpMemberName %type_View 162 "View_VolumetricFogInvGridSize" OpMemberName %type_View 163 "PrePadding_View_2940" OpMemberName %type_View 164 "View_VolumetricFogGridZParams" OpMemberName %type_View 165 "PrePadding_View_2956" OpMemberName %type_View 166 "View_VolumetricFogSVPosToVolumeUV" OpMemberName %type_View 167 "View_VolumetricFogMaxDistance" OpMemberName %type_View 168 "PrePadding_View_2972" OpMemberName %type_View 169 "View_VolumetricLightmapWorldToUVScale" OpMemberName %type_View 170 "PrePadding_View_2988" OpMemberName %type_View 171 "View_VolumetricLightmapWorldToUVAdd" OpMemberName %type_View 172 "PrePadding_View_3004" OpMemberName %type_View 173 "View_VolumetricLightmapIndirectionTextureSize" OpMemberName %type_View 174 "View_VolumetricLightmapBrickSize" OpMemberName %type_View 175 "View_VolumetricLightmapBrickTexelSize" OpMemberName %type_View 176 "View_StereoIPD" OpMemberName %type_View 177 "View_IndirectLightingCacheShowFlag" OpMemberName %type_View 178 "View_EyeToPixelSpreadAngle" OpName %View "View" 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_DrawsVelocity" OpMemberName %type_Primitive 14 "Primitive_ObjectOrientation" OpMemberName %type_Primitive 15 "Primitive_NonUniformScale" OpMemberName %type_Primitive 16 "Primitive_LocalObjectBoundsMin" OpMemberName %type_Primitive 17 "Primitive_LightingChannelMask" OpMemberName %type_Primitive 18 "Primitive_LocalObjectBoundsMax" OpMemberName %type_Primitive 19 "Primitive_LightmapDataIndex" OpMemberName %type_Primitive 20 "Primitive_PreSkinnedLocalBounds" OpMemberName %type_Primitive 21 "Primitive_SingleCaptureIndex" OpMemberName %type_Primitive 22 "Primitive_OutputVelocity" OpMemberName %type_Primitive 23 "PrePadding_Primitive_420" OpMemberName %type_Primitive 24 "PrePadding_Primitive_424" OpMemberName %type_Primitive 25 "PrePadding_Primitive_428" OpMemberName %type_Primitive 26 "Primitive_CustomPrimitiveData" OpName %Primitive "Primitive" OpName %in_var_TEXCOORD10_centroid "in.var.TEXCOORD10_centroid" OpName %in_var_TEXCOORD11_centroid "in.var.TEXCOORD11_centroid" OpName %in_var_VS_To_DS_Position "in.var.VS_To_DS_Position" OpName %in_var_VS_To_DS_VertexID "in.var.VS_To_DS_VertexID" OpName %out_var_TEXCOORD10_centroid "out.var.TEXCOORD10_centroid" OpName %out_var_TEXCOORD11_centroid "out.var.TEXCOORD11_centroid" OpName %out_var_VS_To_DS_Position "out.var.VS_To_DS_Position" OpName %out_var_VS_To_DS_VertexID "out.var.VS_To_DS_VertexID" OpName %out_var_PN_POSITION "out.var.PN_POSITION" OpName %out_var_PN_DisplacementScales "out.var.PN_DisplacementScales" OpName %out_var_PN_TessellationMultiplier "out.var.PN_TessellationMultiplier" OpName %out_var_PN_WorldDisplacementMultiplier "out.var.PN_WorldDisplacementMultiplier" OpName %out_var_PN_DominantVertex "out.var.PN_DominantVertex" OpName %out_var_PN_DominantVertex1 "out.var.PN_DominantVertex1" OpName %out_var_PN_DominantVertex2 "out.var.PN_DominantVertex2" OpName %out_var_PN_DominantEdge "out.var.PN_DominantEdge" OpName %out_var_PN_DominantEdge1 "out.var.PN_DominantEdge1" OpName %out_var_PN_DominantEdge2 "out.var.PN_DominantEdge2" OpName %out_var_PN_DominantEdge3 "out.var.PN_DominantEdge3" OpName %out_var_PN_DominantEdge4 "out.var.PN_DominantEdge4" OpName %out_var_PN_DominantEdge5 "out.var.PN_DominantEdge5" OpName %out_var_PN_POSITION9 "out.var.PN_POSITION9" OpName %MainHull "MainHull" OpName %param_var_I "param.var.I" OpName %temp_var_hullMainRetVal "temp.var.hullMainRetVal" OpName %if_merge "if.merge" OpDecorateString %in_var_TEXCOORD10_centroid UserSemantic "TEXCOORD10_centroid" OpDecorateString %in_var_TEXCOORD11_centroid UserSemantic "TEXCOORD11_centroid" OpDecorateString %in_var_VS_To_DS_Position UserSemantic "VS_To_DS_Position" OpDecorateString %in_var_VS_To_DS_VertexID UserSemantic "VS_To_DS_VertexID" OpDecorate %gl_InvocationID BuiltIn InvocationId OpDecorateString %gl_InvocationID UserSemantic "SV_OutputControlPointID" OpDecorateString %out_var_TEXCOORD10_centroid UserSemantic "TEXCOORD10_centroid" OpDecorateString %out_var_TEXCOORD11_centroid UserSemantic "TEXCOORD11_centroid" OpDecorateString %out_var_VS_To_DS_Position UserSemantic "VS_To_DS_Position" OpDecorateString %out_var_VS_To_DS_VertexID UserSemantic "VS_To_DS_VertexID" OpDecorateString %out_var_PN_POSITION UserSemantic "PN_POSITION" OpDecorateString %out_var_PN_DisplacementScales UserSemantic "PN_DisplacementScales" OpDecorateString %out_var_PN_TessellationMultiplier UserSemantic "PN_TessellationMultiplier" OpDecorateString %out_var_PN_WorldDisplacementMultiplier UserSemantic "PN_WorldDisplacementMultiplier" OpDecorateString %out_var_PN_DominantVertex UserSemantic "PN_DominantVertex" OpDecorateString %out_var_PN_DominantVertex1 UserSemantic "PN_DominantVertex" OpDecorateString %out_var_PN_DominantVertex2 UserSemantic "PN_DominantVertex" OpDecorateString %out_var_PN_DominantEdge UserSemantic "PN_DominantEdge" OpDecorateString %out_var_PN_DominantEdge1 UserSemantic "PN_DominantEdge" OpDecorateString %out_var_PN_DominantEdge2 UserSemantic "PN_DominantEdge" OpDecorateString %out_var_PN_DominantEdge3 UserSemantic "PN_DominantEdge" OpDecorateString %out_var_PN_DominantEdge4 UserSemantic "PN_DominantEdge" OpDecorateString %out_var_PN_DominantEdge5 UserSemantic "PN_DominantEdge" OpDecorate %gl_TessLevelOuter BuiltIn TessLevelOuter OpDecorateString %gl_TessLevelOuter UserSemantic "SV_TessFactor" OpDecorate %gl_TessLevelOuter Patch OpDecorate %gl_TessLevelInner BuiltIn TessLevelInner OpDecorateString %gl_TessLevelInner UserSemantic "SV_InsideTessFactor" OpDecorate %gl_TessLevelInner Patch OpDecorateString %out_var_PN_POSITION9 UserSemantic "PN_POSITION9" OpDecorate %out_var_PN_POSITION9 Patch OpDecorate %in_var_TEXCOORD10_centroid Location 0 OpDecorate %in_var_TEXCOORD11_centroid Location 1 OpDecorate %in_var_VS_To_DS_Position Location 2 OpDecorate %in_var_VS_To_DS_VertexID Location 3 OpDecorate %out_var_PN_DisplacementScales Location 0 OpDecorate %out_var_PN_DominantEdge Location 1 OpDecorate %out_var_PN_DominantEdge1 Location 2 OpDecorate %out_var_PN_DominantEdge2 Location 3 OpDecorate %out_var_PN_DominantEdge3 Location 4 OpDecorate %out_var_PN_DominantEdge4 Location 5 OpDecorate %out_var_PN_DominantEdge5 Location 6 OpDecorate %out_var_PN_DominantVertex Location 7 OpDecorate %out_var_PN_DominantVertex1 Location 8 OpDecorate %out_var_PN_DominantVertex2 Location 9 OpDecorate %out_var_PN_POSITION Location 10 OpDecorate %out_var_PN_POSITION9 Location 13 OpDecorate %out_var_PN_TessellationMultiplier Location 14 OpDecorate %out_var_PN_WorldDisplacementMultiplier Location 15 OpDecorate %out_var_TEXCOORD10_centroid Location 16 OpDecorate %out_var_TEXCOORD11_centroid Location 17 OpDecorate %out_var_VS_To_DS_Position Location 18 OpDecorate %out_var_VS_To_DS_VertexID Location 19 OpDecorate %View DescriptorSet 0 OpDecorate %View Binding 0 OpDecorate %Primitive DescriptorSet 0 OpDecorate %Primitive Binding 1 OpDecorate %_arr_v4float_uint_2 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 13 MatrixStride 16 OpMemberDecorate %type_View 13 ColMajor OpMemberDecorate %type_View 14 Offset 896 OpMemberDecorate %type_View 15 Offset 908 OpMemberDecorate %type_View 16 Offset 912 OpMemberDecorate %type_View 17 Offset 924 OpMemberDecorate %type_View 18 Offset 928 OpMemberDecorate %type_View 19 Offset 940 OpMemberDecorate %type_View 20 Offset 944 OpMemberDecorate %type_View 21 Offset 956 OpMemberDecorate %type_View 22 Offset 960 OpMemberDecorate %type_View 23 Offset 972 OpMemberDecorate %type_View 24 Offset 976 OpMemberDecorate %type_View 25 Offset 992 OpMemberDecorate %type_View 26 Offset 1008 OpMemberDecorate %type_View 27 Offset 1020 OpMemberDecorate %type_View 28 Offset 1024 OpMemberDecorate %type_View 29 Offset 1036 OpMemberDecorate %type_View 30 Offset 1040 OpMemberDecorate %type_View 31 Offset 1052 OpMemberDecorate %type_View 32 Offset 1056 OpMemberDecorate %type_View 33 Offset 1068 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 43 MatrixStride 16 OpMemberDecorate %type_View 43 ColMajor OpMemberDecorate %type_View 44 Offset 1712 OpMemberDecorate %type_View 45 Offset 1724 OpMemberDecorate %type_View 46 Offset 1728 OpMemberDecorate %type_View 47 Offset 1740 OpMemberDecorate %type_View 48 Offset 1744 OpMemberDecorate %type_View 49 Offset 1756 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 52 MatrixStride 16 OpMemberDecorate %type_View 52 ColMajor OpMemberDecorate %type_View 53 Offset 1952 OpMemberDecorate %type_View 54 Offset 1968 OpMemberDecorate %type_View 55 Offset 1984 OpMemberDecorate %type_View 56 Offset 1992 OpMemberDecorate %type_View 57 Offset 2000 OpMemberDecorate %type_View 58 Offset 2016 OpMemberDecorate %type_View 59 Offset 2032 OpMemberDecorate %type_View 60 Offset 2048 OpMemberDecorate %type_View 61 Offset 2064 OpMemberDecorate %type_View 62 Offset 2068 OpMemberDecorate %type_View 63 Offset 2072 OpMemberDecorate %type_View 64 Offset 2076 OpMemberDecorate %type_View 65 Offset 2080 OpMemberDecorate %type_View 66 Offset 2096 OpMemberDecorate %type_View 67 Offset 2112 OpMemberDecorate %type_View 68 Offset 2128 OpMemberDecorate %type_View 69 Offset 2136 OpMemberDecorate %type_View 70 Offset 2140 OpMemberDecorate %type_View 71 Offset 2144 OpMemberDecorate %type_View 72 Offset 2148 OpMemberDecorate %type_View 73 Offset 2152 OpMemberDecorate %type_View 74 Offset 2156 OpMemberDecorate %type_View 75 Offset 2160 OpMemberDecorate %type_View 76 Offset 2172 OpMemberDecorate %type_View 77 Offset 2176 OpMemberDecorate %type_View 78 Offset 2180 OpMemberDecorate %type_View 79 Offset 2184 OpMemberDecorate %type_View 80 Offset 2188 OpMemberDecorate %type_View 81 Offset 2192 OpMemberDecorate %type_View 82 Offset 2196 OpMemberDecorate %type_View 83 Offset 2200 OpMemberDecorate %type_View 84 Offset 2204 OpMemberDecorate %type_View 85 Offset 2208 OpMemberDecorate %type_View 86 Offset 2212 OpMemberDecorate %type_View 87 Offset 2216 OpMemberDecorate %type_View 88 Offset 2220 OpMemberDecorate %type_View 89 Offset 2224 OpMemberDecorate %type_View 90 Offset 2228 OpMemberDecorate %type_View 91 Offset 2232 OpMemberDecorate %type_View 92 Offset 2236 OpMemberDecorate %type_View 93 Offset 2240 OpMemberDecorate %type_View 94 Offset 2256 OpMemberDecorate %type_View 95 Offset 2268 OpMemberDecorate %type_View 96 Offset 2272 OpMemberDecorate %type_View 97 Offset 2304 OpMemberDecorate %type_View 98 Offset 2336 OpMemberDecorate %type_View 99 Offset 2352 OpMemberDecorate %type_View 100 Offset 2368 OpMemberDecorate %type_View 101 Offset 2372 OpMemberDecorate %type_View 102 Offset 2376 OpMemberDecorate %type_View 103 Offset 2380 OpMemberDecorate %type_View 104 Offset 2384 OpMemberDecorate %type_View 105 Offset 2388 OpMemberDecorate %type_View 106 Offset 2392 OpMemberDecorate %type_View 107 Offset 2396 OpMemberDecorate %type_View 108 Offset 2400 OpMemberDecorate %type_View 109 Offset 2404 OpMemberDecorate %type_View 110 Offset 2408 OpMemberDecorate %type_View 111 Offset 2412 OpMemberDecorate %type_View 112 Offset 2416 OpMemberDecorate %type_View 113 Offset 2428 OpMemberDecorate %type_View 114 Offset 2432 OpMemberDecorate %type_View 115 Offset 2444 OpMemberDecorate %type_View 116 Offset 2448 OpMemberDecorate %type_View 117 Offset 2452 OpMemberDecorate %type_View 118 Offset 2456 OpMemberDecorate %type_View 119 Offset 2460 OpMemberDecorate %type_View 120 Offset 2464 OpMemberDecorate %type_View 121 Offset 2468 OpMemberDecorate %type_View 122 Offset 2472 OpMemberDecorate %type_View 123 Offset 2476 OpMemberDecorate %type_View 124 Offset 2480 OpMemberDecorate %type_View 125 Offset 2484 OpMemberDecorate %type_View 126 Offset 2488 OpMemberDecorate %type_View 127 Offset 2492 OpMemberDecorate %type_View 128 Offset 2496 OpMemberDecorate %type_View 129 Offset 2512 OpMemberDecorate %type_View 130 Offset 2516 OpMemberDecorate %type_View 131 Offset 2520 OpMemberDecorate %type_View 132 Offset 2524 OpMemberDecorate %type_View 133 Offset 2528 OpMemberDecorate %type_View 134 Offset 2544 OpMemberDecorate %type_View 135 Offset 2556 OpMemberDecorate %type_View 136 Offset 2560 OpMemberDecorate %type_View 137 Offset 2576 OpMemberDecorate %type_View 138 Offset 2580 OpMemberDecorate %type_View 139 Offset 2584 OpMemberDecorate %type_View 140 Offset 2588 OpMemberDecorate %type_View 141 Offset 2592 OpMemberDecorate %type_View 142 Offset 2608 OpMemberDecorate %type_View 143 Offset 2720 OpMemberDecorate %type_View 144 Offset 2724 OpMemberDecorate %type_View 145 Offset 2728 OpMemberDecorate %type_View 146 Offset 2732 OpMemberDecorate %type_View 147 Offset 2736 OpMemberDecorate %type_View 148 Offset 2740 OpMemberDecorate %type_View 149 Offset 2744 OpMemberDecorate %type_View 150 Offset 2748 OpMemberDecorate %type_View 151 Offset 2752 OpMemberDecorate %type_View 152 Offset 2764 OpMemberDecorate %type_View 153 Offset 2768 OpMemberDecorate %type_View 154 Offset 2832 OpMemberDecorate %type_View 155 Offset 2896 OpMemberDecorate %type_View 156 Offset 2900 OpMemberDecorate %type_View 157 Offset 2904 OpMemberDecorate %type_View 158 Offset 2908 OpMemberDecorate %type_View 159 Offset 2912 OpMemberDecorate %type_View 160 Offset 2920 OpMemberDecorate %type_View 161 Offset 2924 OpMemberDecorate %type_View 162 Offset 2928 OpMemberDecorate %type_View 163 Offset 2940 OpMemberDecorate %type_View 164 Offset 2944 OpMemberDecorate %type_View 165 Offset 2956 OpMemberDecorate %type_View 166 Offset 2960 OpMemberDecorate %type_View 167 Offset 2968 OpMemberDecorate %type_View 168 Offset 2972 OpMemberDecorate %type_View 169 Offset 2976 OpMemberDecorate %type_View 170 Offset 2988 OpMemberDecorate %type_View 171 Offset 2992 OpMemberDecorate %type_View 172 Offset 3004 OpMemberDecorate %type_View 173 Offset 3008 OpMemberDecorate %type_View 174 Offset 3020 OpMemberDecorate %type_View 175 Offset 3024 OpMemberDecorate %type_View 176 Offset 3036 OpMemberDecorate %type_View 177 Offset 3040 OpMemberDecorate %type_View 178 Offset 3044 OpDecorate %type_View 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 412 OpMemberDecorate %type_Primitive 22 Offset 416 OpMemberDecorate %type_Primitive 23 Offset 420 OpMemberDecorate %type_Primitive 24 Offset 424 OpMemberDecorate %type_Primitive 25 Offset 428 OpMemberDecorate %type_Primitive 26 Offset 432 OpDecorate %type_Primitive 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 %uint_7 = OpConstant %uint 7 %uint_4 = OpConstant %uint 4 %v2int = OpTypeVector %int 2 %uint_0 = OpConstant %uint 0 %uint_1 = OpConstant %uint 1 %uint_3 = OpConstant %uint 3 %_arr_float_uint_3 = OpTypeArray %float %uint_3 %int_1 = OpConstant %int 1 %int_0 = OpConstant %int 0 %int_2 = OpConstant %int 2 %float_2 = OpConstant %float 2 %63 = OpConstantComposite %v4float %float_2 %float_2 %float_2 %float_2 %float_0_5 = OpConstant %float 0.5 %int_3 = OpConstant %int 3 %float_0_333000004 = OpConstant %float 0.333000004 %float_1 = OpConstant %float 1 %68 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1 %float_15 = OpConstant %float 15 %70 = OpConstantComposite %v4float %float_15 %float_15 %float_15 %float_15 %FVertexFactoryInterpolantsVSToPS = OpTypeStruct %v4float %v4float %FVertexFactoryInterpolantsVSToDS = OpTypeStruct %FVertexFactoryInterpolantsVSToPS %FHitProxyVSToDS = OpTypeStruct %FVertexFactoryInterpolantsVSToDS %v4float %uint %_arr_v4float_uint_3 = OpTypeArray %v4float %uint_3 %FHullShaderConstantDominantVertexData = OpTypeStruct %v2float %v4float %v3float %FHullShaderConstantDominantEdgeData = OpTypeStruct %v2float %v2float %v4float %v4float %v3float %v3float %FPNTessellationHSToDS = OpTypeStruct %FHitProxyVSToDS %_arr_v4float_uint_3 %v3float %float %float %FHullShaderConstantDominantVertexData %FHullShaderConstantDominantEdgeData %uint_9 = OpConstant %uint 9 %v3int = OpTypeVector %int 3 %74 = OpConstantComposite %v3int %int_0 %int_0 %int_0 %75 = OpConstantComposite %v3int %int_3 %int_3 %int_3 %float_0 = OpConstant %float 0 %77 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0 %78 = OpConstantComposite %v3float %float_0_5 %float_0_5 %float_0_5 %int_78 = OpConstant %int 78 %int_15 = OpConstant %int 15 %int_7 = OpConstant %int 7 %int_28 = OpConstant %int 28 %83 = OpConstantComposite %v3int %int_1 %int_1 %int_1 %84 = OpConstantComposite %v3int %int_2 %int_2 %int_2 %_arr_v4float_uint_2 = 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 %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 %float %float %v4float %uint %uint %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 %v2int %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 %type_Primitive = OpTypeStruct %mat4v4float %v4float %v4float %mat4v4float %mat4v4float %mat4v4float %v3float %float %v3float %float %float %float %float %float %v4float %v4float %v3float %uint %v3float %uint %v3float %int %uint %uint %uint %uint %_arr_v4float_uint_4 %_ptr_Uniform_type_Primitive = OpTypePointer Uniform %type_Primitive %uint_12 = OpConstant %uint 12 %_arr_v4float_uint_12 = OpTypeArray %v4float %uint_12 %_ptr_Input__arr_v4float_uint_12 = OpTypePointer Input %_arr_v4float_uint_12 %_arr_uint_uint_12 = OpTypeArray %uint %uint_12 %_ptr_Input__arr_uint_uint_12 = OpTypePointer Input %_arr_uint_uint_12 %_ptr_Input_uint = OpTypePointer Input %uint %_ptr_Output__arr_v4float_uint_3 = OpTypePointer Output %_arr_v4float_uint_3 %_arr_uint_uint_3 = OpTypeArray %uint %uint_3 %_ptr_Output__arr_uint_uint_3 = OpTypePointer Output %_arr_uint_uint_3 %_arr__arr_v4float_uint_3_uint_3 = OpTypeArray %_arr_v4float_uint_3 %uint_3 %_ptr_Output__arr__arr_v4float_uint_3_uint_3 = OpTypePointer Output %_arr__arr_v4float_uint_3_uint_3 %_arr_v3float_uint_3 = OpTypeArray %v3float %uint_3 %_ptr_Output__arr_v3float_uint_3 = OpTypePointer Output %_arr_v3float_uint_3 %_ptr_Output__arr_float_uint_3 = OpTypePointer Output %_arr_float_uint_3 %_arr_v2float_uint_3 = OpTypeArray %v2float %uint_3 %_ptr_Output__arr_v2float_uint_3 = OpTypePointer Output %_arr_v2float_uint_3 %_arr_float_uint_4 = OpTypeArray %float %uint_4 %_ptr_Output__arr_float_uint_4 = OpTypePointer Output %_arr_float_uint_4 %_arr_float_uint_2 = OpTypeArray %float %uint_2 %_ptr_Output__arr_float_uint_2 = OpTypePointer Output %_arr_float_uint_2 %_ptr_Output_v4float = OpTypePointer Output %v4float %void = OpTypeVoid %109 = OpTypeFunction %void %_arr_FHitProxyVSToDS_uint_12 = OpTypeArray %FHitProxyVSToDS %uint_12 %_ptr_Function__arr_FHitProxyVSToDS_uint_12 = OpTypePointer Function %_arr_FHitProxyVSToDS_uint_12 %_arr_FPNTessellationHSToDS_uint_3 = OpTypeArray %FPNTessellationHSToDS %uint_3 %_ptr_Function__arr_FPNTessellationHSToDS_uint_3 = OpTypePointer Function %_arr_FPNTessellationHSToDS_uint_3 %_ptr_Workgroup__arr_FPNTessellationHSToDS_uint_3 = OpTypePointer Workgroup %_arr_FPNTessellationHSToDS_uint_3 %_ptr_Output_uint = OpTypePointer Output %uint %_ptr_Output_v3float = OpTypePointer Output %v3float %_ptr_Output_float = OpTypePointer Output %float %_ptr_Output_v2float = OpTypePointer Output %v2float %_ptr_Function_FPNTessellationHSToDS = OpTypePointer Function %FPNTessellationHSToDS %_ptr_Workgroup_FPNTessellationHSToDS = OpTypePointer Workgroup %FPNTessellationHSToDS %bool = OpTypeBool %_ptr_Function_v4float = OpTypePointer Function %v4float %_ptr_Function_float = OpTypePointer Function %float %_ptr_Workgroup_v4float = OpTypePointer Workgroup %v4float %_ptr_Workgroup_float = OpTypePointer Workgroup %float %mat3v3float = OpTypeMatrix %v3float 3 %_ptr_Function_FVertexFactoryInterpolantsVSToDS = OpTypePointer Function %FVertexFactoryInterpolantsVSToDS %_ptr_Function_FHitProxyVSToDS = OpTypePointer Function %FHitProxyVSToDS %v3bool = OpTypeVector %bool 3 %_ptr_Uniform_float = OpTypePointer Uniform %float %_ptr_Uniform_v4float = OpTypePointer Uniform %v4float %_ptr_Uniform_mat4v4float = OpTypePointer Uniform %mat4v4float %_ptr_Uniform_v3float = OpTypePointer Uniform %v3float %View = OpVariable %_ptr_Uniform_type_View Uniform %Primitive = OpVariable %_ptr_Uniform_type_Primitive Uniform %in_var_TEXCOORD10_centroid = OpVariable %_ptr_Input__arr_v4float_uint_12 Input %in_var_TEXCOORD11_centroid = OpVariable %_ptr_Input__arr_v4float_uint_12 Input %in_var_VS_To_DS_Position = OpVariable %_ptr_Input__arr_v4float_uint_12 Input %in_var_VS_To_DS_VertexID = OpVariable %_ptr_Input__arr_uint_uint_12 Input %gl_InvocationID = OpVariable %_ptr_Input_uint Input %out_var_TEXCOORD10_centroid = OpVariable %_ptr_Output__arr_v4float_uint_3 Output %out_var_TEXCOORD11_centroid = OpVariable %_ptr_Output__arr_v4float_uint_3 Output %out_var_VS_To_DS_Position = OpVariable %_ptr_Output__arr_v4float_uint_3 Output %out_var_VS_To_DS_VertexID = OpVariable %_ptr_Output__arr_uint_uint_3 Output %out_var_PN_POSITION = OpVariable %_ptr_Output__arr__arr_v4float_uint_3_uint_3 Output %out_var_PN_DisplacementScales = OpVariable %_ptr_Output__arr_v3float_uint_3 Output %out_var_PN_TessellationMultiplier = OpVariable %_ptr_Output__arr_float_uint_3 Output %out_var_PN_WorldDisplacementMultiplier = OpVariable %_ptr_Output__arr_float_uint_3 Output %out_var_PN_DominantVertex = OpVariable %_ptr_Output__arr_v2float_uint_3 Output %out_var_PN_DominantVertex1 = OpVariable %_ptr_Output__arr_v4float_uint_3 Output %out_var_PN_DominantVertex2 = OpVariable %_ptr_Output__arr_v3float_uint_3 Output %out_var_PN_DominantEdge = OpVariable %_ptr_Output__arr_v2float_uint_3 Output %out_var_PN_DominantEdge1 = OpVariable %_ptr_Output__arr_v2float_uint_3 Output %out_var_PN_DominantEdge2 = OpVariable %_ptr_Output__arr_v4float_uint_3 Output %out_var_PN_DominantEdge3 = OpVariable %_ptr_Output__arr_v4float_uint_3 Output %out_var_PN_DominantEdge4 = OpVariable %_ptr_Output__arr_v3float_uint_3 Output %out_var_PN_DominantEdge5 = OpVariable %_ptr_Output__arr_v3float_uint_3 Output %gl_TessLevelOuter = OpVariable %_ptr_Output__arr_float_uint_4 Output %gl_TessLevelInner = OpVariable %_ptr_Output__arr_float_uint_2 Output %out_var_PN_POSITION9 = OpVariable %_ptr_Output_v4float Output %130 = OpConstantNull %v2float %float_0_333333343 = OpConstant %float 0.333333343 %132 = OpConstantComposite %v4float %float_0_333333343 %float_0_333333343 %float_0_333333343 %float_0_333333343 %133 = OpConstantComposite %v4float %float_0_5 %float_0_5 %float_0_5 %float_0_5 %float_0_166666672 = OpConstant %float 0.166666672 %135 = OpConstantComposite %v4float %float_0_166666672 %float_0_166666672 %float_0_166666672 %float_0_166666672 %136 = OpUndef %v4float ; XXX: Original asm used Function here, which is wrong. ; This patches the SPIR-V to be correct. %temp_var_hullMainRetVal = OpVariable %_ptr_Workgroup__arr_FPNTessellationHSToDS_uint_3 Workgroup %MainHull = OpFunction %void None %109 %137 = OpLabel %param_var_I = OpVariable %_ptr_Function__arr_FHitProxyVSToDS_uint_12 Function %138 = OpLoad %_arr_v4float_uint_12 %in_var_TEXCOORD10_centroid %139 = OpLoad %_arr_v4float_uint_12 %in_var_TEXCOORD11_centroid %140 = OpCompositeExtract %v4float %138 0 %141 = OpCompositeExtract %v4float %139 0 %142 = OpCompositeConstruct %FVertexFactoryInterpolantsVSToPS %140 %141 %143 = OpCompositeExtract %v4float %138 1 %144 = OpCompositeExtract %v4float %139 1 %145 = OpCompositeConstruct %FVertexFactoryInterpolantsVSToPS %143 %144 %146 = OpCompositeExtract %v4float %138 2 %147 = OpCompositeExtract %v4float %139 2 %148 = OpCompositeConstruct %FVertexFactoryInterpolantsVSToPS %146 %147 %149 = OpCompositeExtract %v4float %138 3 %150 = OpCompositeExtract %v4float %139 3 %151 = OpCompositeConstruct %FVertexFactoryInterpolantsVSToPS %149 %150 %152 = OpCompositeExtract %v4float %138 4 %153 = OpCompositeExtract %v4float %139 4 %154 = OpCompositeConstruct %FVertexFactoryInterpolantsVSToPS %152 %153 %155 = OpCompositeExtract %v4float %138 5 %156 = OpCompositeExtract %v4float %139 5 %157 = OpCompositeConstruct %FVertexFactoryInterpolantsVSToPS %155 %156 %158 = OpCompositeExtract %v4float %138 6 %159 = OpCompositeExtract %v4float %139 6 %160 = OpCompositeConstruct %FVertexFactoryInterpolantsVSToPS %158 %159 %161 = OpCompositeExtract %v4float %138 7 %162 = OpCompositeExtract %v4float %139 7 %163 = OpCompositeConstruct %FVertexFactoryInterpolantsVSToPS %161 %162 %164 = OpCompositeExtract %v4float %138 8 %165 = OpCompositeExtract %v4float %139 8 %166 = OpCompositeConstruct %FVertexFactoryInterpolantsVSToPS %164 %165 %167 = OpCompositeExtract %v4float %138 9 %168 = OpCompositeExtract %v4float %139 9 %169 = OpCompositeConstruct %FVertexFactoryInterpolantsVSToPS %167 %168 %170 = OpCompositeExtract %v4float %138 10 %171 = OpCompositeExtract %v4float %139 10 %172 = OpCompositeConstruct %FVertexFactoryInterpolantsVSToPS %170 %171 %173 = OpCompositeExtract %v4float %138 11 %174 = OpCompositeExtract %v4float %139 11 %175 = OpCompositeConstruct %FVertexFactoryInterpolantsVSToPS %173 %174 %176 = OpCompositeConstruct %FVertexFactoryInterpolantsVSToDS %142 %177 = OpCompositeConstruct %FVertexFactoryInterpolantsVSToDS %145 %178 = OpCompositeConstruct %FVertexFactoryInterpolantsVSToDS %148 %179 = OpCompositeConstruct %FVertexFactoryInterpolantsVSToDS %151 %180 = OpCompositeConstruct %FVertexFactoryInterpolantsVSToDS %154 %181 = OpCompositeConstruct %FVertexFactoryInterpolantsVSToDS %157 %182 = OpCompositeConstruct %FVertexFactoryInterpolantsVSToDS %160 %183 = OpCompositeConstruct %FVertexFactoryInterpolantsVSToDS %163 %184 = OpCompositeConstruct %FVertexFactoryInterpolantsVSToDS %166 %185 = OpCompositeConstruct %FVertexFactoryInterpolantsVSToDS %169 %186 = OpCompositeConstruct %FVertexFactoryInterpolantsVSToDS %172 %187 = OpCompositeConstruct %FVertexFactoryInterpolantsVSToDS %175 %188 = OpLoad %_arr_v4float_uint_12 %in_var_VS_To_DS_Position %189 = OpLoad %_arr_uint_uint_12 %in_var_VS_To_DS_VertexID %190 = OpCompositeExtract %v4float %188 0 %191 = OpCompositeExtract %uint %189 0 %192 = OpCompositeConstruct %FHitProxyVSToDS %176 %190 %191 %193 = OpCompositeExtract %v4float %188 1 %194 = OpCompositeExtract %uint %189 1 %195 = OpCompositeConstruct %FHitProxyVSToDS %177 %193 %194 %196 = OpCompositeExtract %v4float %188 2 %197 = OpCompositeExtract %uint %189 2 %198 = OpCompositeConstruct %FHitProxyVSToDS %178 %196 %197 %199 = OpCompositeExtract %v4float %188 3 %200 = OpCompositeExtract %uint %189 3 %201 = OpCompositeConstruct %FHitProxyVSToDS %179 %199 %200 %202 = OpCompositeExtract %v4float %188 4 %203 = OpCompositeExtract %uint %189 4 %204 = OpCompositeConstruct %FHitProxyVSToDS %180 %202 %203 %205 = OpCompositeExtract %v4float %188 5 %206 = OpCompositeExtract %uint %189 5 %207 = OpCompositeConstruct %FHitProxyVSToDS %181 %205 %206 %208 = OpCompositeExtract %v4float %188 6 %209 = OpCompositeExtract %uint %189 6 %210 = OpCompositeConstruct %FHitProxyVSToDS %182 %208 %209 %211 = OpCompositeExtract %v4float %188 7 %212 = OpCompositeExtract %uint %189 7 %213 = OpCompositeConstruct %FHitProxyVSToDS %183 %211 %212 %214 = OpCompositeExtract %v4float %188 8 %215 = OpCompositeExtract %uint %189 8 %216 = OpCompositeConstruct %FHitProxyVSToDS %184 %214 %215 %217 = OpCompositeExtract %v4float %188 9 %218 = OpCompositeExtract %uint %189 9 %219 = OpCompositeConstruct %FHitProxyVSToDS %185 %217 %218 %220 = OpCompositeExtract %v4float %188 10 %221 = OpCompositeExtract %uint %189 10 %222 = OpCompositeConstruct %FHitProxyVSToDS %186 %220 %221 %223 = OpCompositeExtract %v4float %188 11 %224 = OpCompositeExtract %uint %189 11 %225 = OpCompositeConstruct %FHitProxyVSToDS %187 %223 %224 %226 = OpCompositeConstruct %_arr_FHitProxyVSToDS_uint_12 %192 %195 %198 %201 %204 %207 %210 %213 %216 %219 %222 %225 OpStore %param_var_I %226 %227 = OpLoad %uint %gl_InvocationID %228 = OpAccessChain %_ptr_Function_FVertexFactoryInterpolantsVSToDS %param_var_I %227 %int_0 %229 = OpLoad %FVertexFactoryInterpolantsVSToDS %228 %230 = OpCompositeExtract %FVertexFactoryInterpolantsVSToPS %229 0 %231 = OpCompositeExtract %v4float %230 0 %232 = OpCompositeExtract %v4float %230 1 %233 = OpVectorShuffle %v3float %231 %231 0 1 2 %234 = OpVectorShuffle %v3float %232 %232 0 1 2 %235 = OpExtInst %v3float %1 Cross %234 %233 %236 = OpCompositeExtract %float %232 3 %237 = OpCompositeConstruct %v3float %236 %236 %236 %238 = OpFMul %v3float %235 %237 %239 = OpCompositeConstruct %mat3v3float %233 %238 %234 %240 = OpCompositeExtract %float %232 0 %241 = OpCompositeExtract %float %232 1 %242 = OpCompositeExtract %float %232 2 %243 = OpCompositeConstruct %v4float %240 %241 %242 %float_0 %244 = OpAccessChain %_ptr_Uniform_v4float %Primitive %int_15 %245 = OpLoad %v4float %244 %246 = OpVectorShuffle %v3float %245 %245 0 1 2 %247 = OpVectorTimesMatrix %v3float %246 %239 %248 = OpULessThan %bool %227 %uint_2 %249 = OpIAdd %uint %227 %uint_1 %250 = OpSelect %uint %248 %249 %uint_0 %251 = OpIMul %uint %uint_2 %227 %252 = OpIAdd %uint %uint_3 %251 %253 = OpIAdd %uint %251 %uint_4 %254 = OpAccessChain %_ptr_Function_FHitProxyVSToDS %param_var_I %227 %255 = OpLoad %FHitProxyVSToDS %254 %256 = OpAccessChain %_ptr_Function_v4float %param_var_I %227 %int_1 %257 = OpLoad %v4float %256 %258 = OpULessThan %bool %250 %uint_2 %259 = OpIAdd %uint %250 %uint_1 %260 = OpSelect %uint %258 %259 %uint_0 %261 = OpIMul %uint %uint_2 %250 %262 = OpIAdd %uint %uint_3 %261 %263 = OpIAdd %uint %261 %uint_4 %264 = OpIAdd %uint %uint_9 %227 %265 = OpAccessChain %_ptr_Function_FHitProxyVSToDS %param_var_I %264 %266 = OpLoad %FHitProxyVSToDS %265 %267 = OpCompositeExtract %FVertexFactoryInterpolantsVSToDS %266 0 %268 = OpCompositeExtract %FVertexFactoryInterpolantsVSToPS %267 0 %269 = OpCompositeExtract %v4float %268 0 %270 = OpCompositeExtract %v4float %268 1 %271 = OpVectorShuffle %v3float %269 %269 0 1 2 %272 = OpCompositeExtract %float %270 0 %273 = OpCompositeExtract %float %270 1 %274 = OpCompositeExtract %float %270 2 %275 = OpCompositeConstruct %v4float %272 %273 %274 %float_0 %276 = OpAccessChain %_ptr_Function_FHitProxyVSToDS %param_var_I %250 %277 = OpLoad %FHitProxyVSToDS %276 %278 = OpCompositeExtract %uint %277 2 %279 = OpAccessChain %_ptr_Function_FHitProxyVSToDS %param_var_I %260 %280 = OpLoad %FHitProxyVSToDS %279 %281 = OpCompositeExtract %uint %280 2 %282 = OpAccessChain %_ptr_Function_FHitProxyVSToDS %param_var_I %262 %283 = OpLoad %FHitProxyVSToDS %282 %284 = OpCompositeExtract %uint %283 2 %285 = OpAccessChain %_ptr_Function_FHitProxyVSToDS %param_var_I %263 %286 = OpLoad %FHitProxyVSToDS %285 %287 = OpCompositeExtract %uint %286 2 %288 = OpCompositeExtract %FVertexFactoryInterpolantsVSToDS %277 0 %289 = OpCompositeExtract %FVertexFactoryInterpolantsVSToPS %288 0 %290 = OpCompositeExtract %v4float %289 0 %291 = OpCompositeExtract %v4float %289 1 %292 = OpCompositeExtract %FVertexFactoryInterpolantsVSToDS %280 0 %293 = OpCompositeExtract %FVertexFactoryInterpolantsVSToPS %292 0 %294 = OpCompositeExtract %v4float %293 0 %295 = OpCompositeExtract %v4float %293 1 %296 = OpULessThan %bool %284 %278 %297 = OpIEqual %bool %284 %278 %298 = OpULessThan %bool %287 %281 %299 = OpLogicalAnd %bool %297 %298 %300 = OpLogicalOr %bool %296 %299 OpSelectionMerge %301 None OpBranchConditional %300 %302 %301 %302 = OpLabel %303 = OpCompositeExtract %FVertexFactoryInterpolantsVSToDS %283 0 %304 = OpCompositeExtract %FVertexFactoryInterpolantsVSToPS %303 0 %305 = OpCompositeExtract %v4float %304 0 %306 = OpCompositeExtract %v4float %304 1 %307 = OpCompositeExtract %FVertexFactoryInterpolantsVSToDS %286 0 %308 = OpCompositeExtract %FVertexFactoryInterpolantsVSToPS %307 0 %309 = OpCompositeExtract %v4float %308 0 %310 = OpCompositeExtract %v4float %308 1 OpBranch %301 %301 = OpLabel %311 = OpPhi %v4float %294 %137 %309 %302 %312 = OpPhi %v4float %295 %137 %310 %302 %313 = OpPhi %v4float %290 %137 %305 %302 %314 = OpPhi %v4float %291 %137 %306 %302 %315 = OpVectorShuffle %v3float %313 %313 0 1 2 %316 = OpVectorShuffle %v3float %311 %311 0 1 2 %317 = OpCompositeExtract %float %314 0 %318 = OpCompositeExtract %float %314 1 %319 = OpCompositeExtract %float %314 2 %320 = OpCompositeConstruct %v4float %317 %318 %319 %float_0 %321 = OpCompositeExtract %float %312 0 %322 = OpCompositeExtract %float %312 1 %323 = OpCompositeExtract %float %312 2 %324 = OpCompositeConstruct %v4float %321 %322 %323 %float_0 %325 = OpAccessChain %_ptr_Function_FVertexFactoryInterpolantsVSToDS %param_var_I %250 %int_0 %326 = OpLoad %FVertexFactoryInterpolantsVSToDS %325 %327 = OpCompositeExtract %FVertexFactoryInterpolantsVSToPS %326 0 %328 = OpCompositeExtract %v4float %327 1 %329 = OpCompositeExtract %float %328 0 %330 = OpCompositeExtract %float %328 1 %331 = OpCompositeExtract %float %328 2 %332 = OpCompositeConstruct %v4float %329 %330 %331 %float_0 %333 = OpAccessChain %_ptr_Function_FVertexFactoryInterpolantsVSToDS %param_var_I %252 %int_0 %334 = OpLoad %FVertexFactoryInterpolantsVSToDS %333 %335 = OpCompositeExtract %FVertexFactoryInterpolantsVSToPS %334 0 %336 = OpCompositeExtract %v4float %335 1 %337 = OpCompositeExtract %float %336 0 %338 = OpCompositeExtract %float %336 1 %339 = OpCompositeExtract %float %336 2 %340 = OpCompositeConstruct %v4float %337 %338 %339 %float_0 %341 = OpAccessChain %_ptr_Function_FVertexFactoryInterpolantsVSToDS %param_var_I %253 %int_0 %342 = OpLoad %FVertexFactoryInterpolantsVSToDS %341 %343 = OpCompositeExtract %FVertexFactoryInterpolantsVSToPS %342 0 %344 = OpCompositeExtract %v4float %343 1 %345 = OpCompositeExtract %float %344 0 %346 = OpCompositeExtract %float %344 1 %347 = OpCompositeExtract %float %344 2 %348 = OpCompositeConstruct %v4float %345 %346 %347 %float_0 %349 = OpLoad %v4float %256 %350 = OpAccessChain %_ptr_Function_v4float %param_var_I %250 %int_1 %351 = OpLoad %v4float %350 %352 = OpFMul %v4float %63 %349 %353 = OpFAdd %v4float %352 %351 %354 = OpFSub %v4float %351 %349 %355 = OpDot %float %354 %243 %356 = OpCompositeConstruct %v4float %355 %355 %355 %355 %357 = OpFMul %v4float %356 %243 %358 = OpFSub %v4float %353 %357 %359 = OpFMul %v4float %358 %132 %360 = OpAccessChain %_ptr_Function_v4float %param_var_I %252 %int_1 %361 = OpLoad %v4float %360 %362 = OpAccessChain %_ptr_Function_v4float %param_var_I %253 %int_1 %363 = OpLoad %v4float %362 %364 = OpFMul %v4float %63 %361 %365 = OpFAdd %v4float %364 %363 %366 = OpFSub %v4float %363 %361 %367 = OpDot %float %366 %340 %368 = OpCompositeConstruct %v4float %367 %367 %367 %367 %369 = OpFMul %v4float %368 %340 %370 = OpFSub %v4float %365 %369 %371 = OpFMul %v4float %370 %132 %372 = OpFAdd %v4float %359 %371 %373 = OpFMul %v4float %372 %133 %374 = OpLoad %v4float %350 %375 = OpLoad %v4float %256 %376 = OpFMul %v4float %63 %374 %377 = OpFAdd %v4float %376 %375 %378 = OpFSub %v4float %375 %374 %379 = OpDot %float %378 %332 %380 = OpCompositeConstruct %v4float %379 %379 %379 %379 %381 = OpFMul %v4float %380 %332 %382 = OpFSub %v4float %377 %381 %383 = OpFMul %v4float %382 %132 %384 = OpLoad %v4float %362 %385 = OpLoad %v4float %360 %386 = OpFMul %v4float %63 %384 %387 = OpFAdd %v4float %386 %385 %388 = OpFSub %v4float %385 %384 %389 = OpDot %float %388 %348 %390 = OpCompositeConstruct %v4float %389 %389 %389 %389 %391 = OpFMul %v4float %390 %348 %392 = OpFSub %v4float %387 %391 %393 = OpFMul %v4float %392 %132 %394 = OpFAdd %v4float %383 %393 %395 = OpFMul %v4float %394 %133 %396 = OpCompositeConstruct %FHullShaderConstantDominantEdgeData %130 %130 %320 %324 %315 %316 %397 = OpCompositeConstruct %FHullShaderConstantDominantVertexData %130 %275 %271 %398 = OpCompositeConstruct %_arr_v4float_uint_3 %257 %373 %395 %399 = OpCompositeConstruct %FPNTessellationHSToDS %255 %398 %247 %float_1 %float_1 %397 %396 %400 = OpCompositeExtract %FVertexFactoryInterpolantsVSToDS %255 0 %401 = OpCompositeExtract %FVertexFactoryInterpolantsVSToPS %400 0 %402 = OpCompositeExtract %v4float %401 0 %403 = OpAccessChain %_ptr_Output_v4float %out_var_TEXCOORD10_centroid %227 OpStore %403 %402 %404 = OpCompositeExtract %v4float %401 1 %405 = OpAccessChain %_ptr_Output_v4float %out_var_TEXCOORD11_centroid %227 OpStore %405 %404 %406 = OpCompositeExtract %v4float %255 1 %407 = OpAccessChain %_ptr_Output_v4float %out_var_VS_To_DS_Position %227 OpStore %407 %406 %408 = OpCompositeExtract %uint %255 2 %409 = OpAccessChain %_ptr_Output_uint %out_var_VS_To_DS_VertexID %227 OpStore %409 %408 %410 = OpAccessChain %_ptr_Output__arr_v4float_uint_3 %out_var_PN_POSITION %227 OpStore %410 %398 %411 = OpAccessChain %_ptr_Output_v3float %out_var_PN_DisplacementScales %227 OpStore %411 %247 %412 = OpAccessChain %_ptr_Output_float %out_var_PN_TessellationMultiplier %227 OpStore %412 %float_1 %413 = OpAccessChain %_ptr_Output_float %out_var_PN_WorldDisplacementMultiplier %227 OpStore %413 %float_1 %414 = OpAccessChain %_ptr_Output_v2float %out_var_PN_DominantVertex %227 OpStore %414 %130 %415 = OpAccessChain %_ptr_Output_v4float %out_var_PN_DominantVertex1 %227 OpStore %415 %275 %416 = OpAccessChain %_ptr_Output_v3float %out_var_PN_DominantVertex2 %227 OpStore %416 %271 %417 = OpAccessChain %_ptr_Output_v2float %out_var_PN_DominantEdge %227 OpStore %417 %130 %418 = OpAccessChain %_ptr_Output_v2float %out_var_PN_DominantEdge1 %227 OpStore %418 %130 %419 = OpAccessChain %_ptr_Output_v4float %out_var_PN_DominantEdge2 %227 OpStore %419 %320 %420 = OpAccessChain %_ptr_Output_v4float %out_var_PN_DominantEdge3 %227 OpStore %420 %324 %421 = OpAccessChain %_ptr_Output_v3float %out_var_PN_DominantEdge4 %227 OpStore %421 %315 %422 = OpAccessChain %_ptr_Output_v3float %out_var_PN_DominantEdge5 %227 OpStore %422 %316 %423 = OpAccessChain %_ptr_Workgroup_FPNTessellationHSToDS %temp_var_hullMainRetVal %227 OpStore %423 %399 OpControlBarrier %uint_2 %uint_4 %uint_0 %424 = OpIEqual %bool %227 %uint_0 OpSelectionMerge %if_merge None OpBranchConditional %424 %425 %if_merge %425 = OpLabel %426 = OpAccessChain %_ptr_Uniform_mat4v4float %View %int_0 %427 = OpLoad %mat4v4float %426 %428 = OpAccessChain %_ptr_Uniform_mat4v4float %View %int_7 %429 = OpLoad %mat4v4float %428 %430 = OpAccessChain %_ptr_Uniform_v3float %View %int_28 %431 = OpLoad %v3float %430 %432 = OpAccessChain %_ptr_Uniform_float %View %int_78 %433 = OpLoad %float %432 %434 = OpAccessChain %_ptr_Workgroup_v4float %temp_var_hullMainRetVal %uint_0 %int_1 %int_0 %435 = OpLoad %v4float %434 %436 = OpAccessChain %_ptr_Workgroup_v4float %temp_var_hullMainRetVal %uint_0 %int_1 %int_1 %437 = OpLoad %v4float %436 %438 = OpAccessChain %_ptr_Workgroup_v4float %temp_var_hullMainRetVal %uint_0 %int_1 %int_2 %439 = OpLoad %v4float %438 %440 = OpAccessChain %_ptr_Workgroup_v4float %temp_var_hullMainRetVal %uint_1 %int_1 %int_0 %441 = OpLoad %v4float %440 %442 = OpAccessChain %_ptr_Workgroup_v4float %temp_var_hullMainRetVal %uint_1 %int_1 %int_1 %443 = OpLoad %v4float %442 %444 = OpAccessChain %_ptr_Workgroup_v4float %temp_var_hullMainRetVal %uint_1 %int_1 %int_2 %445 = OpLoad %v4float %444 %446 = OpAccessChain %_ptr_Workgroup_v4float %temp_var_hullMainRetVal %uint_2 %int_1 %int_0 %447 = OpLoad %v4float %446 %448 = OpAccessChain %_ptr_Workgroup_v4float %temp_var_hullMainRetVal %uint_2 %int_1 %int_1 %449 = OpLoad %v4float %448 %450 = OpAccessChain %_ptr_Workgroup_v4float %temp_var_hullMainRetVal %uint_2 %int_1 %int_2 %451 = OpLoad %v4float %450 %452 = OpFAdd %v4float %437 %439 %453 = OpFAdd %v4float %452 %443 %454 = OpFAdd %v4float %453 %445 %455 = OpFAdd %v4float %454 %449 %456 = OpFAdd %v4float %455 %451 %457 = OpFMul %v4float %456 %135 %458 = OpFAdd %v4float %447 %441 %459 = OpFAdd %v4float %458 %435 %460 = OpFMul %v4float %459 %132 %461 = OpFSub %v4float %457 %460 %462 = OpFMul %v4float %461 %133 %463 = OpFAdd %v4float %457 %462 %464 = OpAccessChain %_ptr_Workgroup_float %temp_var_hullMainRetVal %uint_1 %int_3 %465 = OpLoad %float %464 %466 = OpAccessChain %_ptr_Workgroup_float %temp_var_hullMainRetVal %uint_2 %int_3 %467 = OpLoad %float %466 %468 = OpFAdd %float %465 %467 %469 = OpFMul %float %float_0_5 %468 %470 = OpCompositeInsert %v4float %469 %136 0 %471 = OpLoad %float %466 %472 = OpAccessChain %_ptr_Workgroup_float %temp_var_hullMainRetVal %uint_0 %int_3 %473 = OpLoad %float %472 %474 = OpFAdd %float %471 %473 %475 = OpFMul %float %float_0_5 %474 %476 = OpCompositeInsert %v4float %475 %470 1 %477 = OpLoad %float %472 %478 = OpLoad %float %464 %479 = OpFAdd %float %477 %478 %480 = OpFMul %float %float_0_5 %479 %481 = OpCompositeInsert %v4float %480 %476 2 %482 = OpLoad %float %472 %483 = OpLoad %float %464 %484 = OpFAdd %float %482 %483 %485 = OpLoad %float %466 %486 = OpFAdd %float %484 %485 %487 = OpFMul %float %float_0_333000004 %486 %488 = OpCompositeInsert %v4float %487 %481 3 %489 = OpVectorShuffle %v3float %435 %435 0 1 2 %490 = OpVectorShuffle %v3float %441 %441 0 1 2 %491 = OpVectorShuffle %v3float %447 %447 0 1 2 OpBranch %492 %492 = OpLabel OpLoopMerge %493 %494 None OpBranch %495 %495 = OpLabel %496 = OpMatrixTimesVector %v4float %429 %77 %497 = OpCompositeExtract %float %435 0 %498 = OpCompositeExtract %float %435 1 %499 = OpCompositeExtract %float %435 2 %500 = OpCompositeConstruct %v4float %497 %498 %499 %float_1 %501 = OpMatrixTimesVector %v4float %427 %500 %502 = OpVectorShuffle %v3float %501 %501 0 1 2 %503 = OpVectorShuffle %v3float %496 %496 0 1 2 %504 = OpFSub %v3float %502 %503 %505 = OpCompositeExtract %float %501 3 %506 = OpCompositeExtract %float %496 3 %507 = OpFAdd %float %505 %506 %508 = OpCompositeConstruct %v3float %507 %507 %507 %509 = OpFOrdLessThan %v3bool %504 %508 %510 = OpSelect %v3int %509 %83 %74 %511 = OpFAdd %v3float %502 %503 %512 = OpFNegate %float %505 %513 = OpFSub %float %512 %506 %514 = OpCompositeConstruct %v3float %513 %513 %513 %515 = OpFOrdGreaterThan %v3bool %511 %514 %516 = OpSelect %v3int %515 %83 %74 %517 = OpIMul %v3int %84 %516 %518 = OpIAdd %v3int %510 %517 %519 = OpCompositeExtract %float %441 0 %520 = OpCompositeExtract %float %441 1 %521 = OpCompositeExtract %float %441 2 %522 = OpCompositeConstruct %v4float %519 %520 %521 %float_1 %523 = OpMatrixTimesVector %v4float %427 %522 %524 = OpVectorShuffle %v3float %523 %523 0 1 2 %525 = OpFSub %v3float %524 %503 %526 = OpCompositeExtract %float %523 3 %527 = OpFAdd %float %526 %506 %528 = OpCompositeConstruct %v3float %527 %527 %527 %529 = OpFOrdLessThan %v3bool %525 %528 %530 = OpSelect %v3int %529 %83 %74 %531 = OpFAdd %v3float %524 %503 %532 = OpFNegate %float %526 %533 = OpFSub %float %532 %506 %534 = OpCompositeConstruct %v3float %533 %533 %533 %535 = OpFOrdGreaterThan %v3bool %531 %534 %536 = OpSelect %v3int %535 %83 %74 %537 = OpIMul %v3int %84 %536 %538 = OpIAdd %v3int %530 %537 %539 = OpBitwiseOr %v3int %518 %538 %540 = OpCompositeExtract %float %447 0 %541 = OpCompositeExtract %float %447 1 %542 = OpCompositeExtract %float %447 2 %543 = OpCompositeConstruct %v4float %540 %541 %542 %float_1 %544 = OpMatrixTimesVector %v4float %427 %543 %545 = OpVectorShuffle %v3float %544 %544 0 1 2 %546 = OpFSub %v3float %545 %503 %547 = OpCompositeExtract %float %544 3 %548 = OpFAdd %float %547 %506 %549 = OpCompositeConstruct %v3float %548 %548 %548 %550 = OpFOrdLessThan %v3bool %546 %549 %551 = OpSelect %v3int %550 %83 %74 %552 = OpFAdd %v3float %545 %503 %553 = OpFNegate %float %547 %554 = OpFSub %float %553 %506 %555 = OpCompositeConstruct %v3float %554 %554 %554 %556 = OpFOrdGreaterThan %v3bool %552 %555 %557 = OpSelect %v3int %556 %83 %74 %558 = OpIMul %v3int %84 %557 %559 = OpIAdd %v3int %551 %558 %560 = OpBitwiseOr %v3int %539 %559 %561 = OpINotEqual %v3bool %560 %75 %562 = OpAny %bool %561 OpSelectionMerge %563 None OpBranchConditional %562 %564 %563 %564 = OpLabel OpBranch %493 %563 = OpLabel %565 = OpFSub %v3float %489 %490 %566 = OpFSub %v3float %490 %491 %567 = OpFSub %v3float %491 %489 %568 = OpFAdd %v3float %489 %490 %569 = OpFMul %v3float %78 %568 %570 = OpFSub %v3float %569 %431 %571 = OpFAdd %v3float %490 %491 %572 = OpFMul %v3float %78 %571 %573 = OpFSub %v3float %572 %431 %574 = OpFAdd %v3float %491 %489 %575 = OpFMul %v3float %78 %574 %576 = OpFSub %v3float %575 %431 %577 = OpDot %float %566 %566 %578 = OpDot %float %573 %573 %579 = OpFDiv %float %577 %578 %580 = OpExtInst %float %1 Sqrt %579 %581 = OpDot %float %567 %567 %582 = OpDot %float %576 %576 %583 = OpFDiv %float %581 %582 %584 = OpExtInst %float %1 Sqrt %583 %585 = OpDot %float %565 %565 %586 = OpDot %float %570 %570 %587 = OpFDiv %float %585 %586 %588 = OpExtInst %float %1 Sqrt %587 %589 = OpCompositeConstruct %v4float %580 %584 %588 %float_1 %590 = OpFAdd %float %580 %584 %591 = OpFAdd %float %590 %588 %592 = OpFMul %float %float_0_333000004 %591 %593 = OpCompositeInsert %v4float %592 %589 3 %594 = OpCompositeConstruct %v4float %433 %433 %433 %433 %595 = OpFMul %v4float %594 %593 OpBranch %493 %494 = OpLabel OpBranch %492 %493 = OpLabel %596 = OpPhi %v4float %77 %564 %595 %563 %597 = OpFMul %v4float %488 %596 %598 = OpExtInst %v4float %1 FClamp %597 %68 %70 %599 = OpCompositeExtract %float %598 0 %600 = OpCompositeExtract %float %598 1 %601 = OpCompositeExtract %float %598 2 %602 = OpCompositeExtract %float %598 3 %603 = OpAccessChain %_ptr_Output_float %gl_TessLevelOuter %uint_0 OpStore %603 %599 %604 = OpAccessChain %_ptr_Output_float %gl_TessLevelOuter %uint_1 OpStore %604 %600 %605 = OpAccessChain %_ptr_Output_float %gl_TessLevelOuter %uint_2 OpStore %605 %601 %606 = OpAccessChain %_ptr_Output_float %gl_TessLevelInner %uint_0 OpStore %606 %602 OpStore %out_var_PN_POSITION9 %463 OpBranch %if_merge %if_merge = OpLabel OpReturn OpFunctionEnd