1OpCapability Shader 2%1 = OpExtInstImport "GLSL.std.450" 3OpMemoryModel Logical GLSL450 4OpEntryPoint Fragment %main "main" %sk_FragColor %sk_Clockwise 5OpExecutionMode %main OriginUpperLeft 6OpName %sk_FragColor "sk_FragColor" 7OpName %sk_Clockwise "sk_Clockwise" 8OpName %_UniformBuffer "_UniformBuffer" 9OpMemberName %_UniformBuffer 0 "a" 10OpMemberName %_UniformBuffer 1 "b" 11OpMemberName %_UniformBuffer 2 "c" 12OpMemberName %_UniformBuffer 3 "d" 13OpMemberName %_UniformBuffer 4 "e" 14OpName %main "main" 15OpDecorate %sk_FragColor RelaxedPrecision 16OpDecorate %sk_FragColor Location 0 17OpDecorate %sk_FragColor Index 0 18OpDecorate %sk_Clockwise BuiltIn FrontFacing 19OpMemberDecorate %_UniformBuffer 0 Offset 0 20OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision 21OpMemberDecorate %_UniformBuffer 1 Offset 4 22OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision 23OpMemberDecorate %_UniformBuffer 2 Offset 8 24OpMemberDecorate %_UniformBuffer 2 RelaxedPrecision 25OpMemberDecorate %_UniformBuffer 3 Offset 16 26OpMemberDecorate %_UniformBuffer 3 RelaxedPrecision 27OpMemberDecorate %_UniformBuffer 4 Offset 32 28OpMemberDecorate %_UniformBuffer 4 RelaxedPrecision 29OpDecorate %_UniformBuffer Block 30OpDecorate %10 Binding 0 31OpDecorate %10 DescriptorSet 0 32OpDecorate %16 RelaxedPrecision 33OpDecorate %21 RelaxedPrecision 34OpDecorate %24 RelaxedPrecision 35OpDecorate %27 RelaxedPrecision 36OpDecorate %30 RelaxedPrecision 37OpDecorate %34 RelaxedPrecision 38OpDecorate %37 RelaxedPrecision 39OpDecorate %39 RelaxedPrecision 40%float = OpTypeFloat 32 41%v4float = OpTypeVector %float 4 42%_ptr_Output_v4float = OpTypePointer Output %v4float 43%sk_FragColor = OpVariable %_ptr_Output_v4float Output 44%bool = OpTypeBool 45%_ptr_Input_bool = OpTypePointer Input %bool 46%sk_Clockwise = OpVariable %_ptr_Input_bool Input 47%_UniformBuffer = OpTypeStruct %float %float %float %v4float %v4float 48%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer 49%10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform 50%void = OpTypeVoid 51%14 = OpTypeFunction %void 52%_ptr_Uniform_float = OpTypePointer Uniform %float 53%int = OpTypeInt 32 1 54%int_0 = OpConstant %int 0 55%int_1 = OpConstant %int 1 56%int_2 = OpConstant %int 2 57%_ptr_Output_float = OpTypePointer Output %float 58%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float 59%int_3 = OpConstant %int 3 60%int_4 = OpConstant %int 4 61%main = OpFunction %void None %14 62%15 = OpLabel 63%17 = OpAccessChain %_ptr_Uniform_float %10 %int_0 64%21 = OpLoad %float %17 65%22 = OpAccessChain %_ptr_Uniform_float %10 %int_1 66%24 = OpLoad %float %22 67%25 = OpAccessChain %_ptr_Uniform_float %10 %int_2 68%27 = OpLoad %float %25 69%16 = OpExtInst %float %1 Refract %21 %24 %27 70%28 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_0 71OpStore %28 %16 72%31 = OpAccessChain %_ptr_Uniform_v4float %10 %int_3 73%34 = OpLoad %v4float %31 74%35 = OpAccessChain %_ptr_Uniform_v4float %10 %int_4 75%37 = OpLoad %v4float %35 76%38 = OpAccessChain %_ptr_Uniform_float %10 %int_2 77%39 = OpLoad %float %38 78%30 = OpExtInst %v4float %1 Refract %34 %37 %39 79OpStore %sk_FragColor %30 80OpReturn 81OpFunctionEnd 82