; SPIR-V
; Version: 1.0
; Generator: Khronos Glslang Reference Front End; 10
; Bound: 6446
; Schema: 0
               OpCapability Shader
          %1 = OpExtInstImport "GLSL.std.450"
               OpMemoryModel Logical GLSL450
               OpEntryPoint Fragment %main "main" %gl_FragCoord %xe_frag_color
               OpExecutionMode %main OriginUpperLeft
               OpSource GLSL 420
               OpSourceExtension "GL_GOOGLE_cpp_style_line_directive"
               OpSourceExtension "GL_GOOGLE_include_directive"
               OpName %main "main"
               OpName %xe_texture "xe_texture"
               OpName %gl_FragCoord "gl_FragCoord"
               OpName %XeCasSharpenConstants "XeCasSharpenConstants"
               OpMemberName %XeCasSharpenConstants 0 "xe_cas_output_offset"
               OpMemberName %XeCasSharpenConstants 1 "xe_cas_sharpness_post_setup"
               OpName %_ ""
               OpName %xe_frag_color "xe_frag_color"
               OpDecorate %xe_texture DescriptorSet 0
               OpDecorate %xe_texture Binding 0
               OpDecorate %gl_FragCoord BuiltIn FragCoord
               OpMemberDecorate %XeCasSharpenConstants 0 Offset 16
               OpMemberDecorate %XeCasSharpenConstants 1 Offset 24
               OpDecorate %XeCasSharpenConstants Block
               OpDecorate %xe_frag_color Location 0
       %void = OpTypeVoid
          %3 = OpTypeFunction %void
      %float = OpTypeFloat 32
       %uint = OpTypeInt 32 0
        %int = OpTypeInt 32 1
      %v2int = OpTypeVector %int 2
    %v3float = OpTypeVector %float 3
     %v2uint = OpTypeVector %uint 2
     %v4uint = OpTypeVector %uint 4
    %float_0 = OpConstant %float 0
    %float_1 = OpConstant %float 1
     %uint_1 = OpConstant %uint 1
%uint_532432441 = OpConstant %uint 532432441
%uint_2129690299 = OpConstant %uint 2129690299
%uint_2129764351 = OpConstant %uint 2129764351
    %float_2 = OpConstant %float 2
        %143 = OpTypeImage %float 2D 0 0 0 1 Unknown
        %144 = OpTypeSampledImage %143
%_ptr_UniformConstant_144 = OpTypePointer UniformConstant %144
 %xe_texture = OpVariable %_ptr_UniformConstant_144 UniformConstant
      %int_0 = OpConstant %int 0
    %v4float = OpTypeVector %float 4
     %int_n1 = OpConstant %int -1
        %181 = OpConstantComposite %v2int %int_0 %int_n1
      %int_1 = OpConstant %int 1
        %188 = OpConstantComposite %v2int %int_1 %int_n1
        %194 = OpConstantComposite %v2int %int_n1 %int_0
        %204 = OpConstantComposite %v2int %int_1 %int_0
        %210 = OpConstantComposite %v2int %int_n1 %int_1
        %216 = OpConstantComposite %v2int %int_0 %int_1
        %222 = OpConstantComposite %v2int %int_1 %int_1
     %uint_0 = OpConstant %uint 0
     %uint_2 = OpConstant %uint 2
    %v2float = OpTypeVector %float 2
      %int_2 = OpConstant %int 2
        %712 = OpConstantComposite %v2int %int_2 %int_0
        %734 = OpConstantComposite %v2int %int_0 %int_2
        %745 = OpConstantComposite %v2int %int_2 %int_1
        %751 = OpConstantComposite %v2int %int_1 %int_2
%float_0_03125 = OpConstant %float 0.03125
%_ptr_Input_v4float = OpTypePointer Input %v4float
%gl_FragCoord = OpVariable %_ptr_Input_v4float Input
%XeCasSharpenConstants = OpTypeStruct %v2int %float
%_ptr_PushConstant_XeCasSharpenConstants = OpTypePointer PushConstant %XeCasSharpenConstants
          %_ = OpVariable %_ptr_PushConstant_XeCasSharpenConstants PushConstant
%_ptr_PushConstant_v2int = OpTypePointer PushConstant %v2int
       %2217 = OpConstantComposite %v4float %float_1 %float_1 %float_0 %float_0
