//
// Generated by Microsoft (R) HLSL Shader Compiler 9.30.9200.20499
//
//
///
// Buffer Definitions: 
//
// cbuffer $Globals
// {
//
//   float4 _Time;                      // Offset:    0 Size:    16 [unused]
//   float4 _SinTime;                   // Offset:   16 Size:    16 [unused]
//   float4 _CosTime;                   // Offset:   32 Size:    16 [unused]
//   float4 var_DeltaTime;              // Offset:   48 Size:    16 [unused]
//   float3 _WorldSpaceCameraPos;       // Offset:   64 Size:    12 [unused]
//   float4 _ProjectionParams;          // Offset:   80 Size:    16 [unused]
//   float4 _ScreenParams;              // Offset:   96 Size:    16 [unused]
//   float4 _ZBufferParams;             // Offset:  112 Size:    16 [unused]
//   float4 var_OrthoParams;            // Offset:  128 Size:    16 [unused]
//   float4 var_CameraWorldClipPlanes[6];// Offset:  144 Size:    96 [unused]
//   float4x4 var_CameraProjection;     // Offset:  240 Size:    64 [unused]
//   float4x4 var_CameraInvProjection;  // Offset:  304 Size:    64 [unused]
//   float4 _WorldSpaceLightPos0;       // Offset:  368 Size:    16 [unused]
//   float4 _LightPositionRange;        // Offset:  384 Size:    16 [unused]
//   float4 var_4LightPosX0;            // Offset:  400 Size:    16 [unused]
//   float4 var_4LightPosY0;            // Offset:  416 Size:    16 [unused]
//   float4 var_4LightPosZ0;            // Offset:  432 Size:    16 [unused]
//   float4 var_4LightAtten0;           // Offset:  448 Size:    16 [unused]
//   float4 var_LightColor[8];          // Offset:  464 Size:   128 [unused]
//   float4 var_LightPosition[8];       // Offset:  592 Size:   128 [unused]
//   float4 var_LightAtten[8];          // Offset:  720 Size:   128 [unused]
//   float4 var_SpotDirection[8];       // Offset:  848 Size:   128 [unused]
//   float4 var_SHAr;                   // Offset:  976 Size:    16 [unused]
//   float4 var_SHAg;                   // Offset:  992 Size:    16 [unused]
//   float4 var_SHAb;                   // Offset: 1008 Size:    16 [unused]
//   float4 var_SHBr;                   // Offset: 1024 Size:    16 [unused]
//   float4 var_SHBg;                   // Offset: 1040 Size:    16 [unused]
//   float4 var_SHBb;                   // Offset: 1056 Size:    16 [unused]
//   float4 var_SHC;                    // Offset: 1072 Size:    16 [unused]
//   float3 var_LightColor0;            // Offset: 1088 Size:    12 [unused]
//   float3 var_LightColor1;            // Offset: 1104 Size:    12 [unused]
//   float3 var_LightColor2;            // Offset: 1120 Size:    12 [unused]
//   float3 var_LightColor3;            // Offset: 1136 Size:    12 [unused]
//   float4 var_ShadowSplitSpheres[4];  // Offset: 1152 Size:    64 [unused]
//   float4 var_ShadowSplitSqRadii;     // Offset: 1216 Size:    16 [unused]
//   float4 var_LightShadowBias;        // Offset: 1232 Size:    16 [unused]
//   float4 _LightSplitsNear;           // Offset: 1248 Size:    16 [unused]
//   float4 _LightSplitsFar;            // Offset: 1264 Size:    16 [unused]
//   float4x4 var_World2Shadow[4];      // Offset: 1280 Size:   256 [unused]
//   float4 _LightShadowData;           // Offset: 1536 Size:    16 [unused]
//   float4 var_ShadowFadeCenterAndType;// Offset: 1552 Size:    16 [unused]
//   float4x4 glstate_matrix_mvp;       // Offset: 1568 Size:    64 [unused]
//   float4x4 glstate_matrix_modelview0;// Offset: 1632 Size:    64 [unused]
//   float4x4 glstate_matrix_invtrans_modelview0;// Offset: 1696 Size:    64 [unused]
//   float4x4 _Object2World;            // Offset: 1760 Size:    64 [unused]
//   float4x4 _World2Object;            // Offset: 1824 Size:    64 [unused]
//   float4 var_LODFade;                // Offset: 1888 Size:    16 [unused]
//   float4x4 glstate_matrix_transpose_modelview0;// Offset: 1904 Size:    64 [unused]
//   float4x4 glstate_matrix_projection;// Offset: 1968 Size:    64 [unused]
//   float4 glstate_lightmodel_ambient; // Offset: 2032 Size:    16 [unused]
//   float4x4 var_MatrixV;              // Offset: 2048 Size:    64 [unused]
//   float4x4 var_MatrixVP;             // Offset: 2112 Size:    64 [unused]
//   float4 var_AmbientSky;             // Offset: 2176 Size:    16 [unused]
//   float4 var_AmbientGround;          // Offset: 2192 Size:    16 [unused]
//   float4 var_FogColor;               // Offset: 2208 Size:    16 [unused]
//   float4 var_FogParams;              // Offset: 2224 Size:    16 [unused]
//   float4 var_ColorSpaceGrey;         // Offset: 2240 Size:    16 [unused]
//   float4 var_ColorSpaceDouble;       // Offset: 2256 Size:    16 [unused]
//   float _TessEdge;                   // Offset: 2272 Size:     4
//   float _Displacement;               // Offset: 2276 Size:     4 [unused]
//
// }
//
//
// Resource Bindings:
//
// Name                                 Type  Format         Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// $Globals                          cbuffer      NA          NA    0        1
//
//
//
// Patch Constant signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_TessFactor            0   x           0  TRIEDGE   float   x   
// POS                      3    yzw        0     NONE   float    yzw
// SV_TessFactor            1   x           1  TRIEDGE   float   x   
// POS                      4    yzw        1     NONE   float    yzw
// SV_TessFactor            2   x           2  TRIEDGE   float   x   
// POS                      5    yzw        2     NONE   float    yzw
// SV_InsideTessFactor      0   x           3   TRIINT   float   x   
// POS                      6    yzw        3     NONE   float    yzw
// POS                      7   xyz         4     NONE   float   xyz 
// POS                      8   xyz         5     NONE   float   xyz 
// CENTER                   0   xyz         6     NONE   float   xyz 
// NORMAL                   3   xyz         7     NONE   float   xyz 
// NORMAL                   4   xyz         8     NONE   float   xyz 
// NORMAL                   5   xyz         9     NONE   float   xyz 
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// POS                      0   xyzw        0     NONE   float   xyz 
// NORMAL                   0   xyz         1     NONE   float   xyz 
// TEXCOORD                 0   xy          2     NONE   float   xy  
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// POS                      0   xyz         0     NONE   float   xyz 
// NORMAL                   0   xyz         1     NONE   float   xyz 
// TEXCOORD                 0   xy          2     NONE   float   xy  
//
// Tessellation Domain   # of control points
// -------------------- --------------------
// Triangle                                3
//
// Tessellation Output Primitive  Partitioning Type 
// ------------------------------ ------------------
// Clockwise Triangles            Odd Fractional    
//
hs_5_0
hs_decls 
dcl_input_control_point_count 3
dcl_output_control_point_count 3
dcl_tessellator_domain domain_tri
dcl_tessellator_partitioning partitioning_fractional_odd
dcl_tessellator_output_primitive output_triangle_cw
dcl_globalFlags refactoringAllowed | skipOptimization
dcl_constantbuffer cb0[143], immediateIndexed
hs_control_point_phase 
dcl_input vOutputControlPointID
dcl_input v[3][0].xyz
dcl_input v[3][1].xyz
dcl_input v[3][2].xy
dcl_output o0.xyz
dcl_output o1.xyz
dcl_output o2.xy
dcl_temps 3
mov r0.x, vOutputControlPointID
mov r0.yzw, v[r0.x + 0][0].xxyz
mov r1.xyz, v[r0.x + 0][1].xyzx
mov r2.xy, v[r0.x + 0][2].xyxx
mov o0.xyz, r0.yzwy
mov o1.xyz, r1.xyzx
mov o2.xy, r2.xyxx
ret 
hs_join_phase 
dcl_input vicp[3][0].xyz
dcl_input vicp[3][1].xyz
dcl_output_siv o0.x, finalTriUeq0EdgeTessFactor
dcl_output o0.yzw
dcl_output_siv o1.x, finalTriVeq0EdgeTessFactor
dcl_output o1.yzw
dcl_output_siv o2.x, finalTriWeq0EdgeTessFactor
dcl_output o2.yzw
dcl_output_siv o3.x, finalTriInsideTessFactor
dcl_output o3.yzw
dcl_output o4.xyz
dcl_output o5.xyz
dcl_output o6.xyz
dcl_output o7.xyz
dcl_output o8.xyz
dcl_output o9.xyz
dcl_temps 17
mov r0.x, cb0[142].x
mov r0.x, r0.x
mov r0.x, r0.x
mov r0.y, cb0[142].x
mov r1.xyz, vicp[0][0].xyzx
mov r2.xyz, vicp[1][0].xyzx
mov r3.xyz, vicp[2][0].xyzx
mov r4.xyz, vicp[0][1].xyzx
mov r5.xyz, vicp[1][1].xyzx
mov r6.xyz, vicp[2][1].xyzx
mul r7.xyz, r1.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000)
add r7.xyz, r2.xyzx, r7.xyzx
mov r8.xyz, -r1.xyzx
add r8.xyz, r2.xyzx, r8.xyzx
dp3 r0.z, r8.xyzx, r4.xyzx
mul r8.xyz, r4.xyzx, r0.zzzz
mov r8.xyz, -r8.xyzx
add r7.xyz, r7.xyzx, r8.xyzx
div r7.xyz, r7.xyzx, l(3.000000, 3.000000, 3.000000, 0.000000)
mul r8.xyz, r2.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000)
add r8.xyz, r1.xyzx, r8.xyzx
mov r9.xyz, -r2.xyzx
add r9.xyz, r1.xyzx, r9.xyzx
dp3 r0.z, r9.xyzx, r5.xyzx
mul r9.xyz, r5.xyzx, r0.zzzz
mov r9.xyz, -r9.xyzx
add r8.xyz, r8.xyzx, r9.xyzx
div r8.xyz, r8.xyzx, l(3.000000, 3.000000, 3.000000, 0.000000)
mul r9.xyz, r2.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000)
add r9.xyz, r3.xyzx, r9.xyzx
mov r10.xyz, -r2.xyzx
add r10.xyz, r3.xyzx, r10.xyzx
dp3 r0.z, r10.xyzx, r5.xyzx
mul r10.xyz, r5.xyzx, r0.zzzz
mov r10.xyz, -r10.xyzx
add r9.xyz, r9.xyzx, r10.xyzx
div r9.xyz, r9.xyzx, l(3.000000, 3.000000, 3.000000, 0.000000)
mul r10.xyz, r3.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000)
add r10.xyz, r2.xyzx, r10.xyzx
mov r11.xyz, -r3.xyzx
add r11.xyz, r2.xyzx, r11.xyzx
dp3 r0.z, r11.xyzx, r6.xyzx
mul r11.xyz, r6.xyzx, r0.zzzz
mov r11.xyz, -r11.xyzx
add r10.xyz, r10.xyzx, r11.xyzx
div r10.xyz, r10.xyzx, l(3.000000, 3.000000, 3.000000, 0.000000)
mul r11.xyz, r3.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000)
add r11.xyz, r1.xyzx, r11.xyzx
mov r12.xyz, -r3.xyzx
add r12.xyz, r1.xyzx, r12.xyzx
dp3 r0.z, r12.xyzx, r6.xyzx
mul r12.xyz, r6.xyzx, r0.zzzz
mov r12.xyz, -r12.xyzx
add r11.xyz, r11.xyzx, r12.xyzx
div r11.xyz, r11.xyzx, l(3.000000, 3.000000, 3.000000, 0.000000)
mul r12.xyz, r1.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000)
add r12.xyz, r3.xyzx, r12.xyzx
mov r13.xyz, -r1.xyzx
add r13.xyz, r3.xyzx, r13.xyzx
dp3 r0.z, r13.xyzx, r4.xyzx
mul r13.xyz, r4.xyzx, r0.zzzz
mov r13.xyz, -r13.xyzx
add r12.xyz, r12.xyzx, r13.xyzx
div r12.xyz, r12.xyzx, l(3.000000, 3.000000, 3.000000, 0.000000)
add r13.xyz, r7.xyzx, r8.xyzx
add r13.xyz, r9.xyzx, r13.xyzx
add r13.xyz, r10.xyzx, r13.xyzx
add r13.xyz, r11.xyzx, r13.xyzx
add r13.xyz, r12.xyzx, r13.xyzx
div r13.xyz, r13.xyzx, l(6.000000, 6.000000, 6.000000, 0.000000)
add r14.xyz, r1.xyzx, r2.xyzx
add r14.xyz, r3.xyzx, r14.xyzx
div r14.xyz, r14.xyzx, l(3.000000, 3.000000, 3.000000, 0.000000)
mov r14.xyz, -r14.xyzx
add r14.xyz, r13.xyzx, r14.xyzx
div r14.xyz, r14.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000)
add r13.xyz, r13.xyzx, r14.xyzx
mov r14.xyz, -r1.xyzx
add r14.xyz, r2.xyzx, r14.xyzx
add r15.xyz, r4.xyzx, r5.xyzx
dp3 r0.z, r14.xyzx, r15.xyzx
mul r0.z, r0.z, l(2.000000)
mov r14.xyz, -r1.xyzx
add r14.xyz, r2.xyzx, r14.xyzx
mov r15.xyz, -r1.xyzx
add r15.xyz, r2.xyzx, r15.xyzx
dp3 r0.w, r14.xyzx, r15.xyzx
div r0.z, r0.z, r0.w
add r14.xyz, r4.xyzx, r5.xyzx
mov r15.xyz, -r1.xyzx
add r15.xyz, r2.xyzx, r15.xyzx
mul r15.xyz, r0.zzzz, r15.xyzx
mov r15.xyz, -r15.xyzx
add r14.xyz, r14.xyzx, r15.xyzx
dp3 r0.z, r14.xyzx, r14.xyzx
rsq r0.z, r0.z
mul r14.xyz, r0.zzzz, r14.xyzx
mov r15.xyz, -r2.xyzx
add r15.xyz, r3.xyzx, r15.xyzx
add r16.xyz, r5.xyzx, r6.xyzx
dp3 r0.z, r15.xyzx, r16.xyzx
mul r0.z, r0.z, l(2.000000)
mov r15.xyz, -r2.xyzx
add r15.xyz, r3.xyzx, r15.xyzx
mov r16.xyz, -r2.xyzx
add r16.xyz, r3.xyzx, r16.xyzx
dp3 r0.w, r15.xyzx, r16.xyzx
div r0.z, r0.z, r0.w
add r5.xyz, r5.xyzx, r6.xyzx
mov r2.xyz, -r2.xyzx
add r2.xyz, r2.xyzx, r3.xyzx
mul r2.xyz, r0.zzzz, r2.xyzx
mov r2.xyz, -r2.xyzx
add r2.xyz, r2.xyzx, r5.xyzx
dp3 r0.z, r2.xyzx, r2.xyzx
rsq r0.z, r0.z
mul r2.xyz, r0.zzzz, r2.xyzx
mov r5.xyz, -r3.xyzx
add r5.xyz, r1.xyzx, r5.xyzx
add r15.xyz, r4.xyzx, r6.xyzx
dp3 r0.z, r5.xyzx, r15.xyzx
mul r0.z, r0.z, l(2.000000)
mov r5.xyz, -r3.xyzx
add r5.xyz, r1.xyzx, r5.xyzx
mov r15.xyz, -r3.xyzx
add r15.xyz, r1.xyzx, r15.xyzx
dp3 r0.w, r5.xyzx, r15.xyzx
div r0.z, r0.z, r0.w
add r4.xyz, r4.xyzx, r6.xyzx
mov r3.xyz, -r3.xyzx
add r1.xyz, r1.xyzx, r3.xyzx
mul r1.xyz, r0.zzzz, r1.xyzx
mov r1.xyz, -r1.xyzx
add r1.xyz, r1.xyzx, r4.xyzx
dp3 r0.z, r1.xyzx, r1.xyzx
rsq r0.z, r0.z
mul r1.xyz, r0.zzzz, r1.xyzx
mov o0.yzw, r7.xxyz
mov o1.yzw, r8.xxyz
mov o2.yzw, r9.xxyz
mov o3.yzw, r10.xxyz
mov o4.xyz, r11.xyzx
mov o5.xyz, r12.xyzx
mov o6.xyz, r13.xyzx
mov o7.xyz, r14.xyzx
mov o8.xyz, r2.xyzx
mov o9.xyz, r1.xyzx
mov o0.x, r0.x
mov o1.x, r0.x
mov o2.x, r0.x
mov o3.x, r0.y
ret 
// Approximately 160 instruction slots used
