1 OpCapability Shader 2 %1 = OpExtInstImport "GLSL.std.450" 3 OpMemoryModel Logical GLSL450 4 OpEntryPoint Fragment %main "main" %_GLF_color 5 OpExecutionMode %main OriginUpperLeft 6 OpSource ESSL 310 7 OpName %main "main" 8 OpName %idx "idx" 9 OpName %buf1 "buf1" 10 OpMemberName %buf1 0 "_GLF_uniform_int_values" 11 OpName %_ "" 12 OpName %a "a" 13 OpName %indexable "indexable" 14 OpName %_GLF_color "_GLF_color" 15 OpDecorate %_arr_int_uint_2 ArrayStride 16 16 OpMemberDecorate %buf1 0 Offset 0 17 OpDecorate %buf1 Block 18 OpDecorate %_ DescriptorSet 0 19 OpDecorate %_ Binding 1 20 OpDecorate %_GLF_color Location 0 21 %void = OpTypeVoid 22 %11 = OpTypeFunction %void 23 %int = OpTypeInt 32 1 24%_ptr_Function_int = OpTypePointer Function %int 25 %int_1 = OpConstant %int 1 26 %uint = OpTypeInt 32 0 27 %uint_2 = OpConstant %uint 2 28%_arr_int_uint_2 = OpTypeArray %int %uint_2 29 %buf1 = OpTypeStruct %_arr_int_uint_2 30%_ptr_Uniform_buf1 = OpTypePointer Uniform %buf1 31 %_ = OpVariable %_ptr_Uniform_buf1 Uniform 32 %int_0 = OpConstant %int 0 33%_ptr_Uniform_int = OpTypePointer Uniform %int 34%_ptr_Function__arr_int_uint_2 = OpTypePointer Function %_arr_int_uint_2 35 %bool = OpTypeBool 36 %float = OpTypeFloat 32 37 %v4float = OpTypeVector %float 4 38%_ptr_Output_v4float = OpTypePointer Output %v4float 39 %_GLF_color = OpVariable %_ptr_Output_v4float Output 40 %main = OpFunction %void None %11 41 %25 = OpLabel 42 %idx = OpVariable %_ptr_Function_int Function 43 %a = OpVariable %_ptr_Function_int Function 44 %indexable = OpVariable %_ptr_Function__arr_int_uint_2 Function 45 %26 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1 46 %27 = OpLoad %int %26 47 %28 = OpShiftLeftLogical %int %int_1 %27 48 OpStore %idx %28 49 %29 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1 50 %30 = OpLoad %int %29 51 %31 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0 52 %32 = OpLoad %int %31 53 %33 = OpCompositeConstruct %_arr_int_uint_2 %30 %32 54 %34 = OpLoad %int %idx 55 OpStore %indexable %33 56 %35 = OpAccessChain %_ptr_Function_int %indexable %34 57 %36 = OpLoad %int %35 58 OpStore %a %36 59 %37 = OpLoad %int %a 60 %38 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0 61 %39 = OpLoad %int %38 62 %40 = OpIEqual %bool %37 %39 63 OpSelectionMerge %41 None 64 OpBranchConditional %40 %42 %43 65 %42 = OpLabel 66 %44 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0 67 %45 = OpLoad %int %44 68 %46 = OpConvertSToF %float %45 69 %47 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1 70 %48 = OpLoad %int %47 71 %49 = OpConvertSToF %float %48 72 %50 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1 73 %51 = OpLoad %int %50 74 %52 = OpConvertSToF %float %51 75 %53 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0 76 %54 = OpLoad %int %53 77 %55 = OpConvertSToF %float %54 78 %56 = OpCompositeConstruct %v4float %46 %49 %52 %55 79 OpStore %_GLF_color %56 80 OpBranch %41 81 %43 = OpLabel 82 %57 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1 83 %58 = OpLoad %int %57 84 %59 = OpConvertSToF %float %58 85 %60 = OpCompositeConstruct %v4float %59 %59 %59 %59 86 OpStore %_GLF_color %60 87 OpBranch %41 88 %41 = OpLabel 89 OpReturn 90 OpFunctionEnd 91