%_ptr_PushConstant_float = OpTypePointer PushConstant %float
%_ptr_Output_v4float = OpTypePointer Output %v4float
%xe_frag_color = OpVariable %_ptr_Output_v4float Output
%_ptr_Output_float = OpTypePointer Output %float
     %uint_3 = OpConstant %uint 3
       %main = OpFunction %void None %3
          %5 = OpLabel
       %2205 = OpLoad %v4float %gl_FragCoord
       %2206 = OpVectorShuffle %v2float %2205 %2205 0 1
       %2207 = OpConvertFToS %v2int %2206
       %2212 = OpAccessChain %_ptr_PushConstant_v2int %_ %int_0
       %2213 = OpLoad %v2int %2212
       %2214 = OpISub %v2int %2207 %2213
       %2215 = OpBitcast %v2uint %2214
       %2218 = OpBitcast %v4uint %2217
       %2221 = OpAccessChain %_ptr_PushConstant_float %_ %int_1
       %2222 = OpLoad %float %2221
       %2223 = OpBitcast %uint %2222
               OpBranch %2764
       %2764 = OpLabel
       %3115 = OpConvertUToF %v2float %2215
       %3118 = OpCompositeExtract %uint %2218 0
       %3119 = OpCompositeExtract %uint %2218 1
       %3120 = OpCompositeConstruct %v2uint %3118 %3119
       %3121 = OpBitcast %v2float %3120
       %3122 = OpFMul %v2float %3115 %3121
       %3125 = OpCompositeExtract %uint %2218 2
       %3126 = OpCompositeExtract %uint %2218 3
       %3127 = OpCompositeConstruct %v2uint %3125 %3126
       %3128 = OpBitcast %v2float %3127
       %3129 = OpFAdd %v2float %3122 %3128
       %3131 = OpExtInst %v2float %1 Floor %3129
       %3134 = OpFSub %v2float %3129 %3131
       %3136 = OpConvertFToS %v2int %3131
       %3141 = OpIAdd %v2int %3136 %181
       %4731 = OpLoad %144 %xe_texture
       %4733 = OpImage %143 %4731
       %4734 = OpImageFetch %v4float %4733 %3141 Lod %int_0
       %3144 = OpIAdd %v2int %3136 %194
       %4740 = OpImage %143 %4731
       %4741 = OpImageFetch %v4float %4740 %3144 Lod %int_0
       %4747 = OpImage %143 %4731
       %4748 = OpImageFetch %v4float %4747 %3136 Lod %int_0
       %3149 = OpIAdd %v2int %3136 %188
       %4754 = OpImage %143 %4731
       %4755 = OpImageFetch %v4float %4754 %3149 Lod %int_0
       %3155 = OpIAdd %v2int %3136 %204
       %4768 = OpImage %143 %4731
       %4769 = OpImageFetch %v4float %4768 %3155 Lod %int_0
       %3158 = OpIAdd %v2int %3136 %712
       %4775 = OpImage %143 %4731
       %4776 = OpImageFetch %v4float %4775 %3158 Lod %int_0
       %3161 = OpIAdd %v2int %3136 %210
       %4782 = OpImage %143 %4731
       %4783 = OpImageFetch %v4float %4782 %3161 Lod %int_0
       %3164 = OpIAdd %v2int %3136 %216
       %4789 = OpImage %143 %4731
       %4790 = OpImageFetch %v4float %4789 %3164 Lod %int_0
       %3170 = OpIAdd %v2int %3136 %734
       %4803 = OpImage %143 %4731
       %4804 = OpImageFetch %v4float %4803 %3170 Lod %int_0
       %3173 = OpIAdd %v2int %3136 %222
       %4810 = OpImage %143 %4731
       %4811 = OpImageFetch %v4float %4810 %3173 Lod %int_0
       %3176 = OpIAdd %v2int %3136 %745
       %4817 = OpImage %143 %4731
       %4818 = OpImageFetch %v4float %4817 %3176 Lod %int_0
       %3179 = OpIAdd %v2int %3136 %751
       %4824 = OpImage %143 %4731
       %4825 = OpImageFetch %v4float %4824 %3179 Lod %int_0
       %3198 = OpCompositeExtract %float %4734 0
       %3200 = OpCompositeExtract %float %4734 1
       %3202 = OpCompositeExtract %float %4734 2
       %4847 = OpFMul %float %3198 %3198
       %4850 = OpFMul %float %3200 %3200
       %4853 = OpFMul %float %3202 %3202
       %3211 = OpCompositeExtract %float %4755 0
       %3213 = OpCompositeExtract %float %4755 1
       %3215 = OpCompositeExtract %float %4755 2
       %4857 = OpFMul %float %3211 %3211
       %4860 = OpFMul %float %3213 %3213
       %4863 = OpFMul %float %3215 %3215
       %3237 = OpCompositeExtract %float %4741 0
       %3239 = OpCompositeExtract %float %4741 1
       %3241 = OpCompositeExtract %float %4741 2
       %4877 = OpFMul %float %3237 %3237
       %4880 = OpFMul %float %3239 %3239
       %4883 = OpFMul %float %3241 %3241
       %3250 = OpCompositeExtract %float %4748 0
       %3252 = OpCompositeExtract %float %4748 1
       %3254 = OpCompositeExtract %float %4748 2
       %4887 = OpFMul %float %3250 %3250
       %4890 = OpFMul %float %3252 %3252
       %4893 = OpFMul %float %3254 %3254
       %3263 = OpCompositeExtract %float %4769 0
       %3265 = OpCompositeExtract %float %4769 1
       %3267 = OpCompositeExtract %float %4769 2
       %4897 = OpFMul %float %3263 %3263
       %4900 = OpFMul %float %3265 %3265
       %4903 = OpFMul %float %3267 %3267
       %3276 = OpCompositeExtract %float %4776 0
       %3278 = OpCompositeExtract %float %4776 1
       %3280 = OpCompositeExtract %float %4776 2
       %4907 = OpFMul %float %3276 %3276
       %4910 = OpFMul %float %3278 %3278
       %4913 = OpFMul %float %3280 %3280
       %3289 = OpCompositeExtract %float %4783 0
       %3291 = OpCompositeExtract %float %4783 1
       %3293 = OpCompositeExtract %float %4783 2
       %4917 = OpFMul %float %3289 %3289
       %4920 = OpFMul %float %3291 %3291
       %4923 = OpFMul %float %3293 %3293
       %3302 = OpCompositeExtract %float %4790 0
       %3304 = OpCompositeExtract %float %4790 1
       %3306 = OpCompositeExtract %float %4790 2
       %4927 = OpFMul %float %3302 %3302
       %4930 = OpFMul %float %3304 %3304
       %4933 = OpFMul %float %3306 %3306
       %3315 = OpCompositeExtract %float %4811 0
       %3317 = OpCompositeExtract %float %4811 1
       %3319 = OpCompositeExtract %float %4811 2
       %4937 = OpFMul %float %3315 %3315
       %4940 = OpFMul %float %3317 %3317
       %4943 = OpFMul %float %3319 %3319
       %3328 = OpCompositeExtract %float %4818 0
       %3330 = OpCompositeExtract %float %4818 1
       %3332 = OpCompositeExtract %float %4818 2
       %4947 = OpFMul %float %3328 %3328
       %4950 = OpFMul %float %3330 %3330
       %4953 = OpFMul %float %3332 %3332
       %3354 = OpCompositeExtract %float %4804 0
       %3356 = OpCompositeExtract %float %4804 1
       %3358 = OpCompositeExtract %float %4804 2
       %4967 = OpFMul %float %3354 %3354
       %4970 = OpFMul %float %3356 %3356
       %4973 = OpFMul %float %3358 %3358
       %3367 = OpCompositeExtract %float %4825 0
       %3369 = OpCompositeExtract %float %4825 1
       %3371 = OpCompositeExtract %float %4825 2
       %4977 = OpFMul %float %3367 %3367
       %4980 = OpFMul %float %3369 %3369
       %4983 = OpFMul %float %3371 %3371
       %5013 = OpExtInst %float %1 FMin %4880 %4890
       %5014 = OpExtInst %float %1 FMin %4850 %5013
       %5020 = OpExtInst %float %1 FMin %4900 %4930
       %5021 = OpExtInst %float %1 FMin %5014 %5020
       %5055 = OpExtInst %float %1 FMax %4880 %4890
       %5056 = OpExtInst %float %1 FMax %4850 %5055
       %5062 = OpExtInst %float %1 FMax %4900 %4930
       %5063 = OpExtInst %float %1 FMax %5056 %5062
       %5097 = OpExtInst %float %1 FMin %4890 %4900
       %5098 = OpExtInst %float %1 FMin %4860 %5097
       %5104 = OpExtInst %float %1 FMin %4910 %4940
       %5105 = OpExtInst %float %1 FMin %5098 %5104
       %5139 = OpExtInst %float %1 FMax %4890 %4900
       %5140 = OpExtInst %float %1 FMax %4860 %5139
       %5146 = OpExtInst %float %1 FMax %4910 %4940
       %5147 = OpExtInst %float %1 FMax %5140 %5146
       %5181 = OpExtInst %float %1 FMin %4920 %4930
       %5182 = OpExtInst %float %1 FMin %4890 %5181
       %5188 = OpExtInst %float %1 FMin %4940 %4970
       %5189 = OpExtInst %float %1 FMin %5182 %5188
       %5223 = OpExtInst %float %1 FMax %4920 %4930
       %5224 = OpExtInst %float %1 FMax %4890 %5223
       %5230 = OpExtInst %float %1 FMax %4940 %4970
       %5231 = OpExtInst %float %1 FMax %5224 %5230
       %5265 = OpExtInst %float %1 FMin %4930 %4940
       %5266 = OpExtInst %float %1 FMin %4900 %5265
       %5272 = OpExtInst %float %1 FMin %4950 %4980
       %5273 = OpExtInst %float %1 FMin %5266 %5272
       %5307 = OpExtInst %float %1 FMax %4930 %4940
       %5308 = OpExtInst %float %1 FMax %4900 %5307
       %5314 = OpExtInst %float %1 FMax %4950 %4980
       %5315 = OpExtInst %float %1 FMax %5308 %5314
       %5346 = OpBitcast %uint %5063
       %5347 = OpISub %uint %uint_2129690299 %5346
       %5348 = OpBitcast %float %5347
       %5379 = OpBitcast %uint %5147
       %5380 = OpISub %uint %uint_2129690299 %5379
       %5381 = OpBitcast %float %5380
       %5412 = OpBitcast %uint %5231
       %5413 = OpISub %uint %uint_2129690299 %5412
       %5414 = OpBitcast %float %5413
       %5445 = OpBitcast %uint %5315
       %5446 = OpISub %uint %uint_2129690299 %5445
       %5447 = OpBitcast %float %5446
       %3715 = OpFSub %float %float_1 %5063
       %3716 = OpExtInst %float %1 FMin %5021 %3715
       %3718 = OpFMul %float %3716 %5348
       %5489 = OpExtInst %float %1 FClamp %3718 %float_0 %float_1
       %3739 = OpFSub %float %float_1 %5147
       %3740 = OpExtInst %float %1 FMin %5105 %3739
       %3742 = OpFMul %float %3740 %5381
       %5540 = OpExtInst %float %1 FClamp %3742 %float_0 %float_1
       %3763 = OpFSub %float %float_1 %5231
       %3764 = OpExtInst %float %1 FMin %5189 %3763
       %3766 = OpFMul %float %3764 %5414
       %5591 = OpExtInst %float %1 FClamp %3766 %float_0 %float_1
       %3787 = OpFSub %float %float_1 %5315
       %3788 = OpExtInst %float %1 FMin %5273 %3787
       %3790 = OpFMul %float %3788 %5447
       %5642 = OpExtInst %float %1 FClamp %3790 %float_0 %float_1
       %5688 = OpBitcast %uint %5489
       %5690 = OpShiftRightLogical %uint %5688 %uint_1
       %5692 = OpIAdd %uint %5690 %uint_532432441
       %5693 = OpBitcast %float %5692
       %5739 = OpBitcast %uint %5540
       %5741 = OpShiftRightLogical %uint %5739 %uint_1
       %5743 = OpIAdd %uint %5741 %uint_532432441
       %5744 = OpBitcast %float %5743
       %5790 = OpBitcast %uint %5591
       %5792 = OpShiftRightLogical %uint %5790 %uint_1
       %5794 = OpIAdd %uint %5792 %uint_532432441
       %5795 = OpBitcast %float %5794
       %5841 = OpBitcast %uint %5642
       %5843 = OpShiftRightLogical %uint %5841 %uint_1
       %5845 = OpIAdd %uint %5843 %uint_532432441
       %5846 = OpBitcast %float %5845
       %3826 = OpBitcast %float %2223
       %3832 = OpFMul %float %5693 %3826
       %3841 = OpFMul %float %5744 %3826
       %3850 = OpFMul %float %5795 %3826
       %3859 = OpFMul %float %5846 %3826
       %3865 = OpCompositeExtract %float %3134 0
       %3866 = OpFSub %float %float_1 %3865
       %3869 = OpCompositeExtract %float %3134 1
       %3870 = OpFSub %float %float_1 %3869
       %3871 = OpFMul %float %3866 %3870
       %3878 = OpFMul %float %3865 %3870
       %3885 = OpFMul %float %3866 %3869
       %3890 = OpFMul %float %3865 %3869
       %3894 = OpFSub %float %5063 %5021
       %3895 = OpFAdd %float %float_0_03125 %3894
       %5887 = OpBitcast %uint %3895
       %5888 = OpISub %uint %uint_2129690299 %5887
       %5889 = OpBitcast %float %5888
       %3898 = OpFMul %float %3871 %5889
       %3902 = OpFSub %float %5147 %5105
       %3903 = OpFAdd %float %float_0_03125 %3902
       %5898 = OpBitcast %uint %3903
       %5899 = OpISub %uint %uint_2129690299 %5898
       %5900 = OpBitcast %float %5899
       %3906 = OpFMul %float %3878 %5900
       %3910 = OpFSub %float %5231 %5189
       %3911 = OpFAdd %float %float_0_03125 %3910
       %5909 = OpBitcast %uint %3911
       %5910 = OpISub %uint %uint_2129690299 %5909
       %5911 = OpBitcast %float %5910
       %3914 = OpFMul %float %3885 %5911
       %3918 = OpFSub %float %5315 %5273
       %3919 = OpFAdd %float %float_0_03125 %3918
       %5920 = OpBitcast %uint %3919
       %5921 = OpISub %uint %uint_2129690299 %5920
       %5922 = OpBitcast %float %5921
       %3922 = OpFMul %float %3890 %5922
       %3928 = OpFMul %float %3832 %3898
       %3937 = OpFMul %float %3841 %3906
       %3955 = OpFMul %float %3850 %3914
       %3956 = OpFAdd %float %3937 %3955
       %3958 = OpFAdd %float %3956 %3898
       %3982 = OpFMul %float %3859 %3922
       %3983 = OpFAdd %float %3928 %3982
       %3985 = OpFAdd %float %3983 %3906
       %4012 = OpFAdd %float %3983 %3914
       %4039 = OpFAdd %float %3956 %3922
       %6440 = OpFAdd %float %3928 %3937
       %6441 = OpFAdd %float %6440 %3955
       %6442 = OpFAdd %float %6441 %3982
       %4081 = OpFMul %float %float_2 %6442
       %4083 = OpFAdd %float %4081 %3958
       %4085 = OpFAdd %float %4083 %3985
       %4087 = OpFAdd %float %4085 %4012
       %4089 = OpFAdd %float %4087 %4039
       %5945 = OpBitcast %uint %4089
       %5946 = OpISub %uint %uint_2129764351 %5945
       %5947 = OpBitcast %float %5946
       %5950 = OpFNegate %float %5947
       %5952 = OpFMul %float %5950 %4089
       %5954 = OpFAdd %float %5952 %float_2
       %5955 = OpFMul %float %5947 %5954
       %6443 = OpFAdd %float %4847 %4877
       %4099 = OpFMul %float %3928 %6443
       %4103 = OpFMul %float %4857 %3937
       %4104 = OpFAdd %float %4099 %4103
       %4108 = OpFMul %float %4907 %3937
       %4109 = OpFAdd %float %4104 %4108
       %4113 = OpFMul %float %4917 %3955
       %4114 = OpFAdd %float %4109 %4113
       %4118 = OpFMul %float %4967 %3955
       %4119 = OpFAdd %float %4114 %4118
       %4123 = OpFMul %float %4947 %3982
       %4124 = OpFAdd %float %4119 %4123
       %4128 = OpFMul %float %4977 %3982
       %4129 = OpFAdd %float %4124 %4128
       %4133 = OpFMul %float %4887 %3958
       %4134 = OpFAdd %float %4129 %4133
       %4138 = OpFMul %float %4897 %3985
       %4139 = OpFAdd %float %4134 %4138
       %4143 = OpFMul %float %4927 %4012
       %4144 = OpFAdd %float %4139 %4143
       %4148 = OpFMul %float %4937 %4039
       %4149 = OpFAdd %float %4144 %4148
       %4151 = OpFMul %float %4149 %5955
       %5969 = OpExtInst %float %1 FClamp %4151 %float_0 %float_1
       %6444 = OpFAdd %float %4850 %4880
       %4161 = OpFMul %float %3928 %6444
       %4165 = OpFMul %float %4860 %3937
       %4166 = OpFAdd %float %4161 %4165
       %4170 = OpFMul %float %4910 %3937
       %4171 = OpFAdd %float %4166 %4170
       %4175 = OpFMul %float %4920 %3955
       %4176 = OpFAdd %float %4171 %4175
       %4180 = OpFMul %float %4970 %3955
       %4181 = OpFAdd %float %4176 %4180
       %4185 = OpFMul %float %4950 %3982
       %4186 = OpFAdd %float %4181 %4185
       %4190 = OpFMul %float %4980 %3982
       %4191 = OpFAdd %float %4186 %4190
       %4195 = OpFMul %float %4890 %3958
       %4196 = OpFAdd %float %4191 %4195
       %4200 = OpFMul %float %4900 %3985
       %4201 = OpFAdd %float %4196 %4200
       %4205 = OpFMul %float %4930 %4012
       %4206 = OpFAdd %float %4201 %4205
       %4210 = OpFMul %float %4940 %4039
       %4211 = OpFAdd %float %4206 %4210
       %4213 = OpFMul %float %4211 %5955
       %5983 = OpExtInst %float %1 FClamp %4213 %float_0 %float_1
       %6445 = OpFAdd %float %4853 %4883
       %4223 = OpFMul %float %3928 %6445
       %4227 = OpFMul %float %4863 %3937
       %4228 = OpFAdd %float %4223 %4227
       %4232 = OpFMul %float %4913 %3937
       %4233 = OpFAdd %float %4228 %4232
       %4237 = OpFMul %float %4923 %3955
       %4238 = OpFAdd %float %4233 %4237
       %4242 = OpFMul %float %4973 %3955
       %4243 = OpFAdd %float %4238 %4242
       %4247 = OpFMul %float %4953 %3982
       %4248 = OpFAdd %float %4243 %4247
       %4252 = OpFMul %float %4983 %3982
       %4253 = OpFAdd %float %4248 %4252
       %4257 = OpFMul %float %4893 %3958
       %4258 = OpFAdd %float %4253 %4257
       %4262 = OpFMul %float %4903 %3985
       %4263 = OpFAdd %float %4258 %4262
       %4267 = OpFMul %float %4933 %4012
       %4268 = OpFAdd %float %4263 %4267
       %4272 = OpFMul %float %4943 %4039
       %4273 = OpFAdd %float %4268 %4272
       %4275 = OpFMul %float %4273 %5955
       %5997 = OpExtInst %float %1 FClamp %4275 %float_0 %float_1
       %2247 = OpAccessChain %_ptr_Output_float %xe_frag_color %uint_0
               OpStore %2247 %5969
       %2249 = OpAccessChain %_ptr_Output_float %xe_frag_color %uint_1
               OpStore %2249 %5983
       %2251 = OpAccessChain %_ptr_Output_float %xe_frag_color %uint_2
               OpStore %2251 %5997
       %2252 = OpLoad %v4float %xe_frag_color
       %2253 = OpVectorShuffle %v3float %2252 %2252 0 1 2
       %2254 = OpExtInst %v3float %1 Sqrt %2253
       %2255 = OpLoad %v4float %xe_frag_color
       %2256 = OpVectorShuffle %v4float %2255 %2254 4 5 6 3
               OpStore %xe_frag_color %2256
       %2258 = OpAccessChain %_ptr_Output_float %xe_frag_color %uint_3
               OpStore %2258 %float_1
               OpReturn
               OpFunctionEnd
