//
// Generated by Microsoft (R) HLSL Shader Compiler 10.1
//
//
// Buffer Definitions: 
//
// cbuffer xe_system_cbuffer
// {
//
//   uint xe_flags;                     // Offset:    0 Size:     4 [unused]
//   float2 xe_tessellation_factor_range;// Offset:    4 Size:     8 [unused]
//   uint xe_line_loop_closing_index;   // Offset:   12 Size:     4 [unused]
//   uint xe_vertex_index_endian;       // Offset:   16 Size:     4 [unused]
//   int xe_vertex_base_index;          // Offset:   20 Size:     4 [unused]
//   float2 xe_point_size;              // Offset:   24 Size:     8
//   float2 xe_point_size_min_max;      // Offset:   32 Size:     8
//   float2 xe_point_screen_to_ndc;     // Offset:   40 Size:     8
//   float4 xe_user_clip_planes[6];     // Offset:   48 Size:    96 [unused]
//   float3 xe_ndc_scale;               // Offset:  144 Size:    12 [unused]
//   uint xe_interpolator_sampling_pattern;// Offset:  156 Size:     4 [unused]
//   float3 xe_ndc_offset;              // Offset:  160 Size:    12 [unused]
//   uint xe_ps_param_gen;              // Offset:  172 Size:     4 [unused]
//   uint4 xe_texture_swizzled_signs[2];// Offset:  176 Size:    32 [unused]
//   uint2 xe_sample_count_log2;        // Offset:  208 Size:     8 [unused]
//   float xe_alpha_test_reference;     // Offset:  216 Size:     4 [unused]
//   uint xe_alpha_to_mask;             // Offset:  220 Size:     4 [unused]
//   float4 xe_color_exp_bias;          // Offset:  224 Size:    16 [unused]
//   uint4 xe_color_output_map;         // Offset:  240 Size:    16 [unused]
//   uint xe_edram_resolution_square_scale;// Offset:  256 Size:     4 [unused]
//   uint xe_edram_pitch_tiles;         // Offset:  260 Size:     4 [unused]
//   float2 xe_edram_depth_range;       // Offset:  264 Size:     8 [unused]
//   float2 xe_edram_poly_offset_front; // Offset:  272 Size:     8 [unused]
//   float2 xe_edram_poly_offset_back;  // Offset:  280 Size:     8 [unused]
//   uint xe_edram_depth_base_dwords;   // Offset:  288 Size:     4 [unused]
//   uint4 xe_edram_stencil[2];         // Offset:  304 Size:    32 [unused]
//   uint4 xe_edram_rt_base_dwords_scaled;// Offset:  336 Size:    16 [unused]
//   uint4 xe_edram_rt_format_flags;    // Offset:  352 Size:    16 [unused]
//   float4 xe_edram_rt_clamp[4];       // Offset:  368 Size:    64 [unused]
//   uint4 xe_edram_rt_keep_mask[2];    // Offset:  432 Size:    32 [unused]
//   uint4 xe_edram_rt_blend_factors_ops;// Offset:  464 Size:    16 [unused]
//   float4 xe_edram_blend_constant;    // Offset:  480 Size:    16 [unused]
//
// }
//
//
// Resource Bindings:
//
// Name                                 Type  Format         Dim      ID      HLSL Bind  Count
// ------------------------------ ---------- ------- ----------- ------- -------------- ------
// xe_system_cbuffer                 cbuffer      NA          NA     CB0            cb0      1 
//
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// TEXCOORD                 0   xyzw        0     NONE   float   xyzw
// TEXCOORD                 1   xyzw        1     NONE   float   xyzw
// TEXCOORD                 2   xyzw        2     NONE   float   xyzw
// TEXCOORD                 3   xyzw        3     NONE   float   xyzw
// TEXCOORD                 4   xyzw        4     NONE   float   xyzw
// TEXCOORD                 5   xyzw        5     NONE   float   xyzw
// TEXCOORD                 6   xyzw        6     NONE   float   xyzw
// TEXCOORD                 7   xyzw        7     NONE   float   xyzw
// TEXCOORD                 8   xyzw        8     NONE   float   xyzw
// TEXCOORD                 9   xyzw        9     NONE   float   xyzw
// TEXCOORD                10   xyzw       10     NONE   float   xyzw
// TEXCOORD                11   xyzw       11     NONE   float   xyzw
// TEXCOORD                12   xyzw       12     NONE   float   xyzw
// TEXCOORD                13   xyzw       13     NONE   float   xyzw
// TEXCOORD                14   xyzw       14     NONE   float   xyzw
// TEXCOORD                15   xyzw       15     NONE   float   xyzw
// TEXCOORD                16   xyz        16     NONE   float     z 
// TEXCOORD                17   xy         17     NONE   float   xy  
// SV_Position              0   xyzw       18      POS   float   xyzw
// SV_ClipDistance          0   xyzw       19  CLIPDST   float   xyzw
// SV_ClipDistance          1   xy         20  CLIPDST   float   xy  
// SV_CullDistance          0     z        20  CULLDST   float     z 
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// TEXCOORD                 0   xyzw        0     NONE   float   xyzw
// TEXCOORD                 1   xyzw        1     NONE   float   xyzw
// TEXCOORD                 2   xyzw        2     NONE   float   xyzw
// TEXCOORD                 3   xyzw        3     NONE   float   xyzw
// TEXCOORD                 4   xyzw        4     NONE   float   xyzw
// TEXCOORD                 5   xyzw        5     NONE   float   xyzw
// TEXCOORD                 6   xyzw        6     NONE   float   xyzw
// TEXCOORD                 7   xyzw        7     NONE   float   xyzw
// TEXCOORD                 8   xyzw        8     NONE   float   xyzw
// TEXCOORD                 9   xyzw        9     NONE   float   xyzw
// TEXCOORD                10   xyzw       10     NONE   float   xyzw
// TEXCOORD                11   xyzw       11     NONE   float   xyzw
// TEXCOORD                12   xyzw       12     NONE   float   xyzw
// TEXCOORD                13   xyzw       13     NONE   float   xyzw
// TEXCOORD                14   xyzw       14     NONE   float   xyzw
// TEXCOORD                15   xyzw       15     NONE   float   xyzw
// TEXCOORD                16   xyz        16     NONE   float   xyz 
// TEXCOORD                17   xy         17     NONE   float   xy  
// SV_Position              0   xyzw       18      POS   float   xyzw
// SV_ClipDistance          0   xyzw       19  CLIPDST   float   xyzw
// SV_ClipDistance          1   xy         20  CLIPDST   float   xy  
//
gs_5_1
dcl_globalFlags refactoringAllowed
dcl_constantbuffer CB0[0:0][3], immediateIndexed, space=0
dcl_input v[1][0].xyzw
dcl_input v[1][1].xyzw
dcl_input v[1][2].xyzw
dcl_input v[1][3].xyzw
dcl_input v[1][4].xyzw
dcl_input v[1][5].xyzw
dcl_input v[1][6].xyzw
dcl_input v[1][7].xyzw
dcl_input v[1][8].xyzw
dcl_input v[1][9].xyzw
dcl_input v[1][10].xyzw
dcl_input v[1][11].xyzw
dcl_input v[1][12].xyzw
dcl_input v[1][13].xyzw
dcl_input v[1][14].xyzw
dcl_input v[1][15].xyzw
dcl_input v[1][16].xyz
dcl_input v[1][17].xy
dcl_input_siv v[1][18].xyzw, position
dcl_input v[1][19].xyzw
dcl_input v[1][20].xy
dcl_input v[1][20].z
dcl_temps 3
dcl_inputprimitive point 
dcl_stream m0
dcl_outputtopology trianglestrip 
dcl_output o0.xyzw
dcl_output o1.xyzw
dcl_output o2.xyzw
dcl_output o3.xyzw
dcl_output o4.xyzw
dcl_output o5.xyzw
dcl_output o6.xyzw
dcl_output o7.xyzw
dcl_output o8.xyzw
dcl_output o9.xyzw
dcl_output o10.xyzw
dcl_output o11.xyzw
dcl_output o12.xyzw
dcl_output o13.xyzw
dcl_output o14.xyzw
dcl_output o15.xyzw
dcl_output o16.xyz
dcl_output o17.xy
dcl_output_siv o18.xyzw, position
dcl_output_siv o19.xyzw, clip_distance
dcl_output_siv o20.xy, clip_distance
dcl_maxout 4
lt [precise(x)] r0.x, v[0][20].z, l(0.000000)
ne [precise] r1.xyzw, v[0][18].xyzw, v[0][18].xyzw
or [precise(yz)] r0.yz, r1.zzwz, r1.xxyx
or [precise(y)] r0.y, r0.z, r0.y
or [precise(x)] r0.x, r0.y, r0.x
if_nz r0.x
  ret 
