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 %v1 "v1" 9 OpName %buf0 "buf0" 10 OpMemberName %buf0 0 "_GLF_uniform_int_values" 11 OpName %_ "" 12 OpName %_GLF_color "_GLF_color" 13 OpName %buf1 "buf1" 14 OpMemberName %buf1 0 "_GLF_uniform_float_values" 15 OpName %__0 "" 16 OpDecorate %_arr_int_uint_2 ArrayStride 16 17 OpMemberDecorate %buf0 0 Offset 0 18 OpDecorate %buf0 Block 19 OpDecorate %_ DescriptorSet 0 20 OpDecorate %_ Binding 0 21 OpDecorate %_GLF_color Location 0 22 OpDecorate %_arr_float_uint_2 ArrayStride 16 23 OpMemberDecorate %buf1 0 Offset 0 24 OpDecorate %buf1 Block 25 OpDecorate %__0 DescriptorSet 0 26 OpDecorate %__0 Binding 1 27 %void = OpTypeVoid 28 %12 = OpTypeFunction %void 29 %float = OpTypeFloat 32 30 %v2float = OpTypeVector %float 2 31%_ptr_Function_v2float = OpTypePointer Function %v2float 32 %int = OpTypeInt 32 1 33 %int_n1 = OpConstant %int -1 34 %uint = OpTypeInt 32 0 35 %uint_2 = OpConstant %uint 2 36%_arr_int_uint_2 = OpTypeArray %int %uint_2 37 %buf0 = OpTypeStruct %_arr_int_uint_2 38%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0 39 %_ = OpVariable %_ptr_Uniform_buf0 Uniform 40 %int_0 = OpConstant %int 0 41%_ptr_Uniform_int = OpTypePointer Uniform %int 42 %v2int = OpTypeVector %int 2 43 %v4float = OpTypeVector %float 4 44%_ptr_Output_v4float = OpTypePointer Output %v4float 45 %_GLF_color = OpVariable %_ptr_Output_v4float Output 46 %uint_0 = OpConstant %uint 0 47%_ptr_Function_float = OpTypePointer Function %float 48 %bool = OpTypeBool 49 %uint_1 = OpConstant %uint 1 50%_arr_float_uint_2 = OpTypeArray %float %uint_2 51 %buf1 = OpTypeStruct %_arr_float_uint_2 52%_ptr_Uniform_buf1 = OpTypePointer Uniform %buf1 53 %__0 = OpVariable %_ptr_Uniform_buf1 Uniform 54%_ptr_Uniform_float = OpTypePointer Uniform %float 55 %int_1 = OpConstant %int 1 56 %main = OpFunction %void None %12 57 %33 = OpLabel 58 %v1 = OpVariable %_ptr_Function_v2float Function 59 %34 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0 60 %35 = OpLoad %int %34 61 %36 = OpCompositeConstruct %v2int %int_n1 %35 62 %37 = OpBitcast %v2float %36 63 %38 = OpExtInst %v2float %1 Cos %37 64 %39 = OpExtInst %v2float %1 Cos %38 65 OpStore %v1 %39 66 %40 = OpAccessChain %_ptr_Function_float %v1 %uint_0 67 %41 = OpLoad %float %40 68 %42 = OpCompositeConstruct %v4float %41 %41 %41 %41 69 OpStore %_GLF_color %42 70 %43 = OpAccessChain %_ptr_Function_float %v1 %uint_1 71 %44 = OpLoad %float %43 72 %45 = OpAccessChain %_ptr_Uniform_float %__0 %int_0 %int_0 73 %46 = OpLoad %float %45 74 %47 = OpFOrdGreaterThan %bool %44 %46 75 OpSelectionMerge %48 None 76 OpBranchConditional %47 %49 %48 77 %49 = OpLabel 78 %50 = OpAccessChain %_ptr_Function_float %v1 %uint_1 79 %51 = OpLoad %float %50 80 %52 = OpAccessChain %_ptr_Uniform_float %__0 %int_0 %int_1 81 %53 = OpLoad %float %52 82 %54 = OpFOrdLessThan %bool %51 %53 83 OpBranch %48 84 %48 = OpLabel 85 %55 = OpPhi %bool %47 %33 %54 %49 86 OpSelectionMerge %56 None 87 OpBranchConditional %55 %57 %58 88 %57 = OpLabel 89 %59 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0 90 %60 = OpLoad %int %59 91 %61 = OpConvertSToF %float %60 92 %62 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1 93 %63 = OpLoad %int %62 94 %64 = OpConvertSToF %float %63 95 %65 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1 96 %66 = OpLoad %int %65 97 %67 = OpConvertSToF %float %66 98 %68 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0 99 %69 = OpLoad %int %68 100 %70 = OpConvertSToF %float %69 101 %71 = OpCompositeConstruct %v4float %61 %64 %67 %70 102 OpStore %_GLF_color %71 103 OpBranch %56 104 %58 = OpLabel 105 %72 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1 106 %73 = OpLoad %int %72 107 %74 = OpConvertSToF %float %73 108 %75 = OpCompositeConstruct %v4float %74 %74 %74 %74 109 OpStore %_GLF_color %75 110 OpBranch %56 111 %56 = OpLabel 112 OpReturn 113 OpFunctionEnd 114