1 OpCapability Shader 2 %1 = OpExtInstImport "GLSL.std.450" 3 OpMemoryModel Logical GLSL450 4 OpEntryPoint Fragment %main "main" %sk_FragColor %sk_SampleMask %sk_SampleMaskIn 5 OpExecutionMode %main OriginUpperLeft 6 OpName %sk_FragColor "sk_FragColor" 7 OpName %sk_SampleMask "sk_SampleMask" 8 OpName %sk_SampleMaskIn "sk_SampleMaskIn" 9 OpName %samplemaskin_as_color_h4 "samplemaskin_as_color_h4" 10 OpName %clear_samplemask_v "clear_samplemask_v" 11 OpName %reset_samplemask_v "reset_samplemask_v" 12 OpName %main "main" 13 OpDecorate %sk_FragColor RelaxedPrecision 14 OpDecorate %sk_FragColor Location 0 15 OpDecorate %sk_FragColor Index 0 16 OpDecorate %_arr_uint_int_1 ArrayStride 16 17 OpDecorate %sk_SampleMask BuiltIn SampleMask 18 OpDecorate %sk_SampleMaskIn BuiltIn SampleMask 19 OpDecorate %24 RelaxedPrecision 20 OpDecorate %25 RelaxedPrecision 21 OpDecorate %43 RelaxedPrecision 22 %float = OpTypeFloat 32 23 %v4float = OpTypeVector %float 4 24%_ptr_Output_v4float = OpTypePointer Output %v4float 25%sk_FragColor = OpVariable %_ptr_Output_v4float Output 26 %uint = OpTypeInt 32 0 27 %int = OpTypeInt 32 1 28 %int_1 = OpConstant %int 1 29%_arr_uint_int_1 = OpTypeArray %uint %int_1 30%_ptr_Output__arr_uint_int_1 = OpTypePointer Output %_arr_uint_int_1 31%sk_SampleMask = OpVariable %_ptr_Output__arr_uint_int_1 Output 32%_ptr_Input__arr_uint_int_1 = OpTypePointer Input %_arr_uint_int_1 33%sk_SampleMaskIn = OpVariable %_ptr_Input__arr_uint_int_1 Input 34 %18 = OpTypeFunction %v4float 35%_ptr_Input_uint = OpTypePointer Input %uint 36 %int_0 = OpConstant %int 0 37 %void = OpTypeVoid 38 %27 = OpTypeFunction %void 39 %uint_0 = OpConstant %uint 0 40%_ptr_Output_uint = OpTypePointer Output %uint 41%uint_4294967295 = OpConstant %uint 4294967295 42%float_0_00390625 = OpConstant %float 0.00390625 43%samplemaskin_as_color_h4 = OpFunction %v4float None %18 44 %19 = OpLabel 45 %20 = OpAccessChain %_ptr_Input_uint %sk_SampleMaskIn %int_0 46 %23 = OpLoad %uint %20 47 %24 = OpConvertUToF %float %23 48 %25 = OpCompositeConstruct %v4float %24 %24 %24 %24 49 OpReturnValue %25 50 OpFunctionEnd 51%clear_samplemask_v = OpFunction %void None %27 52 %28 = OpLabel 53 %30 = OpAccessChain %_ptr_Output_uint %sk_SampleMask %int_0 54 OpStore %30 %uint_0 55 OpReturn 56 OpFunctionEnd 57%reset_samplemask_v = OpFunction %void None %27 58 %32 = OpLabel 59 %33 = OpAccessChain %_ptr_Input_uint %sk_SampleMaskIn %int_0 60 %34 = OpLoad %uint %33 61 %35 = OpAccessChain %_ptr_Output_uint %sk_SampleMask %int_0 62 OpStore %35 %34 63 OpReturn 64 OpFunctionEnd 65 %main = OpFunction %void None %27 66 %36 = OpLabel 67 %37 = OpFunctionCall %void %clear_samplemask_v 68 %38 = OpFunctionCall %void %reset_samplemask_v 69 %40 = OpAccessChain %_ptr_Output_uint %sk_SampleMask %int_0 70 OpStore %40 %uint_4294967295 71 %41 = OpFunctionCall %v4float %samplemaskin_as_color_h4 72 %43 = OpVectorTimesScalar %v4float %41 %float_0_00390625 73 OpStore %sk_FragColor %43 74 OpReturn 75 OpFunctionEnd 76