//
// Generated by Microsoft (R) HLSL Shader Compiler 9.26.952.2844
//
// Parameters:
//
//   float4 gDirectionalColour;
//   float4 gDirectionalLight;
//   float4 gFacetCentre;
//   float gInvColorExpBias;
//   float4 gLightAmbient0;
//   row_major float4x4 gShadowMatrix;
//   float4 gShadowParam0123;
//   float4 gShadowParam14151617;
//   float4 gShadowParam4567;
//   float4 gShadowParam891113;
//   sampler2D gShadowZSamplerDirVS;
//   row_major float4x4 gViewInverse;
//   row_major float4x4 gWorldViewProj;
//   float2 poisson12[12];
//
//
// Registers:
//
//   Name                 Reg   Size
//   -------------------- ----- ----
//   gWorldViewProj       c8       4
//   gViewInverse         c12      4
//   gDirectionalLight    c17      1
//   gDirectionalColour   c18      1
//   gLightAmbient0       c37      1
//   gInvColorExpBias     c46      1
//   gFacetCentre         c54      1
//   gShadowParam14151617 c56      1
//   gShadowParam0123     c57      1
//   gShadowParam4567     c58      1
//   gShadowParam891113   c59      1
//   gShadowMatrix        c60      4
//   poisson12            c208    12
//   gShadowZSamplerDirVS s3       1
//

    vs_3_0
    def c230, 1.8395173895e+25, 3.9938258725e+24, 4.5435787456e+30, 2.8292215995e-42 // 2019
    def c0, 0, 1, -0.0833333358, 0
    def c1, -2, 2, 1, -1
    dcl_position v0
    dcl_normal v1
    dcl_texcoord v2
    dcl_color v3
    dcl_2d s3
    dcl_position o0
    dcl_texcoord9 o10
    dcl_color o1
    dcl_texcoord o2
    dcl_texcoord1 o3
    dcl_texcoord2 o4
    mov r0.zw, c0.x
    mov r1.z, c0.x
    mul r2.xy, v2, v2
    add r1.w, r2.y, r2.x
    rsq r1.w, r1.w
    rcp r2.x, r1.w
    mul r1.xy, r2.x, c208
    add r1.xyz, r1, v1
    mul r2.yzw, r1.y, c61.xxyw
    mad r2.yzw, r1.x, c60.xxyw, r2
    mad r2.yzw, r1.z, c62.xxyw, r2
    dp3 r1.x, c14, r1
    sge r3.yzw, -r1.x, c54.xxyz
    add r1.xyz, r2.yzww, c63.xyww
    mov r3.x, c0.y
    dp4 r4.x, r3, c57
    dp4 r4.y, r3, c58
    dp4 r5.x, r3, c59
    dp4 r5.y, r3, c56
    mad r0.xy, r1, r4, r5
    texldl r0, r0, s3
    add r0.x, -r1.z, r0.x
    slt r0.x, c0.x, r0.x
    mad r0.x, r0.x, c0.z, c0.y
    mov r3.zw, c0.x
    mov r1.z, c0.x
    mul r1.xy, r2.x, c209
    add r0.yzw, r1.xxyz, v1.xxyz
    mul r1.xyz, r0.z, c61.xyww
    mad r1.xyz, r0.y, c60.xyww, r1
    mad r1.xyz, r0.w, c62.xyww, r1
    dp3 r0.y, c14, r0.yzww
    sge r4.yzw, -r0.y, c54.xxyz
    add r0.yzw, r1.xxyz, c63.xxyw
    mov r4.x, c0.y
    dp4 r1.x, r4, c57
    dp4 r1.y, r4, c58
    dp4 r5.x, r4, c59
    dp4 r5.y, r4, c56
    mad r3.xy, r0.yzzw, r1, r5
    texldl r3, r3, s3
    add r0.y, -r0.w, r3.x
    slt r0.y, c0.x, r0.y
    mad r0.x, r0.y, c0.z, r0.x
    mov r3.zw, c0.x
    mov r1.z, c0.x
    mul r1.xy, r2.x, c210
    add r0.yzw, r1.xxyz, v1.xxyz
    mul r1.xyz, r0.z, c61.xyww
    mad r1.xyz, r0.y, c60.xyww, r1
    mad r1.xyz, r0.w, c62.xyww, r1
    dp3 r0.y, c14, r0.yzww
    sge r4.yzw, -r0.y, c54.xxyz
    add r0.yzw, r1.xxyz, c63.xxyw
    mov r4.x, c0.y
    dp4 r1.x, r4, c57
    dp4 r1.y, r4, c58
    dp4 r5.x, r4, c59
    dp4 r5.y, r4, c56
    mad r3.xy, r0.yzzw, r1, r5
    texldl r3, r3, s3
    add r0.y, -r0.w, r3.x
    slt r0.y, c0.x, r0.y
    mad r0.x, r0.y, c0.z, r0.x
    mov r3.zw, c0.x
    mov r1.z, c0.x
    mul r1.xy, r2.x, c211
    add r0.yzw, r1.xxyz, v1.xxyz
    mul r1.xyz, r0.z, c61.xyww
    mad r1.xyz, r0.y, c60.xyww, r1
    mad r1.xyz, r0.w, c62.xyww, r1
    dp3 r0.y, c14, r0.yzww
    sge r4.yzw, -r0.y, c54.xxyz
    add r0.yzw, r1.xxyz, c63.xxyw
    mov r4.x, c0.y
    dp4 r1.x, r4, c57
    dp4 r1.y, r4, c58
    dp4 r5.x, r4, c59
    dp4 r5.y, r4, c56
    mad r3.xy, r0.yzzw, r1, r5
    texldl r3, r3, s3
    add r0.y, -r0.w, r3.x
    slt r0.y, c0.x, r0.y
    mad r0.x, r0.y, c0.z, r0.x
    mov r3.zw, c0.x
    mov r1.z, c0.x
    mul r1.xy, r2.x, c212
    add r0.yzw, r1.xxyz, v1.xxyz
    mul r1.xyz, r0.z, c61.xyww
    mad r1.xyz, r0.y, c60.xyww, r1
    mad r1.xyz, r0.w, c62.xyww, r1
    dp3 r0.y, c14, r0.yzww
    sge r4.yzw, -r0.y, c54.xxyz
    add r0.yzw, r1.xxyz, c63.xxyw
    mov r4.x, c0.y
    dp4 r1.x, r4, c57
    dp4 r1.y, r4, c58
    dp4 r5.x, r4, c59
    dp4 r5.y, r4, c56
    mad r3.xy, r0.yzzw, r1, r5
    texldl r3, r3, s3
    add r0.y, -r0.w, r3.x
    slt r0.y, c0.x, r0.y
    mad r0.x, r0.y, c0.z, r0.x
    mov r1.z, c0.x
    mul r1.xy, r2.x, c213
    add r0.yzw, r1.xxyz, v1.xxyz
    mul r1.xyz, r0.z, c61.xyww
    mad r1.xyz, r0.y, c60.xyww, r1
    mad r1.xyz, r0.w, c62.xyww, r1
    dp3 r0.y, c14, r0.yzww
    sge r3.yzw, -r0.y, c54.xxyz
    add r0.yzw, r1.xxyz, c63.xxyw
    mov r3.x, c0.y
    dp4 r1.x, r3, c57
    dp4 r1.y, r3, c58
    dp4 r4.x, r3, c59
    dp4 r4.y, r3, c56
    mad r3.xy, r0.yzzw, r1, r4
    mov r3.zw, c0.x
    texldl r3, r3, s3
    add r0.y, -r0.w, r3.x
    slt r0.y, c0.x, r0.y
    mad r0.x, r0.y, c0.z, r0.x
    mov r1.z, c0.x
    mul r1.xy, r2.x, c214
    add r0.yzw, r1.xxyz, v1.xxyz
    mul r1.xyz, r0.z, c61.xyww
    mad r1.xyz, r0.y, c60.xyww, r1
    mad r1.xyz, r0.w, c62.xyww, r1
    dp3 r0.y, c14, r0.yzww
    sge r3.yzw, -r0.y, c54.xxyz
    add r0.yzw, r1.xxyz, c63.xxyw
    mov r3.x, c0.y
    dp4 r1.x, r3, c57
    dp4 r1.y, r3, c58
    dp4 r4.x, r3, c59
    dp4 r4.y, r3, c56
    mad r3.xy, r0.yzzw, r1, r4
    mov r3.zw, c0.x
    texldl r3, r3, s3
    add r0.y, -r0.w, r3.x
    slt r0.y, c0.x, r0.y
    mad r0.x, r0.y, c0.z, r0.x
    mov r1.z, c0.x
    mul r1.xy, r2.x, c215
    add r0.yzw, r1.xxyz, v1.xxyz
    mul r1.xyz, r0.z, c61.xyww
    mad r1.xyz, r0.y, c60.xyww, r1
    mad r1.xyz, r0.w, c62.xyww, r1
    dp3 r0.y, c14, r0.yzww
    sge r3.yzw, -r0.y, c54.xxyz
    add r0.yzw, r1.xxyz, c63.xxyw
    mov r3.x, c0.y
    dp4 r1.x, r3, c57
    dp4 r1.y, r3, c58
    dp4 r4.x, r3, c59
    dp4 r4.y, r3, c56
    mad r3.xy, r0.yzzw, r1, r4
    mov r3.zw, c0.x
    texldl r3, r3, s3
    add r0.y, -r0.w, r3.x
    slt r0.y, c0.x, r0.y
    mad r0.x, r0.y, c0.z, r0.x
    mov r1.z, c0.x
    mul r1.xy, r2.x, c216
    add r0.yzw, r1.xxyz, v1.xxyz
    mul r1.xyz, r0.z, c61.xyww
    mad r1.xyz, r0.y, c60.xyww, r1
    mad r1.xyz, r0.w, c62.xyww, r1
    dp3 r0.y, c14, r0.yzww
    sge r3.yzw, -r0.y, c54.xxyz
    add r0.yzw, r1.xxyz, c63.xxyw
    mov r3.x, c0.y
    dp4 r1.x, r3, c57
    dp4 r1.y, r3, c58
    dp4 r4.x, r3, c59
    dp4 r4.y, r3, c56
    mad r3.xy, r0.yzzw, r1, r4
    mov r3.zw, c0.x
    texldl r3, r3, s3
    add r0.y, -r0.w, r3.x
    slt r0.y, c0.x, r0.y
    mad r0.x, r0.y, c0.z, r0.x
    mov r1.z, c0.x
    mul r1.xy, r2.x, c217
    add r0.yzw, r1.xxyz, v1.xxyz
    mul r1.xyz, r0.z, c61.xyww
    mad r1.xyz, r0.y, c60.xyww, r1
    mad r1.xyz, r0.w, c62.xyww, r1
    dp3 r0.y, c14, r0.yzww
    sge r3.yzw, -r0.y, c54.xxyz
    add r0.yzw, r1.xxyz, c63.xxyw
    mov r3.x, c0.y
    dp4 r1.x, r3, c57
    dp4 r1.y, r3, c58
    dp4 r4.x, r3, c59
    dp4 r4.y, r3, c56
    mad r3.xy, r0.yzzw, r1, r4
    mov r3.zw, c0.x
    texldl r3, r3, s3
    add r0.y, -r0.w, r3.x
    slt r0.y, c0.x, r0.y
    mad r0.x, r0.y, c0.z, r0.x
    mov r1.z, c0.x
    mul r1.xy, r2.x, c218
    mul r2.xy, r2.x, c219
    add r0.yzw, r1.xxyz, v1.xxyz
    mul r1.xyz, r0.z, c61.xyww
    mad r1.xyz, r0.y, c60.xyww, r1
    mad r1.xyz, r0.w, c62.xyww, r1
    dp3 r0.y, c14, r0.yzww
    sge r3.yzw, -r0.y, c54.xxyz
    add r0.yzw, r1.xxyz, c63.xxyw
    mov r3.x, c0.y
    dp4 r1.x, r3, c57
    dp4 r1.y, r3, c58
    dp4 r4.x, r3, c59
    dp4 r4.y, r3, c56
    mad r3.xy, r0.yzzw, r1, r4
    mov r3.zw, c0.x
    texldl r3, r3, s3
    add r0.y, -r0.w, r3.x
    slt r0.y, c0.x, r0.y
    mad r0.x, r0.y, c0.z, r0.x
    mov r2.z, c0.x
    add r0.yzw, r2.xxyz, v1.xxyz
    mul r1.xyz, r0.z, c61.xyww
    mad r1.xyz, r0.y, c60.xyww, r1
    mad r1.xyz, r0.w, c62.xyww, r1
    dp3 r0.y, c14, r0.yzww
    sge r2.yzw, -r0.y, c54.xxyz
    add r0.yzw, r1.xxyz, c63.xxyw
    mov r2.x, c0.y
    dp4 r1.x, r2, c57
    dp4 r1.y, r2, c58
    dp4 r3.x, r2, c59
    dp4 r3.y, r2, c56
    mad r2.xy, r0.yzzw, r1, r3
    mov r2.zw, c0.x
    texldl r2, r2, s3
    add r0.y, -r0.w, r2.x
    slt r0.y, c0.x, r0.y
    mad r0.x, r0.y, c0.z, r0.x
    abs r0.y, c17.z
    mul r0.y, r0.y, c18.w
    mul r0.x, r0.x, r0.y
    mov r1.xyz, c18
    mad o1.xyz, r1, r0.x, c37
    mul o1.w, c46.x, v3.w
    mul o3.xy, r1.w, v2
    mad r0.xy, v3.x, c1, c1.zwzw
    mul r0.xy, r0, v2.yxzw
    mul o3.zw, r1.w, r0.xyxy
    mov o4.w, r1.w
    add r0.xyz, -c15, v0
    mov o2.xyz, -r0
    mul r0, c9, v0.y
    mad r0, v0.x, c8, r0
    mad r0, v0.z, c10, r0
    add r0, r0, c11
    mov o0, r0
    mov o10.zw, r0
    mov o2.w, r0.w
    mov o4.xyz, v1
    mov r20.x, c8.w
    add r20.x, r20.x, c9.w
    add r20.x, r20.x, c10.w
    add o10.y, r20.x, c11.w
    
// approximately 276 instruction slots used (24 texture, 252 arithmetic)
