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