endif 
lt [precise(x)] r0.x, l(0.000000), v[0][16].z
movc [precise(xy)] r0.xy, r0.xxxx, v[0][16].zzzz, CB0[0][1].zwzz
max [precise(xy)] r0.xy, r0.xyxx, CB0[0][2].xxxx
min [precise(xy)] r0.xy, r0.xyxx, CB0[0][2].yyyy
mul [precise(xy)] r0.xy, r0.xyxx, CB0[0][2].zwzz
mul [precise(xy)] r0.xy, r0.xyxx, v[0][18].wwww
mov [precise(xyz)] r1.xyz, -r0.xxyx
mov [precise(w)] r1.w, r0.y
add [precise] r2.xyzw, r1.xwyz, v[0][18].xyxy
mov o0.xyzw, v[0][0].xyzw
mov o1.xyzw, v[0][1].xyzw
mov o2.xyzw, v[0][2].xyzw
mov o3.xyzw, v[0][3].xyzw
mov o4.xyzw, v[0][4].xyzw
mov o5.xyzw, v[0][5].xyzw
mov o6.xyzw, v[0][6].xyzw
mov o7.xyzw, v[0][7].xyzw
mov o8.xyzw, v[0][8].xyzw
mov o9.xyzw, v[0][9].xyzw
mov o10.xyzw, v[0][10].xyzw
mov o11.xyzw, v[0][11].xyzw
mov o12.xyzw, v[0][12].xyzw
mov o13.xyzw, v[0][13].xyzw
mov o14.xyzw, v[0][14].xyzw
mov o15.xyzw, v[0][15].xyzw
mov o16.xy, l(0,0,0,0)
mov o16.z, v[0][16].z
mov o17.xy, v[0][17].xyxx
mov o18.xy, r2.xyxx
mov o18.zw, v[0][18].zzzw
mov o19.xyzw, v[0][19].xyzw
mov o20.xy, v[0][20].xyxx
emit_stream m0
mov o0.xyzw, v[0][0].xyzw
mov o1.xyzw, v[0][1].xyzw
mov o2.xyzw, v[0][2].xyzw
mov o3.xyzw, v[0][3].xyzw
mov o4.xyzw, v[0][4].xyzw
mov o5.xyzw, v[0][5].xyzw
mov o6.xyzw, v[0][6].xyzw
mov o7.xyzw, v[0][7].xyzw
mov o8.xyzw, v[0][8].xyzw
mov o9.xyzw, v[0][9].xyzw
mov o10.xyzw, v[0][10].xyzw
mov o11.xyzw, v[0][11].xyzw
mov o12.xyzw, v[0][12].xyzw
mov o13.xyzw, v[0][13].xyzw
mov o14.xyzw, v[0][14].xyzw
mov o15.xyzw, v[0][15].xyzw
mov o16.xy, l(0,1.000000,0,0)
mov o16.z, v[0][16].z
mov o17.xy, v[0][17].xyxx
mov o18.xy, r2.zwzz
mov o18.zw, v[0][18].zzzw
mov o19.xyzw, v[0][19].xyzw
mov o20.xy, v[0][20].xyxx
emit_stream m0
add [precise(yw)] r0.yw, r0.xxxy, v[0][18].xxxy
mov o0.xyzw, v[0][0].xyzw
mov o1.xyzw, v[0][1].xyzw
mov o2.xyzw, v[0][2].xyzw
mov o3.xyzw, v[0][3].xyzw
mov o4.xyzw, v[0][4].xyzw
mov o5.xyzw, v[0][5].xyzw
mov o6.xyzw, v[0][6].xyzw
mov o7.xyzw, v[0][7].xyzw
mov o8.xyzw, v[0][8].xyzw
mov o9.xyzw, v[0][9].xyzw
mov o10.xyzw, v[0][10].xyzw
mov o11.xyzw, v[0][11].xyzw
mov o12.xyzw, v[0][12].xyzw
mov o13.xyzw, v[0][13].xyzw
mov o14.xyzw, v[0][14].xyzw
mov o15.xyzw, v[0][15].xyzw
mov o16.xy, l(1.000000,0,0,0)
mov o16.z, v[0][16].z
mov o17.xy, v[0][17].xyxx
mov o18.xy, r0.ywyy
mov o18.zw, v[0][18].zzzw
mov o19.xyzw, v[0][19].xyzw
mov o20.xy, v[0][20].xyxx
emit_stream m0
mov [precise(z)] r0.z, r1.z
add [precise(xy)] r0.xy, r0.xzxx, v[0][18].xyxx
mov o0.xyzw, v[0][0].xyzw
mov o1.xyzw, v[0][1].xyzw
mov o2.xyzw, v[0][2].xyzw
mov o3.xyzw, v[0][3].xyzw
mov o4.xyzw, v[0][4].xyzw
mov o5.xyzw, v[0][5].xyzw
mov o6.xyzw, v[0][6].xyzw
mov o7.xyzw, v[0][7].xyzw
mov o8.xyzw, v[0][8].xyzw
mov o9.xyzw, v[0][9].xyzw
mov o10.xyzw, v[0][10].xyzw
mov o11.xyzw, v[0][11].xyzw
mov o12.xyzw, v[0][12].xyzw
mov o13.xyzw, v[0][13].xyzw
mov o14.xyzw, v[0][14].xyzw
mov o15.xyzw, v[0][15].xyzw
mov o16.xy, l(1.000000,1.000000,0,0)
mov o16.z, v[0][16].z
mov o17.xy, v[0][17].xyxx
mov o18.xy, r0.xyxx
mov o18.zw, v[0][18].zzzw
mov o19.xyzw, v[0][19].xyzw
mov o20.xy, v[0][20].xyxx
emit_stream m0
cut_stream m0
ret 
// Approximately 118 instruction slots used
