1cb93a386Sopenharmony_ci; SPIR-V 2cb93a386Sopenharmony_ci; Version: 1.3 3cb93a386Sopenharmony_ci; Generator: Khronos Glslang Reference Front End; 7 4cb93a386Sopenharmony_ci; Bound: 205 5cb93a386Sopenharmony_ci; Schema: 0 6cb93a386Sopenharmony_ci OpCapability Shader 7cb93a386Sopenharmony_ci OpCapability Float16 8cb93a386Sopenharmony_ci OpExtension "SPV_AMD_gpu_shader_half_float" 9cb93a386Sopenharmony_ci %1 = OpExtInstImport "GLSL.std.450" 10cb93a386Sopenharmony_ci OpMemoryModel Logical GLSL450 11cb93a386Sopenharmony_ci OpEntryPoint Fragment %main "main" %v1 %v2 %v3 %v4 %h1 %h2 %h3 %h4 12cb93a386Sopenharmony_ci OpExecutionMode %main OriginUpperLeft 13cb93a386Sopenharmony_ci OpSource GLSL 450 14cb93a386Sopenharmony_ci OpSourceExtension "GL_AMD_gpu_shader_half_float" 15cb93a386Sopenharmony_ci OpName %main "main" 16cb93a386Sopenharmony_ci OpName %res "res" 17cb93a386Sopenharmony_ci OpName %res2 "res2" 18cb93a386Sopenharmony_ci OpName %res3 "res3" 19cb93a386Sopenharmony_ci OpName %res4 "res4" 20cb93a386Sopenharmony_ci OpName %hres "hres" 21cb93a386Sopenharmony_ci OpName %hres2 "hres2" 22cb93a386Sopenharmony_ci OpName %hres3 "hres3" 23cb93a386Sopenharmony_ci OpName %hres4 "hres4" 24cb93a386Sopenharmony_ci OpName %v1 "v1" 25cb93a386Sopenharmony_ci OpName %v2 "v2" 26cb93a386Sopenharmony_ci OpName %v3 "v3" 27cb93a386Sopenharmony_ci OpName %v4 "v4" 28cb93a386Sopenharmony_ci OpName %h1 "h1" 29cb93a386Sopenharmony_ci OpName %h2 "h2" 30cb93a386Sopenharmony_ci OpName %h3 "h3" 31cb93a386Sopenharmony_ci OpName %h4 "h4" 32cb93a386Sopenharmony_ci OpDecorate %v1 Location 0 33cb93a386Sopenharmony_ci OpDecorate %v2 Location 1 34cb93a386Sopenharmony_ci OpDecorate %v3 Location 2 35cb93a386Sopenharmony_ci OpDecorate %v4 Location 3 36cb93a386Sopenharmony_ci OpDecorate %h1 Location 4 37cb93a386Sopenharmony_ci OpDecorate %h2 Location 5 38cb93a386Sopenharmony_ci OpDecorate %h3 Location 6 39cb93a386Sopenharmony_ci OpDecorate %h4 Location 7 40cb93a386Sopenharmony_ci %void = OpTypeVoid 41cb93a386Sopenharmony_ci %3 = OpTypeFunction %void 42cb93a386Sopenharmony_ci %float = OpTypeFloat 32 43cb93a386Sopenharmony_ci %v2float = OpTypeVector %float 2 44cb93a386Sopenharmony_ci %v3float = OpTypeVector %float 3 45cb93a386Sopenharmony_ci %v4float = OpTypeVector %float 4 46cb93a386Sopenharmony_ci %half = OpTypeFloat 16 47cb93a386Sopenharmony_ci %v2half = OpTypeVector %half 2 48cb93a386Sopenharmony_ci %v3half = OpTypeVector %half 3 49cb93a386Sopenharmony_ci %v4half = OpTypeVector %half 4 50cb93a386Sopenharmony_ci%_ptr_Function_float = OpTypePointer Function %float 51cb93a386Sopenharmony_ci%_ptr_Input_float = OpTypePointer Input %float 52cb93a386Sopenharmony_ci%_ptr_Function_v2float = OpTypePointer Function %v2float 53cb93a386Sopenharmony_ci%_ptr_Input_v2float = OpTypePointer Input %v2float 54cb93a386Sopenharmony_ci%_ptr_Function_v3float = OpTypePointer Function %v3float 55cb93a386Sopenharmony_ci%_ptr_Input_v3float = OpTypePointer Input %v3float 56cb93a386Sopenharmony_ci%_ptr_Function_v4float = OpTypePointer Function %v4float 57cb93a386Sopenharmony_ci%_ptr_Input_v4float = OpTypePointer Input %v4float 58cb93a386Sopenharmony_ci%_ptr_Function_half = OpTypePointer Function %half 59cb93a386Sopenharmony_ci%_ptr_Input_half = OpTypePointer Input %half 60cb93a386Sopenharmony_ci%_ptr_Function_v2half = OpTypePointer Function %v2half 61cb93a386Sopenharmony_ci%_ptr_Input_v2half = OpTypePointer Input %v2half 62cb93a386Sopenharmony_ci%_ptr_Function_v3half = OpTypePointer Function %v3half 63cb93a386Sopenharmony_ci%_ptr_Input_v3half = OpTypePointer Input %v3half 64cb93a386Sopenharmony_ci%_ptr_Function_v4half = OpTypePointer Function %v4half 65cb93a386Sopenharmony_ci%_ptr_Input_v4half = OpTypePointer Input %v4half 66cb93a386Sopenharmony_ci %v1 = OpVariable %_ptr_Input_float Input 67cb93a386Sopenharmony_ci %v2 = OpVariable %_ptr_Input_v2float Input 68cb93a386Sopenharmony_ci %v3 = OpVariable %_ptr_Input_v3float Input 69cb93a386Sopenharmony_ci %v4 = OpVariable %_ptr_Input_v4float Input 70cb93a386Sopenharmony_ci %h1 = OpVariable %_ptr_Input_half Input 71cb93a386Sopenharmony_ci %h2 = OpVariable %_ptr_Input_v2half Input 72cb93a386Sopenharmony_ci %h3 = OpVariable %_ptr_Input_v3half Input 73cb93a386Sopenharmony_ci %h4 = OpVariable %_ptr_Input_v4half Input 74cb93a386Sopenharmony_ci %main = OpFunction %void None %3 75cb93a386Sopenharmony_ci %5 = OpLabel 76cb93a386Sopenharmony_ci %res = OpVariable %_ptr_Function_float Function 77cb93a386Sopenharmony_ci %46 = OpLoad %float %v1 78cb93a386Sopenharmony_ci %47 = OpLoad %float %v1 79cb93a386Sopenharmony_ci %48 = OpExtInst %float %1 FMin %46 %47 80cb93a386Sopenharmony_ci OpStore %res %48 81cb93a386Sopenharmony_ci %49 = OpLoad %float %v1 82cb93a386Sopenharmony_ci %50 = OpLoad %float %v1 83cb93a386Sopenharmony_ci %51 = OpExtInst %float %1 FMax %49 %50 84cb93a386Sopenharmony_ci OpStore %res %51 85cb93a386Sopenharmony_ci %52 = OpLoad %float %v1 86cb93a386Sopenharmony_ci %53 = OpLoad %float %v1 87cb93a386Sopenharmony_ci %54 = OpLoad %float %v1 88cb93a386Sopenharmony_ci %55 = OpExtInst %float %1 FClamp %52 %53 %54 89cb93a386Sopenharmony_ci OpStore %res %55 90cb93a386Sopenharmony_ci %56 = OpLoad %float %v1 91cb93a386Sopenharmony_ci %57 = OpLoad %float %v1 92cb93a386Sopenharmony_ci %58 = OpExtInst %float %1 NMin %56 %57 93cb93a386Sopenharmony_ci OpStore %res %58 94cb93a386Sopenharmony_ci %59 = OpLoad %float %v1 95cb93a386Sopenharmony_ci %60 = OpLoad %float %v1 96cb93a386Sopenharmony_ci %61 = OpExtInst %float %1 NMax %59 %60 97cb93a386Sopenharmony_ci OpStore %res %61 98cb93a386Sopenharmony_ci %62 = OpLoad %float %v1 99cb93a386Sopenharmony_ci %63 = OpLoad %float %v1 100cb93a386Sopenharmony_ci %64 = OpLoad %float %v1 101cb93a386Sopenharmony_ci %65 = OpExtInst %float %1 NClamp %62 %63 %64 102cb93a386Sopenharmony_ci OpStore %res %65 103cb93a386Sopenharmony_ci %res2 = OpVariable %_ptr_Function_v2float Function 104cb93a386Sopenharmony_ci %66 = OpLoad %v2float %v2 105cb93a386Sopenharmony_ci %67 = OpLoad %v2float %v2 106cb93a386Sopenharmony_ci %68 = OpExtInst %v2float %1 FMin %66 %67 107cb93a386Sopenharmony_ci OpStore %res2 %68 108cb93a386Sopenharmony_ci %69 = OpLoad %v2float %v2 109cb93a386Sopenharmony_ci %70 = OpLoad %v2float %v2 110cb93a386Sopenharmony_ci %71 = OpExtInst %v2float %1 FMax %69 %70 111cb93a386Sopenharmony_ci OpStore %res2 %71 112cb93a386Sopenharmony_ci %72 = OpLoad %v2float %v2 113cb93a386Sopenharmony_ci %73 = OpLoad %v2float %v2 114cb93a386Sopenharmony_ci %74 = OpLoad %v2float %v2 115cb93a386Sopenharmony_ci %75 = OpExtInst %v2float %1 FClamp %72 %73 %74 116cb93a386Sopenharmony_ci OpStore %res2 %75 117cb93a386Sopenharmony_ci %76 = OpLoad %v2float %v2 118cb93a386Sopenharmony_ci %77 = OpLoad %v2float %v2 119cb93a386Sopenharmony_ci %78 = OpExtInst %v2float %1 NMin %76 %77 120cb93a386Sopenharmony_ci OpStore %res2 %78 121cb93a386Sopenharmony_ci %79 = OpLoad %v2float %v2 122cb93a386Sopenharmony_ci %80 = OpLoad %v2float %v2 123cb93a386Sopenharmony_ci %81 = OpExtInst %v2float %1 NMax %79 %80 124cb93a386Sopenharmony_ci OpStore %res2 %81 125cb93a386Sopenharmony_ci %82 = OpLoad %v2float %v2 126cb93a386Sopenharmony_ci %83 = OpLoad %v2float %v2 127cb93a386Sopenharmony_ci %84 = OpLoad %v2float %v2 128cb93a386Sopenharmony_ci %85 = OpExtInst %v2float %1 NClamp %82 %83 %84 129cb93a386Sopenharmony_ci OpStore %res2 %85 130cb93a386Sopenharmony_ci %res3 = OpVariable %_ptr_Function_v3float Function 131cb93a386Sopenharmony_ci %86 = OpLoad %v3float %v3 132cb93a386Sopenharmony_ci %87 = OpLoad %v3float %v3 133cb93a386Sopenharmony_ci %88 = OpExtInst %v3float %1 FMin %86 %87 134cb93a386Sopenharmony_ci OpStore %res3 %88 135cb93a386Sopenharmony_ci %89 = OpLoad %v3float %v3 136cb93a386Sopenharmony_ci %90 = OpLoad %v3float %v3 137cb93a386Sopenharmony_ci %91 = OpExtInst %v3float %1 FMax %89 %90 138cb93a386Sopenharmony_ci OpStore %res3 %91 139cb93a386Sopenharmony_ci %92 = OpLoad %v3float %v3 140cb93a386Sopenharmony_ci %93 = OpLoad %v3float %v3 141cb93a386Sopenharmony_ci %94 = OpLoad %v3float %v3 142cb93a386Sopenharmony_ci %95 = OpExtInst %v3float %1 FClamp %92 %93 %94 143cb93a386Sopenharmony_ci OpStore %res3 %95 144cb93a386Sopenharmony_ci %96 = OpLoad %v3float %v3 145cb93a386Sopenharmony_ci %97 = OpLoad %v3float %v3 146cb93a386Sopenharmony_ci %98 = OpExtInst %v3float %1 NMin %96 %97 147cb93a386Sopenharmony_ci OpStore %res3 %98 148cb93a386Sopenharmony_ci %99 = OpLoad %v3float %v3 149cb93a386Sopenharmony_ci %100 = OpLoad %v3float %v3 150cb93a386Sopenharmony_ci %101 = OpExtInst %v3float %1 NMax %99 %100 151cb93a386Sopenharmony_ci OpStore %res3 %101 152cb93a386Sopenharmony_ci %102 = OpLoad %v3float %v3 153cb93a386Sopenharmony_ci %103 = OpLoad %v3float %v3 154cb93a386Sopenharmony_ci %104 = OpLoad %v3float %v3 155cb93a386Sopenharmony_ci %105 = OpExtInst %v3float %1 NClamp %102 %103 %104 156cb93a386Sopenharmony_ci OpStore %res3 %105 157cb93a386Sopenharmony_ci %res4 = OpVariable %_ptr_Function_v4float Function 158cb93a386Sopenharmony_ci %106 = OpLoad %v4float %v4 159cb93a386Sopenharmony_ci %107 = OpLoad %v4float %v4 160cb93a386Sopenharmony_ci %108 = OpExtInst %v4float %1 FMin %106 %107 161cb93a386Sopenharmony_ci OpStore %res4 %108 162cb93a386Sopenharmony_ci %109 = OpLoad %v4float %v4 163cb93a386Sopenharmony_ci %110 = OpLoad %v4float %v4 164cb93a386Sopenharmony_ci %111 = OpExtInst %v4float %1 FMax %109 %110 165cb93a386Sopenharmony_ci OpStore %res4 %111 166cb93a386Sopenharmony_ci %112 = OpLoad %v4float %v4 167cb93a386Sopenharmony_ci %113 = OpLoad %v4float %v4 168cb93a386Sopenharmony_ci %114 = OpLoad %v4float %v4 169cb93a386Sopenharmony_ci %115 = OpExtInst %v4float %1 FClamp %112 %113 %114 170cb93a386Sopenharmony_ci OpStore %res4 %115 171cb93a386Sopenharmony_ci %116 = OpLoad %v4float %v4 172cb93a386Sopenharmony_ci %117 = OpLoad %v4float %v4 173cb93a386Sopenharmony_ci %118 = OpExtInst %v4float %1 NMin %116 %117 174cb93a386Sopenharmony_ci OpStore %res4 %118 175cb93a386Sopenharmony_ci %119 = OpLoad %v4float %v4 176cb93a386Sopenharmony_ci %120 = OpLoad %v4float %v4 177cb93a386Sopenharmony_ci %121 = OpExtInst %v4float %1 NMax %119 %120 178cb93a386Sopenharmony_ci OpStore %res4 %121 179cb93a386Sopenharmony_ci %122 = OpLoad %v4float %v4 180cb93a386Sopenharmony_ci %123 = OpLoad %v4float %v4 181cb93a386Sopenharmony_ci %124 = OpLoad %v4float %v4 182cb93a386Sopenharmony_ci %125 = OpExtInst %v4float %1 NClamp %122 %123 %124 183cb93a386Sopenharmony_ci OpStore %res4 %125 184cb93a386Sopenharmony_ci %hres = OpVariable %_ptr_Function_half Function 185cb93a386Sopenharmony_ci %126 = OpLoad %half %h1 186cb93a386Sopenharmony_ci %127 = OpLoad %half %h1 187cb93a386Sopenharmony_ci %128 = OpExtInst %half %1 FMin %126 %127 188cb93a386Sopenharmony_ci OpStore %hres %128 189cb93a386Sopenharmony_ci %129 = OpLoad %half %h1 190cb93a386Sopenharmony_ci %130 = OpLoad %half %h1 191cb93a386Sopenharmony_ci %131 = OpExtInst %half %1 FMax %129 %130 192cb93a386Sopenharmony_ci OpStore %hres %131 193cb93a386Sopenharmony_ci %132 = OpLoad %half %h1 194cb93a386Sopenharmony_ci %133 = OpLoad %half %h1 195cb93a386Sopenharmony_ci %134 = OpLoad %half %h1 196cb93a386Sopenharmony_ci %135 = OpExtInst %half %1 FClamp %132 %133 %134 197cb93a386Sopenharmony_ci OpStore %hres %135 198cb93a386Sopenharmony_ci %136 = OpLoad %half %h1 199cb93a386Sopenharmony_ci %137 = OpLoad %half %h1 200cb93a386Sopenharmony_ci %138 = OpExtInst %half %1 NMin %136 %137 201cb93a386Sopenharmony_ci OpStore %hres %138 202cb93a386Sopenharmony_ci %139 = OpLoad %half %h1 203cb93a386Sopenharmony_ci %140 = OpLoad %half %h1 204cb93a386Sopenharmony_ci %141 = OpExtInst %half %1 NMax %139 %140 205cb93a386Sopenharmony_ci OpStore %hres %141 206cb93a386Sopenharmony_ci %142 = OpLoad %half %h1 207cb93a386Sopenharmony_ci %143 = OpLoad %half %h1 208cb93a386Sopenharmony_ci %144 = OpLoad %half %h1 209cb93a386Sopenharmony_ci %145 = OpExtInst %half %1 NClamp %142 %143 %144 210cb93a386Sopenharmony_ci OpStore %hres %145 211cb93a386Sopenharmony_ci %hres2 = OpVariable %_ptr_Function_v2half Function 212cb93a386Sopenharmony_ci %146 = OpLoad %v2half %h2 213cb93a386Sopenharmony_ci %147 = OpLoad %v2half %h2 214cb93a386Sopenharmony_ci %148 = OpExtInst %v2half %1 FMin %146 %147 215cb93a386Sopenharmony_ci OpStore %hres2 %148 216cb93a386Sopenharmony_ci %149 = OpLoad %v2half %h2 217cb93a386Sopenharmony_ci %150 = OpLoad %v2half %h2 218cb93a386Sopenharmony_ci %151 = OpExtInst %v2half %1 FMax %149 %150 219cb93a386Sopenharmony_ci OpStore %hres2 %151 220cb93a386Sopenharmony_ci %152 = OpLoad %v2half %h2 221cb93a386Sopenharmony_ci %153 = OpLoad %v2half %h2 222cb93a386Sopenharmony_ci %154 = OpLoad %v2half %h2 223cb93a386Sopenharmony_ci %155 = OpExtInst %v2half %1 FClamp %152 %153 %154 224cb93a386Sopenharmony_ci OpStore %hres2 %155 225cb93a386Sopenharmony_ci %156 = OpLoad %v2half %h2 226cb93a386Sopenharmony_ci %157 = OpLoad %v2half %h2 227cb93a386Sopenharmony_ci %158 = OpExtInst %v2half %1 NMin %156 %157 228cb93a386Sopenharmony_ci OpStore %hres2 %158 229cb93a386Sopenharmony_ci %159 = OpLoad %v2half %h2 230cb93a386Sopenharmony_ci %160 = OpLoad %v2half %h2 231cb93a386Sopenharmony_ci %161 = OpExtInst %v2half %1 NMax %159 %160 232cb93a386Sopenharmony_ci OpStore %hres2 %161 233cb93a386Sopenharmony_ci %162 = OpLoad %v2half %h2 234cb93a386Sopenharmony_ci %163 = OpLoad %v2half %h2 235cb93a386Sopenharmony_ci %164 = OpLoad %v2half %h2 236cb93a386Sopenharmony_ci %165 = OpExtInst %v2half %1 NClamp %162 %163 %164 237cb93a386Sopenharmony_ci OpStore %hres2 %165 238cb93a386Sopenharmony_ci %hres3 = OpVariable %_ptr_Function_v3half Function 239cb93a386Sopenharmony_ci %166 = OpLoad %v3half %h3 240cb93a386Sopenharmony_ci %167 = OpLoad %v3half %h3 241cb93a386Sopenharmony_ci %168 = OpExtInst %v3half %1 FMin %166 %167 242cb93a386Sopenharmony_ci OpStore %hres3 %168 243cb93a386Sopenharmony_ci %169 = OpLoad %v3half %h3 244cb93a386Sopenharmony_ci %170 = OpLoad %v3half %h3 245cb93a386Sopenharmony_ci %171 = OpExtInst %v3half %1 FMax %169 %170 246cb93a386Sopenharmony_ci OpStore %hres3 %171 247cb93a386Sopenharmony_ci %172 = OpLoad %v3half %h3 248cb93a386Sopenharmony_ci %173 = OpLoad %v3half %h3 249cb93a386Sopenharmony_ci %174 = OpLoad %v3half %h3 250cb93a386Sopenharmony_ci %175 = OpExtInst %v3half %1 FClamp %172 %173 %174 251cb93a386Sopenharmony_ci OpStore %hres3 %175 252cb93a386Sopenharmony_ci %176 = OpLoad %v3half %h3 253cb93a386Sopenharmony_ci %177 = OpLoad %v3half %h3 254cb93a386Sopenharmony_ci %178 = OpExtInst %v3half %1 NMin %176 %177 255cb93a386Sopenharmony_ci OpStore %hres3 %178 256cb93a386Sopenharmony_ci %179 = OpLoad %v3half %h3 257cb93a386Sopenharmony_ci %180 = OpLoad %v3half %h3 258cb93a386Sopenharmony_ci %181 = OpExtInst %v3half %1 NMax %179 %180 259cb93a386Sopenharmony_ci OpStore %hres3 %181 260cb93a386Sopenharmony_ci %182 = OpLoad %v3half %h3 261cb93a386Sopenharmony_ci %183 = OpLoad %v3half %h3 262cb93a386Sopenharmony_ci %184 = OpLoad %v3half %h3 263cb93a386Sopenharmony_ci %185 = OpExtInst %v3half %1 NClamp %182 %183 %184 264cb93a386Sopenharmony_ci OpStore %hres3 %185 265cb93a386Sopenharmony_ci %hres4 = OpVariable %_ptr_Function_v4half Function 266cb93a386Sopenharmony_ci %186 = OpLoad %v4half %h4 267cb93a386Sopenharmony_ci %187 = OpLoad %v4half %h4 268cb93a386Sopenharmony_ci %188 = OpExtInst %v4half %1 FMin %186 %187 269cb93a386Sopenharmony_ci OpStore %hres4 %188 270cb93a386Sopenharmony_ci %189 = OpLoad %v4half %h4 271cb93a386Sopenharmony_ci %190 = OpLoad %v4half %h4 272cb93a386Sopenharmony_ci %191 = OpExtInst %v4half %1 FMax %189 %190 273cb93a386Sopenharmony_ci OpStore %hres4 %191 274cb93a386Sopenharmony_ci %192 = OpLoad %v4half %h4 275cb93a386Sopenharmony_ci %193 = OpLoad %v4half %h4 276cb93a386Sopenharmony_ci %194 = OpLoad %v4half %h4 277cb93a386Sopenharmony_ci %195 = OpExtInst %v4half %1 FClamp %192 %193 %194 278cb93a386Sopenharmony_ci OpStore %hres4 %195 279cb93a386Sopenharmony_ci %196 = OpLoad %v4half %h4 280cb93a386Sopenharmony_ci %197 = OpLoad %v4half %h4 281cb93a386Sopenharmony_ci %198 = OpExtInst %v4half %1 NMin %196 %197 282cb93a386Sopenharmony_ci OpStore %hres4 %198 283cb93a386Sopenharmony_ci %199 = OpLoad %v4half %h4 284cb93a386Sopenharmony_ci %200 = OpLoad %v4half %h4 285cb93a386Sopenharmony_ci %201 = OpExtInst %v4half %1 NMax %199 %200 286cb93a386Sopenharmony_ci OpStore %hres4 %201 287cb93a386Sopenharmony_ci %202 = OpLoad %v4half %h4 288cb93a386Sopenharmony_ci %203 = OpLoad %v4half %h4 289cb93a386Sopenharmony_ci %204 = OpLoad %v4half %h4 290cb93a386Sopenharmony_ci %205 = OpExtInst %v4half %1 NClamp %202 %203 %204 291cb93a386Sopenharmony_ci OpStore %hres4 %205 292cb93a386Sopenharmony_ci OpReturn 293cb93a386Sopenharmony_ci OpFunctionEnd 294