; SPIR-V ; Version: 1.3 ; Generator: Google Tint Compiler; 0 ; Bound: 57 ; Schema: 0 OpCapability Shader OpCapability SampleRateShading OpMemoryModel Logical GLSL450 OpEntryPoint Fragment %main "main" %position_1 %loc0_1 %front_facing_1 %loc1_1 %sample_index_1 %loc3_1 %sample_mask_1 %loc2_1 OpExecutionMode %main OriginUpperLeft OpName %position_1 "position_1" OpName %loc0_1 "loc0_1" OpName %front_facing_1 "front_facing_1" OpName %loc1_1 "loc1_1" OpName %sample_index_1 "sample_index_1" OpName %loc3_1 "loc3_1" OpName %sample_mask_1 "sample_mask_1" OpName %loc2_1 "loc2_1" OpName %FragmentInputs0 "FragmentInputs0" OpMemberName %FragmentInputs0 0 "position" OpMemberName %FragmentInputs0 1 "loc0" OpName %FragmentInputs1 "FragmentInputs1" OpMemberName %FragmentInputs1 0 "loc3" OpMemberName %FragmentInputs1 1 "sample_mask" OpName %main_inner "main_inner" OpName %inputs0 "inputs0" OpName %front_facing "front_facing" OpName %loc1 "loc1" OpName %sample_index "sample_index" OpName %inputs1 "inputs1" OpName %loc2 "loc2" OpName %main "main" OpDecorate %position_1 BuiltIn FragCoord OpDecorate %loc0_1 Location 0 OpDecorate %loc0_1 Flat OpDecorate %front_facing_1 BuiltIn FrontFacing OpDecorate %loc1_1 Location 1 OpDecorate %loc1_1 Flat OpDecorate %sample_index_1 BuiltIn SampleId OpDecorate %loc3_1 Location 3 OpDecorate %_arr_uint_uint_1 ArrayStride 4 OpDecorate %sample_mask_1 BuiltIn SampleMask OpDecorate %loc2_1 Location 2 OpMemberDecorate %FragmentInputs0 0 Offset 0 OpMemberDecorate %FragmentInputs0 1 Offset 16 OpMemberDecorate %FragmentInputs1 0 Offset 0 OpMemberDecorate %FragmentInputs1 1 Offset 16 %float = OpTypeFloat 32 %v4float = OpTypeVector %float 4 %_ptr_Input_v4float = OpTypePointer Input %v4float %position_1 = OpVariable %_ptr_Input_v4float Input %int = OpTypeInt 32 1 %_ptr_Input_int = OpTypePointer Input %int %loc0_1 = OpVariable %_ptr_Input_int Input %bool = OpTypeBool %_ptr_Input_bool = OpTypePointer Input %bool %front_facing_1 = OpVariable %_ptr_Input_bool Input %uint = OpTypeInt 32 0 %_ptr_Input_uint = OpTypePointer Input %uint %loc1_1 = OpVariable %_ptr_Input_uint Input %sample_index_1 = OpVariable %_ptr_Input_uint Input %loc3_1 = OpVariable %_ptr_Input_v4float Input %uint_1 = OpConstant %uint 1 %_arr_uint_uint_1 = OpTypeArray %uint %uint_1 %_ptr_Input__arr_uint_uint_1 = OpTypePointer Input %_arr_uint_uint_1 %sample_mask_1 = OpVariable %_ptr_Input__arr_uint_uint_1 Input %_ptr_Input_float = OpTypePointer Input %float %loc2_1 = OpVariable %_ptr_Input_float Input %void = OpTypeVoid %FragmentInputs0 = OpTypeStruct %v4float %int %FragmentInputs1 = OpTypeStruct %v4float %uint %22 = OpTypeFunction %void %FragmentInputs0 %bool %uint %uint %FragmentInputs1 %float %41 = OpTypeFunction %void %52 = OpConstantNull %int %main_inner = OpFunction %void None %22 %inputs0 = OpFunctionParameter %FragmentInputs0 %front_facing = OpFunctionParameter %bool %loc1 = OpFunctionParameter %uint %sample_index = OpFunctionParameter %uint %inputs1 = OpFunctionParameter %FragmentInputs1 %loc2 = OpFunctionParameter %float %33 = OpLabel OpSelectionMerge %34 None OpBranchConditional %front_facing %35 %34 %35 = OpLabel %36 = OpCompositeExtract %v4float %inputs0 0 %37 = OpCompositeExtract %uint %inputs1 1 %38 = OpIAdd %uint %sample_index %37 %39 = OpCompositeExtract %int %inputs0 1 %40 = OpCompositeExtract %v4float %inputs1 0 OpBranch %34 %34 = OpLabel OpReturn OpFunctionEnd %main = OpFunction %void None %41 %43 = OpLabel %45 = OpLoad %v4float %position_1 %46 = OpLoad %int %loc0_1 %47 = OpCompositeConstruct %FragmentInputs0 %45 %46 %48 = OpLoad %bool %front_facing_1 %49 = OpLoad %uint %loc1_1 %50 = OpLoad %uint %sample_index_1 %51 = OpLoad %v4float %loc3_1 %53 = OpAccessChain %_ptr_Input_uint %sample_mask_1 %52 %54 = OpLoad %uint %53 %55 = OpCompositeConstruct %FragmentInputs1 %51 %54 %56 = OpLoad %float %loc2_1 %44 = OpFunctionCall %void %main_inner %47 %48 %49 %50 %55 %56 OpReturn OpFunctionEnd