nir_builder_opcodes.h revision 96c5ddc4
1/* Copyright (C) 2015 Broadcom 2 * 3 * Permission is hereby granted, free of charge, to any person obtaining a 4 * copy of this software and associated documentation files (the "Software"), 5 * to deal in the Software without restriction, including without limitation 6 * the rights to use, copy, modify, merge, publish, distribute, sublicense, 7 * and/or sell copies of the Software, and to permit persons to whom the 8 * Software is furnished to do so, subject to the following conditions: 9 * 10 * The above copyright notice and this permission notice (including the next 11 * paragraph) shall be included in all copies or substantial portions of the 12 * Software. 13 * 14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 17 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 19 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 20 * IN THE SOFTWARE. 21 */ 22 23#ifndef _NIR_BUILDER_OPCODES_ 24#define _NIR_BUILDER_OPCODES_ 25 26 27 28static inline nir_ssa_def * 29nir_amul(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 30{ 31 return nir_build_alu(build, nir_op_amul, src0, src1, NULL, NULL); 32} 33static inline nir_ssa_def * 34nir_b16all_fequal16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 35{ 36 return nir_build_alu(build, nir_op_b16all_fequal16, src0, src1, NULL, NULL); 37} 38static inline nir_ssa_def * 39nir_b16all_fequal2(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 40{ 41 return nir_build_alu(build, nir_op_b16all_fequal2, src0, src1, NULL, NULL); 42} 43static inline nir_ssa_def * 44nir_b16all_fequal3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 45{ 46 return nir_build_alu(build, nir_op_b16all_fequal3, src0, src1, NULL, NULL); 47} 48static inline nir_ssa_def * 49nir_b16all_fequal4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 50{ 51 return nir_build_alu(build, nir_op_b16all_fequal4, src0, src1, NULL, NULL); 52} 53static inline nir_ssa_def * 54nir_b16all_fequal5(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 55{ 56 return nir_build_alu(build, nir_op_b16all_fequal5, src0, src1, NULL, NULL); 57} 58static inline nir_ssa_def * 59nir_b16all_fequal8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 60{ 61 return nir_build_alu(build, nir_op_b16all_fequal8, src0, src1, NULL, NULL); 62} 63static inline nir_ssa_def * 64nir_b16all_iequal16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 65{ 66 return nir_build_alu(build, nir_op_b16all_iequal16, src0, src1, NULL, NULL); 67} 68static inline nir_ssa_def * 69nir_b16all_iequal2(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 70{ 71 return nir_build_alu(build, nir_op_b16all_iequal2, src0, src1, NULL, NULL); 72} 73static inline nir_ssa_def * 74nir_b16all_iequal3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 75{ 76 return nir_build_alu(build, nir_op_b16all_iequal3, src0, src1, NULL, NULL); 77} 78static inline nir_ssa_def * 79nir_b16all_iequal4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 80{ 81 return nir_build_alu(build, nir_op_b16all_iequal4, src0, src1, NULL, NULL); 82} 83static inline nir_ssa_def * 84nir_b16all_iequal5(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 85{ 86 return nir_build_alu(build, nir_op_b16all_iequal5, src0, src1, NULL, NULL); 87} 88static inline nir_ssa_def * 89nir_b16all_iequal8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 90{ 91 return nir_build_alu(build, nir_op_b16all_iequal8, src0, src1, NULL, NULL); 92} 93static inline nir_ssa_def * 94nir_b16any_fnequal16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 95{ 96 return nir_build_alu(build, nir_op_b16any_fnequal16, src0, src1, NULL, NULL); 97} 98static inline nir_ssa_def * 99nir_b16any_fnequal2(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 100{ 101 return nir_build_alu(build, nir_op_b16any_fnequal2, src0, src1, NULL, NULL); 102} 103static inline nir_ssa_def * 104nir_b16any_fnequal3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 105{ 106 return nir_build_alu(build, nir_op_b16any_fnequal3, src0, src1, NULL, NULL); 107} 108static inline nir_ssa_def * 109nir_b16any_fnequal4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 110{ 111 return nir_build_alu(build, nir_op_b16any_fnequal4, src0, src1, NULL, NULL); 112} 113static inline nir_ssa_def * 114nir_b16any_fnequal5(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 115{ 116 return nir_build_alu(build, nir_op_b16any_fnequal5, src0, src1, NULL, NULL); 117} 118static inline nir_ssa_def * 119nir_b16any_fnequal8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 120{ 121 return nir_build_alu(build, nir_op_b16any_fnequal8, src0, src1, NULL, NULL); 122} 123static inline nir_ssa_def * 124nir_b16any_inequal16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 125{ 126 return nir_build_alu(build, nir_op_b16any_inequal16, src0, src1, NULL, NULL); 127} 128static inline nir_ssa_def * 129nir_b16any_inequal2(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 130{ 131 return nir_build_alu(build, nir_op_b16any_inequal2, src0, src1, NULL, NULL); 132} 133static inline nir_ssa_def * 134nir_b16any_inequal3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 135{ 136 return nir_build_alu(build, nir_op_b16any_inequal3, src0, src1, NULL, NULL); 137} 138static inline nir_ssa_def * 139nir_b16any_inequal4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 140{ 141 return nir_build_alu(build, nir_op_b16any_inequal4, src0, src1, NULL, NULL); 142} 143static inline nir_ssa_def * 144nir_b16any_inequal5(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 145{ 146 return nir_build_alu(build, nir_op_b16any_inequal5, src0, src1, NULL, NULL); 147} 148static inline nir_ssa_def * 149nir_b16any_inequal8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 150{ 151 return nir_build_alu(build, nir_op_b16any_inequal8, src0, src1, NULL, NULL); 152} 153static inline nir_ssa_def * 154nir_b16csel(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2) 155{ 156 return nir_build_alu(build, nir_op_b16csel, src0, src1, src2, NULL); 157} 158static inline nir_ssa_def * 159nir_b2b1(nir_builder *build, nir_ssa_def *src0) 160{ 161 return nir_build_alu(build, nir_op_b2b1, src0, NULL, NULL, NULL); 162} 163static inline nir_ssa_def * 164nir_b2b16(nir_builder *build, nir_ssa_def *src0) 165{ 166 return nir_build_alu(build, nir_op_b2b16, src0, NULL, NULL, NULL); 167} 168static inline nir_ssa_def * 169nir_b2b32(nir_builder *build, nir_ssa_def *src0) 170{ 171 return nir_build_alu(build, nir_op_b2b32, src0, NULL, NULL, NULL); 172} 173static inline nir_ssa_def * 174nir_b2b8(nir_builder *build, nir_ssa_def *src0) 175{ 176 return nir_build_alu(build, nir_op_b2b8, src0, NULL, NULL, NULL); 177} 178static inline nir_ssa_def * 179nir_b2f16(nir_builder *build, nir_ssa_def *src0) 180{ 181 return nir_build_alu(build, nir_op_b2f16, src0, NULL, NULL, NULL); 182} 183static inline nir_ssa_def * 184nir_b2f32(nir_builder *build, nir_ssa_def *src0) 185{ 186 return nir_build_alu(build, nir_op_b2f32, src0, NULL, NULL, NULL); 187} 188static inline nir_ssa_def * 189nir_b2f64(nir_builder *build, nir_ssa_def *src0) 190{ 191 return nir_build_alu(build, nir_op_b2f64, src0, NULL, NULL, NULL); 192} 193static inline nir_ssa_def * 194nir_b2i1(nir_builder *build, nir_ssa_def *src0) 195{ 196 return nir_build_alu(build, nir_op_b2i1, src0, NULL, NULL, NULL); 197} 198static inline nir_ssa_def * 199nir_b2i16(nir_builder *build, nir_ssa_def *src0) 200{ 201 return nir_build_alu(build, nir_op_b2i16, src0, NULL, NULL, NULL); 202} 203static inline nir_ssa_def * 204nir_b2i32(nir_builder *build, nir_ssa_def *src0) 205{ 206 return nir_build_alu(build, nir_op_b2i32, src0, NULL, NULL, NULL); 207} 208static inline nir_ssa_def * 209nir_b2i64(nir_builder *build, nir_ssa_def *src0) 210{ 211 return nir_build_alu(build, nir_op_b2i64, src0, NULL, NULL, NULL); 212} 213static inline nir_ssa_def * 214nir_b2i8(nir_builder *build, nir_ssa_def *src0) 215{ 216 return nir_build_alu(build, nir_op_b2i8, src0, NULL, NULL, NULL); 217} 218static inline nir_ssa_def * 219nir_b32all_fequal16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 220{ 221 return nir_build_alu(build, nir_op_b32all_fequal16, src0, src1, NULL, NULL); 222} 223static inline nir_ssa_def * 224nir_b32all_fequal2(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 225{ 226 return nir_build_alu(build, nir_op_b32all_fequal2, src0, src1, NULL, NULL); 227} 228static inline nir_ssa_def * 229nir_b32all_fequal3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 230{ 231 return nir_build_alu(build, nir_op_b32all_fequal3, src0, src1, NULL, NULL); 232} 233static inline nir_ssa_def * 234nir_b32all_fequal4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 235{ 236 return nir_build_alu(build, nir_op_b32all_fequal4, src0, src1, NULL, NULL); 237} 238static inline nir_ssa_def * 239nir_b32all_fequal5(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 240{ 241 return nir_build_alu(build, nir_op_b32all_fequal5, src0, src1, NULL, NULL); 242} 243static inline nir_ssa_def * 244nir_b32all_fequal8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 245{ 246 return nir_build_alu(build, nir_op_b32all_fequal8, src0, src1, NULL, NULL); 247} 248static inline nir_ssa_def * 249nir_b32all_iequal16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 250{ 251 return nir_build_alu(build, nir_op_b32all_iequal16, src0, src1, NULL, NULL); 252} 253static inline nir_ssa_def * 254nir_b32all_iequal2(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 255{ 256 return nir_build_alu(build, nir_op_b32all_iequal2, src0, src1, NULL, NULL); 257} 258static inline nir_ssa_def * 259nir_b32all_iequal3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 260{ 261 return nir_build_alu(build, nir_op_b32all_iequal3, src0, src1, NULL, NULL); 262} 263static inline nir_ssa_def * 264nir_b32all_iequal4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 265{ 266 return nir_build_alu(build, nir_op_b32all_iequal4, src0, src1, NULL, NULL); 267} 268static inline nir_ssa_def * 269nir_b32all_iequal5(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 270{ 271 return nir_build_alu(build, nir_op_b32all_iequal5, src0, src1, NULL, NULL); 272} 273static inline nir_ssa_def * 274nir_b32all_iequal8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 275{ 276 return nir_build_alu(build, nir_op_b32all_iequal8, src0, src1, NULL, NULL); 277} 278static inline nir_ssa_def * 279nir_b32any_fnequal16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 280{ 281 return nir_build_alu(build, nir_op_b32any_fnequal16, src0, src1, NULL, NULL); 282} 283static inline nir_ssa_def * 284nir_b32any_fnequal2(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 285{ 286 return nir_build_alu(build, nir_op_b32any_fnequal2, src0, src1, NULL, NULL); 287} 288static inline nir_ssa_def * 289nir_b32any_fnequal3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 290{ 291 return nir_build_alu(build, nir_op_b32any_fnequal3, src0, src1, NULL, NULL); 292} 293static inline nir_ssa_def * 294nir_b32any_fnequal4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 295{ 296 return nir_build_alu(build, nir_op_b32any_fnequal4, src0, src1, NULL, NULL); 297} 298static inline nir_ssa_def * 299nir_b32any_fnequal5(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 300{ 301 return nir_build_alu(build, nir_op_b32any_fnequal5, src0, src1, NULL, NULL); 302} 303static inline nir_ssa_def * 304nir_b32any_fnequal8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 305{ 306 return nir_build_alu(build, nir_op_b32any_fnequal8, src0, src1, NULL, NULL); 307} 308static inline nir_ssa_def * 309nir_b32any_inequal16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 310{ 311 return nir_build_alu(build, nir_op_b32any_inequal16, src0, src1, NULL, NULL); 312} 313static inline nir_ssa_def * 314nir_b32any_inequal2(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 315{ 316 return nir_build_alu(build, nir_op_b32any_inequal2, src0, src1, NULL, NULL); 317} 318static inline nir_ssa_def * 319nir_b32any_inequal3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 320{ 321 return nir_build_alu(build, nir_op_b32any_inequal3, src0, src1, NULL, NULL); 322} 323static inline nir_ssa_def * 324nir_b32any_inequal4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 325{ 326 return nir_build_alu(build, nir_op_b32any_inequal4, src0, src1, NULL, NULL); 327} 328static inline nir_ssa_def * 329nir_b32any_inequal5(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 330{ 331 return nir_build_alu(build, nir_op_b32any_inequal5, src0, src1, NULL, NULL); 332} 333static inline nir_ssa_def * 334nir_b32any_inequal8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 335{ 336 return nir_build_alu(build, nir_op_b32any_inequal8, src0, src1, NULL, NULL); 337} 338static inline nir_ssa_def * 339nir_b32csel(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2) 340{ 341 return nir_build_alu(build, nir_op_b32csel, src0, src1, src2, NULL); 342} 343static inline nir_ssa_def * 344nir_b8all_fequal16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 345{ 346 return nir_build_alu(build, nir_op_b8all_fequal16, src0, src1, NULL, NULL); 347} 348static inline nir_ssa_def * 349nir_b8all_fequal2(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 350{ 351 return nir_build_alu(build, nir_op_b8all_fequal2, src0, src1, NULL, NULL); 352} 353static inline nir_ssa_def * 354nir_b8all_fequal3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 355{ 356 return nir_build_alu(build, nir_op_b8all_fequal3, src0, src1, NULL, NULL); 357} 358static inline nir_ssa_def * 359nir_b8all_fequal4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 360{ 361 return nir_build_alu(build, nir_op_b8all_fequal4, src0, src1, NULL, NULL); 362} 363static inline nir_ssa_def * 364nir_b8all_fequal5(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 365{ 366 return nir_build_alu(build, nir_op_b8all_fequal5, src0, src1, NULL, NULL); 367} 368static inline nir_ssa_def * 369nir_b8all_fequal8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 370{ 371 return nir_build_alu(build, nir_op_b8all_fequal8, src0, src1, NULL, NULL); 372} 373static inline nir_ssa_def * 374nir_b8all_iequal16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 375{ 376 return nir_build_alu(build, nir_op_b8all_iequal16, src0, src1, NULL, NULL); 377} 378static inline nir_ssa_def * 379nir_b8all_iequal2(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 380{ 381 return nir_build_alu(build, nir_op_b8all_iequal2, src0, src1, NULL, NULL); 382} 383static inline nir_ssa_def * 384nir_b8all_iequal3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 385{ 386 return nir_build_alu(build, nir_op_b8all_iequal3, src0, src1, NULL, NULL); 387} 388static inline nir_ssa_def * 389nir_b8all_iequal4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 390{ 391 return nir_build_alu(build, nir_op_b8all_iequal4, src0, src1, NULL, NULL); 392} 393static inline nir_ssa_def * 394nir_b8all_iequal5(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 395{ 396 return nir_build_alu(build, nir_op_b8all_iequal5, src0, src1, NULL, NULL); 397} 398static inline nir_ssa_def * 399nir_b8all_iequal8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 400{ 401 return nir_build_alu(build, nir_op_b8all_iequal8, src0, src1, NULL, NULL); 402} 403static inline nir_ssa_def * 404nir_b8any_fnequal16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 405{ 406 return nir_build_alu(build, nir_op_b8any_fnequal16, src0, src1, NULL, NULL); 407} 408static inline nir_ssa_def * 409nir_b8any_fnequal2(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 410{ 411 return nir_build_alu(build, nir_op_b8any_fnequal2, src0, src1, NULL, NULL); 412} 413static inline nir_ssa_def * 414nir_b8any_fnequal3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 415{ 416 return nir_build_alu(build, nir_op_b8any_fnequal3, src0, src1, NULL, NULL); 417} 418static inline nir_ssa_def * 419nir_b8any_fnequal4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 420{ 421 return nir_build_alu(build, nir_op_b8any_fnequal4, src0, src1, NULL, NULL); 422} 423static inline nir_ssa_def * 424nir_b8any_fnequal5(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 425{ 426 return nir_build_alu(build, nir_op_b8any_fnequal5, src0, src1, NULL, NULL); 427} 428static inline nir_ssa_def * 429nir_b8any_fnequal8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 430{ 431 return nir_build_alu(build, nir_op_b8any_fnequal8, src0, src1, NULL, NULL); 432} 433static inline nir_ssa_def * 434nir_b8any_inequal16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 435{ 436 return nir_build_alu(build, nir_op_b8any_inequal16, src0, src1, NULL, NULL); 437} 438static inline nir_ssa_def * 439nir_b8any_inequal2(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 440{ 441 return nir_build_alu(build, nir_op_b8any_inequal2, src0, src1, NULL, NULL); 442} 443static inline nir_ssa_def * 444nir_b8any_inequal3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 445{ 446 return nir_build_alu(build, nir_op_b8any_inequal3, src0, src1, NULL, NULL); 447} 448static inline nir_ssa_def * 449nir_b8any_inequal4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 450{ 451 return nir_build_alu(build, nir_op_b8any_inequal4, src0, src1, NULL, NULL); 452} 453static inline nir_ssa_def * 454nir_b8any_inequal5(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 455{ 456 return nir_build_alu(build, nir_op_b8any_inequal5, src0, src1, NULL, NULL); 457} 458static inline nir_ssa_def * 459nir_b8any_inequal8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 460{ 461 return nir_build_alu(build, nir_op_b8any_inequal8, src0, src1, NULL, NULL); 462} 463static inline nir_ssa_def * 464nir_b8csel(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2) 465{ 466 return nir_build_alu(build, nir_op_b8csel, src0, src1, src2, NULL); 467} 468static inline nir_ssa_def * 469nir_ball_fequal16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 470{ 471 return nir_build_alu(build, nir_op_ball_fequal16, src0, src1, NULL, NULL); 472} 473static inline nir_ssa_def * 474nir_ball_fequal2(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 475{ 476 return nir_build_alu(build, nir_op_ball_fequal2, src0, src1, NULL, NULL); 477} 478static inline nir_ssa_def * 479nir_ball_fequal3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 480{ 481 return nir_build_alu(build, nir_op_ball_fequal3, src0, src1, NULL, NULL); 482} 483static inline nir_ssa_def * 484nir_ball_fequal4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 485{ 486 return nir_build_alu(build, nir_op_ball_fequal4, src0, src1, NULL, NULL); 487} 488static inline nir_ssa_def * 489nir_ball_fequal5(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 490{ 491 return nir_build_alu(build, nir_op_ball_fequal5, src0, src1, NULL, NULL); 492} 493static inline nir_ssa_def * 494nir_ball_fequal8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 495{ 496 return nir_build_alu(build, nir_op_ball_fequal8, src0, src1, NULL, NULL); 497} 498static inline nir_ssa_def * 499nir_ball_iequal16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 500{ 501 return nir_build_alu(build, nir_op_ball_iequal16, src0, src1, NULL, NULL); 502} 503static inline nir_ssa_def * 504nir_ball_iequal2(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 505{ 506 return nir_build_alu(build, nir_op_ball_iequal2, src0, src1, NULL, NULL); 507} 508static inline nir_ssa_def * 509nir_ball_iequal3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 510{ 511 return nir_build_alu(build, nir_op_ball_iequal3, src0, src1, NULL, NULL); 512} 513static inline nir_ssa_def * 514nir_ball_iequal4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 515{ 516 return nir_build_alu(build, nir_op_ball_iequal4, src0, src1, NULL, NULL); 517} 518static inline nir_ssa_def * 519nir_ball_iequal5(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 520{ 521 return nir_build_alu(build, nir_op_ball_iequal5, src0, src1, NULL, NULL); 522} 523static inline nir_ssa_def * 524nir_ball_iequal8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 525{ 526 return nir_build_alu(build, nir_op_ball_iequal8, src0, src1, NULL, NULL); 527} 528static inline nir_ssa_def * 529nir_bany_fnequal16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 530{ 531 return nir_build_alu(build, nir_op_bany_fnequal16, src0, src1, NULL, NULL); 532} 533static inline nir_ssa_def * 534nir_bany_fnequal2(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 535{ 536 return nir_build_alu(build, nir_op_bany_fnequal2, src0, src1, NULL, NULL); 537} 538static inline nir_ssa_def * 539nir_bany_fnequal3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 540{ 541 return nir_build_alu(build, nir_op_bany_fnequal3, src0, src1, NULL, NULL); 542} 543static inline nir_ssa_def * 544nir_bany_fnequal4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 545{ 546 return nir_build_alu(build, nir_op_bany_fnequal4, src0, src1, NULL, NULL); 547} 548static inline nir_ssa_def * 549nir_bany_fnequal5(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 550{ 551 return nir_build_alu(build, nir_op_bany_fnequal5, src0, src1, NULL, NULL); 552} 553static inline nir_ssa_def * 554nir_bany_fnequal8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 555{ 556 return nir_build_alu(build, nir_op_bany_fnequal8, src0, src1, NULL, NULL); 557} 558static inline nir_ssa_def * 559nir_bany_inequal16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 560{ 561 return nir_build_alu(build, nir_op_bany_inequal16, src0, src1, NULL, NULL); 562} 563static inline nir_ssa_def * 564nir_bany_inequal2(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 565{ 566 return nir_build_alu(build, nir_op_bany_inequal2, src0, src1, NULL, NULL); 567} 568static inline nir_ssa_def * 569nir_bany_inequal3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 570{ 571 return nir_build_alu(build, nir_op_bany_inequal3, src0, src1, NULL, NULL); 572} 573static inline nir_ssa_def * 574nir_bany_inequal4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 575{ 576 return nir_build_alu(build, nir_op_bany_inequal4, src0, src1, NULL, NULL); 577} 578static inline nir_ssa_def * 579nir_bany_inequal5(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 580{ 581 return nir_build_alu(build, nir_op_bany_inequal5, src0, src1, NULL, NULL); 582} 583static inline nir_ssa_def * 584nir_bany_inequal8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 585{ 586 return nir_build_alu(build, nir_op_bany_inequal8, src0, src1, NULL, NULL); 587} 588static inline nir_ssa_def * 589nir_bcsel(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2) 590{ 591 return nir_build_alu(build, nir_op_bcsel, src0, src1, src2, NULL); 592} 593static inline nir_ssa_def * 594nir_bfi(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2) 595{ 596 return nir_build_alu(build, nir_op_bfi, src0, src1, src2, NULL); 597} 598static inline nir_ssa_def * 599nir_bfm(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 600{ 601 return nir_build_alu(build, nir_op_bfm, src0, src1, NULL, NULL); 602} 603static inline nir_ssa_def * 604nir_bit_count(nir_builder *build, nir_ssa_def *src0) 605{ 606 return nir_build_alu(build, nir_op_bit_count, src0, NULL, NULL, NULL); 607} 608static inline nir_ssa_def * 609nir_bitfield_insert(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3) 610{ 611 return nir_build_alu(build, nir_op_bitfield_insert, src0, src1, src2, src3); 612} 613static inline nir_ssa_def * 614nir_bitfield_reverse(nir_builder *build, nir_ssa_def *src0) 615{ 616 return nir_build_alu(build, nir_op_bitfield_reverse, src0, NULL, NULL, NULL); 617} 618static inline nir_ssa_def * 619nir_bitfield_select(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2) 620{ 621 return nir_build_alu(build, nir_op_bitfield_select, src0, src1, src2, NULL); 622} 623static inline nir_ssa_def * 624nir_cube_face_coord_amd(nir_builder *build, nir_ssa_def *src0) 625{ 626 return nir_build_alu(build, nir_op_cube_face_coord_amd, src0, NULL, NULL, NULL); 627} 628static inline nir_ssa_def * 629nir_cube_face_index_amd(nir_builder *build, nir_ssa_def *src0) 630{ 631 return nir_build_alu(build, nir_op_cube_face_index_amd, src0, NULL, NULL, NULL); 632} 633static inline nir_ssa_def * 634nir_cube_r600(nir_builder *build, nir_ssa_def *src0) 635{ 636 return nir_build_alu(build, nir_op_cube_r600, src0, NULL, NULL, NULL); 637} 638static inline nir_ssa_def * 639nir_extract_i16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 640{ 641 return nir_build_alu(build, nir_op_extract_i16, src0, src1, NULL, NULL); 642} 643static inline nir_ssa_def * 644nir_extract_i8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 645{ 646 return nir_build_alu(build, nir_op_extract_i8, src0, src1, NULL, NULL); 647} 648static inline nir_ssa_def * 649nir_extract_u16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 650{ 651 return nir_build_alu(build, nir_op_extract_u16, src0, src1, NULL, NULL); 652} 653static inline nir_ssa_def * 654nir_extract_u8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 655{ 656 return nir_build_alu(build, nir_op_extract_u8, src0, src1, NULL, NULL); 657} 658static inline nir_ssa_def * 659nir_f2b1(nir_builder *build, nir_ssa_def *src0) 660{ 661 return nir_build_alu(build, nir_op_f2b1, src0, NULL, NULL, NULL); 662} 663static inline nir_ssa_def * 664nir_f2b16(nir_builder *build, nir_ssa_def *src0) 665{ 666 return nir_build_alu(build, nir_op_f2b16, src0, NULL, NULL, NULL); 667} 668static inline nir_ssa_def * 669nir_f2b32(nir_builder *build, nir_ssa_def *src0) 670{ 671 return nir_build_alu(build, nir_op_f2b32, src0, NULL, NULL, NULL); 672} 673static inline nir_ssa_def * 674nir_f2b8(nir_builder *build, nir_ssa_def *src0) 675{ 676 return nir_build_alu(build, nir_op_f2b8, src0, NULL, NULL, NULL); 677} 678static inline nir_ssa_def * 679nir_f2f16(nir_builder *build, nir_ssa_def *src0) 680{ 681 return nir_build_alu(build, nir_op_f2f16, src0, NULL, NULL, NULL); 682} 683static inline nir_ssa_def * 684nir_f2f16_rtne(nir_builder *build, nir_ssa_def *src0) 685{ 686 return nir_build_alu(build, nir_op_f2f16_rtne, src0, NULL, NULL, NULL); 687} 688static inline nir_ssa_def * 689nir_f2f16_rtz(nir_builder *build, nir_ssa_def *src0) 690{ 691 return nir_build_alu(build, nir_op_f2f16_rtz, src0, NULL, NULL, NULL); 692} 693static inline nir_ssa_def * 694nir_f2f32(nir_builder *build, nir_ssa_def *src0) 695{ 696 return nir_build_alu(build, nir_op_f2f32, src0, NULL, NULL, NULL); 697} 698static inline nir_ssa_def * 699nir_f2f64(nir_builder *build, nir_ssa_def *src0) 700{ 701 return nir_build_alu(build, nir_op_f2f64, src0, NULL, NULL, NULL); 702} 703static inline nir_ssa_def * 704nir_f2fmp(nir_builder *build, nir_ssa_def *src0) 705{ 706 return nir_build_alu(build, nir_op_f2fmp, src0, NULL, NULL, NULL); 707} 708static inline nir_ssa_def * 709nir_f2i1(nir_builder *build, nir_ssa_def *src0) 710{ 711 return nir_build_alu(build, nir_op_f2i1, src0, NULL, NULL, NULL); 712} 713static inline nir_ssa_def * 714nir_f2i16(nir_builder *build, nir_ssa_def *src0) 715{ 716 return nir_build_alu(build, nir_op_f2i16, src0, NULL, NULL, NULL); 717} 718static inline nir_ssa_def * 719nir_f2i32(nir_builder *build, nir_ssa_def *src0) 720{ 721 return nir_build_alu(build, nir_op_f2i32, src0, NULL, NULL, NULL); 722} 723static inline nir_ssa_def * 724nir_f2i64(nir_builder *build, nir_ssa_def *src0) 725{ 726 return nir_build_alu(build, nir_op_f2i64, src0, NULL, NULL, NULL); 727} 728static inline nir_ssa_def * 729nir_f2i8(nir_builder *build, nir_ssa_def *src0) 730{ 731 return nir_build_alu(build, nir_op_f2i8, src0, NULL, NULL, NULL); 732} 733static inline nir_ssa_def * 734nir_f2imp(nir_builder *build, nir_ssa_def *src0) 735{ 736 return nir_build_alu(build, nir_op_f2imp, src0, NULL, NULL, NULL); 737} 738static inline nir_ssa_def * 739nir_f2u1(nir_builder *build, nir_ssa_def *src0) 740{ 741 return nir_build_alu(build, nir_op_f2u1, src0, NULL, NULL, NULL); 742} 743static inline nir_ssa_def * 744nir_f2u16(nir_builder *build, nir_ssa_def *src0) 745{ 746 return nir_build_alu(build, nir_op_f2u16, src0, NULL, NULL, NULL); 747} 748static inline nir_ssa_def * 749nir_f2u32(nir_builder *build, nir_ssa_def *src0) 750{ 751 return nir_build_alu(build, nir_op_f2u32, src0, NULL, NULL, NULL); 752} 753static inline nir_ssa_def * 754nir_f2u64(nir_builder *build, nir_ssa_def *src0) 755{ 756 return nir_build_alu(build, nir_op_f2u64, src0, NULL, NULL, NULL); 757} 758static inline nir_ssa_def * 759nir_f2u8(nir_builder *build, nir_ssa_def *src0) 760{ 761 return nir_build_alu(build, nir_op_f2u8, src0, NULL, NULL, NULL); 762} 763static inline nir_ssa_def * 764nir_f2ump(nir_builder *build, nir_ssa_def *src0) 765{ 766 return nir_build_alu(build, nir_op_f2ump, src0, NULL, NULL, NULL); 767} 768static inline nir_ssa_def * 769nir_fabs(nir_builder *build, nir_ssa_def *src0) 770{ 771 return nir_build_alu(build, nir_op_fabs, src0, NULL, NULL, NULL); 772} 773static inline nir_ssa_def * 774nir_fadd(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 775{ 776 return nir_build_alu(build, nir_op_fadd, src0, src1, NULL, NULL); 777} 778static inline nir_ssa_def * 779nir_fall_equal16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 780{ 781 return nir_build_alu(build, nir_op_fall_equal16, src0, src1, NULL, NULL); 782} 783static inline nir_ssa_def * 784nir_fall_equal2(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 785{ 786 return nir_build_alu(build, nir_op_fall_equal2, src0, src1, NULL, NULL); 787} 788static inline nir_ssa_def * 789nir_fall_equal3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 790{ 791 return nir_build_alu(build, nir_op_fall_equal3, src0, src1, NULL, NULL); 792} 793static inline nir_ssa_def * 794nir_fall_equal4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 795{ 796 return nir_build_alu(build, nir_op_fall_equal4, src0, src1, NULL, NULL); 797} 798static inline nir_ssa_def * 799nir_fall_equal5(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 800{ 801 return nir_build_alu(build, nir_op_fall_equal5, src0, src1, NULL, NULL); 802} 803static inline nir_ssa_def * 804nir_fall_equal8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 805{ 806 return nir_build_alu(build, nir_op_fall_equal8, src0, src1, NULL, NULL); 807} 808static inline nir_ssa_def * 809nir_fany_nequal16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 810{ 811 return nir_build_alu(build, nir_op_fany_nequal16, src0, src1, NULL, NULL); 812} 813static inline nir_ssa_def * 814nir_fany_nequal2(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 815{ 816 return nir_build_alu(build, nir_op_fany_nequal2, src0, src1, NULL, NULL); 817} 818static inline nir_ssa_def * 819nir_fany_nequal3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 820{ 821 return nir_build_alu(build, nir_op_fany_nequal3, src0, src1, NULL, NULL); 822} 823static inline nir_ssa_def * 824nir_fany_nequal4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 825{ 826 return nir_build_alu(build, nir_op_fany_nequal4, src0, src1, NULL, NULL); 827} 828static inline nir_ssa_def * 829nir_fany_nequal5(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 830{ 831 return nir_build_alu(build, nir_op_fany_nequal5, src0, src1, NULL, NULL); 832} 833static inline nir_ssa_def * 834nir_fany_nequal8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 835{ 836 return nir_build_alu(build, nir_op_fany_nequal8, src0, src1, NULL, NULL); 837} 838static inline nir_ssa_def * 839nir_fceil(nir_builder *build, nir_ssa_def *src0) 840{ 841 return nir_build_alu(build, nir_op_fceil, src0, NULL, NULL, NULL); 842} 843static inline nir_ssa_def * 844nir_fclamp_pos_mali(nir_builder *build, nir_ssa_def *src0) 845{ 846 return nir_build_alu(build, nir_op_fclamp_pos_mali, src0, NULL, NULL, NULL); 847} 848static inline nir_ssa_def * 849nir_fcos(nir_builder *build, nir_ssa_def *src0) 850{ 851 return nir_build_alu(build, nir_op_fcos, src0, NULL, NULL, NULL); 852} 853static inline nir_ssa_def * 854nir_fcos_r600(nir_builder *build, nir_ssa_def *src0) 855{ 856 return nir_build_alu(build, nir_op_fcos_r600, src0, NULL, NULL, NULL); 857} 858static inline nir_ssa_def * 859nir_fcsel(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2) 860{ 861 return nir_build_alu(build, nir_op_fcsel, src0, src1, src2, NULL); 862} 863static inline nir_ssa_def * 864nir_fcsel_ge(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2) 865{ 866 return nir_build_alu(build, nir_op_fcsel_ge, src0, src1, src2, NULL); 867} 868static inline nir_ssa_def * 869nir_fcsel_gt(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2) 870{ 871 return nir_build_alu(build, nir_op_fcsel_gt, src0, src1, src2, NULL); 872} 873static inline nir_ssa_def * 874nir_fddx(nir_builder *build, nir_ssa_def *src0) 875{ 876 return nir_build_alu(build, nir_op_fddx, src0, NULL, NULL, NULL); 877} 878static inline nir_ssa_def * 879nir_fddx_coarse(nir_builder *build, nir_ssa_def *src0) 880{ 881 return nir_build_alu(build, nir_op_fddx_coarse, src0, NULL, NULL, NULL); 882} 883static inline nir_ssa_def * 884nir_fddx_fine(nir_builder *build, nir_ssa_def *src0) 885{ 886 return nir_build_alu(build, nir_op_fddx_fine, src0, NULL, NULL, NULL); 887} 888static inline nir_ssa_def * 889nir_fddx_must_abs_mali(nir_builder *build, nir_ssa_def *src0) 890{ 891 return nir_build_alu(build, nir_op_fddx_must_abs_mali, src0, NULL, NULL, NULL); 892} 893static inline nir_ssa_def * 894nir_fddy(nir_builder *build, nir_ssa_def *src0) 895{ 896 return nir_build_alu(build, nir_op_fddy, src0, NULL, NULL, NULL); 897} 898static inline nir_ssa_def * 899nir_fddy_coarse(nir_builder *build, nir_ssa_def *src0) 900{ 901 return nir_build_alu(build, nir_op_fddy_coarse, src0, NULL, NULL, NULL); 902} 903static inline nir_ssa_def * 904nir_fddy_fine(nir_builder *build, nir_ssa_def *src0) 905{ 906 return nir_build_alu(build, nir_op_fddy_fine, src0, NULL, NULL, NULL); 907} 908static inline nir_ssa_def * 909nir_fddy_must_abs_mali(nir_builder *build, nir_ssa_def *src0) 910{ 911 return nir_build_alu(build, nir_op_fddy_must_abs_mali, src0, NULL, NULL, NULL); 912} 913static inline nir_ssa_def * 914nir_fdiv(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 915{ 916 return nir_build_alu(build, nir_op_fdiv, src0, src1, NULL, NULL); 917} 918static inline nir_ssa_def * 919nir_fdot16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 920{ 921 return nir_build_alu(build, nir_op_fdot16, src0, src1, NULL, NULL); 922} 923static inline nir_ssa_def * 924nir_fdot16_replicated(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 925{ 926 return nir_build_alu(build, nir_op_fdot16_replicated, src0, src1, NULL, NULL); 927} 928static inline nir_ssa_def * 929nir_fdot2(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 930{ 931 return nir_build_alu(build, nir_op_fdot2, src0, src1, NULL, NULL); 932} 933static inline nir_ssa_def * 934nir_fdot2_replicated(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 935{ 936 return nir_build_alu(build, nir_op_fdot2_replicated, src0, src1, NULL, NULL); 937} 938static inline nir_ssa_def * 939nir_fdot3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 940{ 941 return nir_build_alu(build, nir_op_fdot3, src0, src1, NULL, NULL); 942} 943static inline nir_ssa_def * 944nir_fdot3_replicated(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 945{ 946 return nir_build_alu(build, nir_op_fdot3_replicated, src0, src1, NULL, NULL); 947} 948static inline nir_ssa_def * 949nir_fdot4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 950{ 951 return nir_build_alu(build, nir_op_fdot4, src0, src1, NULL, NULL); 952} 953static inline nir_ssa_def * 954nir_fdot4_replicated(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 955{ 956 return nir_build_alu(build, nir_op_fdot4_replicated, src0, src1, NULL, NULL); 957} 958static inline nir_ssa_def * 959nir_fdot5(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 960{ 961 return nir_build_alu(build, nir_op_fdot5, src0, src1, NULL, NULL); 962} 963static inline nir_ssa_def * 964nir_fdot5_replicated(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 965{ 966 return nir_build_alu(build, nir_op_fdot5_replicated, src0, src1, NULL, NULL); 967} 968static inline nir_ssa_def * 969nir_fdot8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 970{ 971 return nir_build_alu(build, nir_op_fdot8, src0, src1, NULL, NULL); 972} 973static inline nir_ssa_def * 974nir_fdot8_replicated(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 975{ 976 return nir_build_alu(build, nir_op_fdot8_replicated, src0, src1, NULL, NULL); 977} 978static inline nir_ssa_def * 979nir_fdph(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 980{ 981 return nir_build_alu(build, nir_op_fdph, src0, src1, NULL, NULL); 982} 983static inline nir_ssa_def * 984nir_fdph_replicated(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 985{ 986 return nir_build_alu(build, nir_op_fdph_replicated, src0, src1, NULL, NULL); 987} 988static inline nir_ssa_def * 989nir_feq(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 990{ 991 return nir_build_alu(build, nir_op_feq, src0, src1, NULL, NULL); 992} 993static inline nir_ssa_def * 994nir_feq16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 995{ 996 return nir_build_alu(build, nir_op_feq16, src0, src1, NULL, NULL); 997} 998static inline nir_ssa_def * 999nir_feq32(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1000{ 1001 return nir_build_alu(build, nir_op_feq32, src0, src1, NULL, NULL); 1002} 1003static inline nir_ssa_def * 1004nir_feq8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1005{ 1006 return nir_build_alu(build, nir_op_feq8, src0, src1, NULL, NULL); 1007} 1008static inline nir_ssa_def * 1009nir_fexp2(nir_builder *build, nir_ssa_def *src0) 1010{ 1011 return nir_build_alu(build, nir_op_fexp2, src0, NULL, NULL, NULL); 1012} 1013static inline nir_ssa_def * 1014nir_ffloor(nir_builder *build, nir_ssa_def *src0) 1015{ 1016 return nir_build_alu(build, nir_op_ffloor, src0, NULL, NULL, NULL); 1017} 1018static inline nir_ssa_def * 1019nir_ffma(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2) 1020{ 1021 return nir_build_alu(build, nir_op_ffma, src0, src1, src2, NULL); 1022} 1023static inline nir_ssa_def * 1024nir_ffract(nir_builder *build, nir_ssa_def *src0) 1025{ 1026 return nir_build_alu(build, nir_op_ffract, src0, NULL, NULL, NULL); 1027} 1028static inline nir_ssa_def * 1029nir_fge(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1030{ 1031 return nir_build_alu(build, nir_op_fge, src0, src1, NULL, NULL); 1032} 1033static inline nir_ssa_def * 1034nir_fge16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1035{ 1036 return nir_build_alu(build, nir_op_fge16, src0, src1, NULL, NULL); 1037} 1038static inline nir_ssa_def * 1039nir_fge32(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1040{ 1041 return nir_build_alu(build, nir_op_fge32, src0, src1, NULL, NULL); 1042} 1043static inline nir_ssa_def * 1044nir_fge8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1045{ 1046 return nir_build_alu(build, nir_op_fge8, src0, src1, NULL, NULL); 1047} 1048static inline nir_ssa_def * 1049nir_find_lsb(nir_builder *build, nir_ssa_def *src0) 1050{ 1051 return nir_build_alu(build, nir_op_find_lsb, src0, NULL, NULL, NULL); 1052} 1053static inline nir_ssa_def * 1054nir_fisfinite(nir_builder *build, nir_ssa_def *src0) 1055{ 1056 return nir_build_alu(build, nir_op_fisfinite, src0, NULL, NULL, NULL); 1057} 1058static inline nir_ssa_def * 1059nir_fisfinite32(nir_builder *build, nir_ssa_def *src0) 1060{ 1061 return nir_build_alu(build, nir_op_fisfinite32, src0, NULL, NULL, NULL); 1062} 1063static inline nir_ssa_def * 1064nir_fisnormal(nir_builder *build, nir_ssa_def *src0) 1065{ 1066 return nir_build_alu(build, nir_op_fisnormal, src0, NULL, NULL, NULL); 1067} 1068static inline nir_ssa_def * 1069nir_flog2(nir_builder *build, nir_ssa_def *src0) 1070{ 1071 return nir_build_alu(build, nir_op_flog2, src0, NULL, NULL, NULL); 1072} 1073static inline nir_ssa_def * 1074nir_flrp(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2) 1075{ 1076 return nir_build_alu(build, nir_op_flrp, src0, src1, src2, NULL); 1077} 1078static inline nir_ssa_def * 1079nir_flt(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1080{ 1081 return nir_build_alu(build, nir_op_flt, src0, src1, NULL, NULL); 1082} 1083static inline nir_ssa_def * 1084nir_flt16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1085{ 1086 return nir_build_alu(build, nir_op_flt16, src0, src1, NULL, NULL); 1087} 1088static inline nir_ssa_def * 1089nir_flt32(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1090{ 1091 return nir_build_alu(build, nir_op_flt32, src0, src1, NULL, NULL); 1092} 1093static inline nir_ssa_def * 1094nir_flt8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1095{ 1096 return nir_build_alu(build, nir_op_flt8, src0, src1, NULL, NULL); 1097} 1098static inline nir_ssa_def * 1099nir_fmax(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1100{ 1101 return nir_build_alu(build, nir_op_fmax, src0, src1, NULL, NULL); 1102} 1103static inline nir_ssa_def * 1104nir_fmin(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1105{ 1106 return nir_build_alu(build, nir_op_fmin, src0, src1, NULL, NULL); 1107} 1108static inline nir_ssa_def * 1109nir_fmod(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1110{ 1111 return nir_build_alu(build, nir_op_fmod, src0, src1, NULL, NULL); 1112} 1113static inline nir_ssa_def * 1114nir_fmul(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1115{ 1116 return nir_build_alu(build, nir_op_fmul, src0, src1, NULL, NULL); 1117} 1118static inline nir_ssa_def * 1119nir_fneg(nir_builder *build, nir_ssa_def *src0) 1120{ 1121 return nir_build_alu(build, nir_op_fneg, src0, NULL, NULL, NULL); 1122} 1123static inline nir_ssa_def * 1124nir_fneu(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1125{ 1126 return nir_build_alu(build, nir_op_fneu, src0, src1, NULL, NULL); 1127} 1128static inline nir_ssa_def * 1129nir_fneu16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1130{ 1131 return nir_build_alu(build, nir_op_fneu16, src0, src1, NULL, NULL); 1132} 1133static inline nir_ssa_def * 1134nir_fneu32(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1135{ 1136 return nir_build_alu(build, nir_op_fneu32, src0, src1, NULL, NULL); 1137} 1138static inline nir_ssa_def * 1139nir_fneu8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1140{ 1141 return nir_build_alu(build, nir_op_fneu8, src0, src1, NULL, NULL); 1142} 1143static inline nir_ssa_def * 1144nir_fpow(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1145{ 1146 return nir_build_alu(build, nir_op_fpow, src0, src1, NULL, NULL); 1147} 1148static inline nir_ssa_def * 1149nir_fquantize2f16(nir_builder *build, nir_ssa_def *src0) 1150{ 1151 return nir_build_alu(build, nir_op_fquantize2f16, src0, NULL, NULL, NULL); 1152} 1153static inline nir_ssa_def * 1154nir_frcp(nir_builder *build, nir_ssa_def *src0) 1155{ 1156 return nir_build_alu(build, nir_op_frcp, src0, NULL, NULL, NULL); 1157} 1158static inline nir_ssa_def * 1159nir_frem(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1160{ 1161 return nir_build_alu(build, nir_op_frem, src0, src1, NULL, NULL); 1162} 1163static inline nir_ssa_def * 1164nir_frexp_exp(nir_builder *build, nir_ssa_def *src0) 1165{ 1166 return nir_build_alu(build, nir_op_frexp_exp, src0, NULL, NULL, NULL); 1167} 1168static inline nir_ssa_def * 1169nir_frexp_sig(nir_builder *build, nir_ssa_def *src0) 1170{ 1171 return nir_build_alu(build, nir_op_frexp_sig, src0, NULL, NULL, NULL); 1172} 1173static inline nir_ssa_def * 1174nir_fround_even(nir_builder *build, nir_ssa_def *src0) 1175{ 1176 return nir_build_alu(build, nir_op_fround_even, src0, NULL, NULL, NULL); 1177} 1178static inline nir_ssa_def * 1179nir_frsq(nir_builder *build, nir_ssa_def *src0) 1180{ 1181 return nir_build_alu(build, nir_op_frsq, src0, NULL, NULL, NULL); 1182} 1183static inline nir_ssa_def * 1184nir_fsat(nir_builder *build, nir_ssa_def *src0) 1185{ 1186 return nir_build_alu(build, nir_op_fsat, src0, NULL, NULL, NULL); 1187} 1188static inline nir_ssa_def * 1189nir_fsat_signed_mali(nir_builder *build, nir_ssa_def *src0) 1190{ 1191 return nir_build_alu(build, nir_op_fsat_signed_mali, src0, NULL, NULL, NULL); 1192} 1193static inline nir_ssa_def * 1194nir_fsign(nir_builder *build, nir_ssa_def *src0) 1195{ 1196 return nir_build_alu(build, nir_op_fsign, src0, NULL, NULL, NULL); 1197} 1198static inline nir_ssa_def * 1199nir_fsin(nir_builder *build, nir_ssa_def *src0) 1200{ 1201 return nir_build_alu(build, nir_op_fsin, src0, NULL, NULL, NULL); 1202} 1203static inline nir_ssa_def * 1204nir_fsin_agx(nir_builder *build, nir_ssa_def *src0) 1205{ 1206 return nir_build_alu(build, nir_op_fsin_agx, src0, NULL, NULL, NULL); 1207} 1208static inline nir_ssa_def * 1209nir_fsin_r600(nir_builder *build, nir_ssa_def *src0) 1210{ 1211 return nir_build_alu(build, nir_op_fsin_r600, src0, NULL, NULL, NULL); 1212} 1213static inline nir_ssa_def * 1214nir_fsqrt(nir_builder *build, nir_ssa_def *src0) 1215{ 1216 return nir_build_alu(build, nir_op_fsqrt, src0, NULL, NULL, NULL); 1217} 1218static inline nir_ssa_def * 1219nir_fsub(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1220{ 1221 return nir_build_alu(build, nir_op_fsub, src0, src1, NULL, NULL); 1222} 1223static inline nir_ssa_def * 1224nir_fsum2(nir_builder *build, nir_ssa_def *src0) 1225{ 1226 return nir_build_alu(build, nir_op_fsum2, src0, NULL, NULL, NULL); 1227} 1228static inline nir_ssa_def * 1229nir_fsum3(nir_builder *build, nir_ssa_def *src0) 1230{ 1231 return nir_build_alu(build, nir_op_fsum3, src0, NULL, NULL, NULL); 1232} 1233static inline nir_ssa_def * 1234nir_fsum4(nir_builder *build, nir_ssa_def *src0) 1235{ 1236 return nir_build_alu(build, nir_op_fsum4, src0, NULL, NULL, NULL); 1237} 1238static inline nir_ssa_def * 1239nir_ftrunc(nir_builder *build, nir_ssa_def *src0) 1240{ 1241 return nir_build_alu(build, nir_op_ftrunc, src0, NULL, NULL, NULL); 1242} 1243static inline nir_ssa_def * 1244nir_i2b1(nir_builder *build, nir_ssa_def *src0) 1245{ 1246 return nir_build_alu(build, nir_op_i2b1, src0, NULL, NULL, NULL); 1247} 1248static inline nir_ssa_def * 1249nir_i2b16(nir_builder *build, nir_ssa_def *src0) 1250{ 1251 return nir_build_alu(build, nir_op_i2b16, src0, NULL, NULL, NULL); 1252} 1253static inline nir_ssa_def * 1254nir_i2b32(nir_builder *build, nir_ssa_def *src0) 1255{ 1256 return nir_build_alu(build, nir_op_i2b32, src0, NULL, NULL, NULL); 1257} 1258static inline nir_ssa_def * 1259nir_i2b8(nir_builder *build, nir_ssa_def *src0) 1260{ 1261 return nir_build_alu(build, nir_op_i2b8, src0, NULL, NULL, NULL); 1262} 1263static inline nir_ssa_def * 1264nir_i2f16(nir_builder *build, nir_ssa_def *src0) 1265{ 1266 return nir_build_alu(build, nir_op_i2f16, src0, NULL, NULL, NULL); 1267} 1268static inline nir_ssa_def * 1269nir_i2f32(nir_builder *build, nir_ssa_def *src0) 1270{ 1271 return nir_build_alu(build, nir_op_i2f32, src0, NULL, NULL, NULL); 1272} 1273static inline nir_ssa_def * 1274nir_i2f64(nir_builder *build, nir_ssa_def *src0) 1275{ 1276 return nir_build_alu(build, nir_op_i2f64, src0, NULL, NULL, NULL); 1277} 1278static inline nir_ssa_def * 1279nir_i2fmp(nir_builder *build, nir_ssa_def *src0) 1280{ 1281 return nir_build_alu(build, nir_op_i2fmp, src0, NULL, NULL, NULL); 1282} 1283static inline nir_ssa_def * 1284nir_i2i1(nir_builder *build, nir_ssa_def *src0) 1285{ 1286 return nir_build_alu(build, nir_op_i2i1, src0, NULL, NULL, NULL); 1287} 1288static inline nir_ssa_def * 1289nir_i2i16(nir_builder *build, nir_ssa_def *src0) 1290{ 1291 return nir_build_alu(build, nir_op_i2i16, src0, NULL, NULL, NULL); 1292} 1293static inline nir_ssa_def * 1294nir_i2i32(nir_builder *build, nir_ssa_def *src0) 1295{ 1296 return nir_build_alu(build, nir_op_i2i32, src0, NULL, NULL, NULL); 1297} 1298static inline nir_ssa_def * 1299nir_i2i64(nir_builder *build, nir_ssa_def *src0) 1300{ 1301 return nir_build_alu(build, nir_op_i2i64, src0, NULL, NULL, NULL); 1302} 1303static inline nir_ssa_def * 1304nir_i2i8(nir_builder *build, nir_ssa_def *src0) 1305{ 1306 return nir_build_alu(build, nir_op_i2i8, src0, NULL, NULL, NULL); 1307} 1308static inline nir_ssa_def * 1309nir_i2imp(nir_builder *build, nir_ssa_def *src0) 1310{ 1311 return nir_build_alu(build, nir_op_i2imp, src0, NULL, NULL, NULL); 1312} 1313static inline nir_ssa_def * 1314nir_i32csel_ge(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2) 1315{ 1316 return nir_build_alu(build, nir_op_i32csel_ge, src0, src1, src2, NULL); 1317} 1318static inline nir_ssa_def * 1319nir_i32csel_gt(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2) 1320{ 1321 return nir_build_alu(build, nir_op_i32csel_gt, src0, src1, src2, NULL); 1322} 1323static inline nir_ssa_def * 1324nir_iabs(nir_builder *build, nir_ssa_def *src0) 1325{ 1326 return nir_build_alu(build, nir_op_iabs, src0, NULL, NULL, NULL); 1327} 1328static inline nir_ssa_def * 1329nir_iadd(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1330{ 1331 return nir_build_alu(build, nir_op_iadd, src0, src1, NULL, NULL); 1332} 1333static inline nir_ssa_def * 1334nir_iadd3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2) 1335{ 1336 return nir_build_alu(build, nir_op_iadd3, src0, src1, src2, NULL); 1337} 1338static inline nir_ssa_def * 1339nir_iadd_sat(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1340{ 1341 return nir_build_alu(build, nir_op_iadd_sat, src0, src1, NULL, NULL); 1342} 1343static inline nir_ssa_def * 1344nir_iand(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1345{ 1346 return nir_build_alu(build, nir_op_iand, src0, src1, NULL, NULL); 1347} 1348static inline nir_ssa_def * 1349nir_ibfe(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2) 1350{ 1351 return nir_build_alu(build, nir_op_ibfe, src0, src1, src2, NULL); 1352} 1353static inline nir_ssa_def * 1354nir_ibitfield_extract(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2) 1355{ 1356 return nir_build_alu(build, nir_op_ibitfield_extract, src0, src1, src2, NULL); 1357} 1358static inline nir_ssa_def * 1359nir_idiv(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1360{ 1361 return nir_build_alu(build, nir_op_idiv, src0, src1, NULL, NULL); 1362} 1363static inline nir_ssa_def * 1364nir_ieq(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1365{ 1366 return nir_build_alu(build, nir_op_ieq, src0, src1, NULL, NULL); 1367} 1368static inline nir_ssa_def * 1369nir_ieq16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1370{ 1371 return nir_build_alu(build, nir_op_ieq16, src0, src1, NULL, NULL); 1372} 1373static inline nir_ssa_def * 1374nir_ieq32(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1375{ 1376 return nir_build_alu(build, nir_op_ieq32, src0, src1, NULL, NULL); 1377} 1378static inline nir_ssa_def * 1379nir_ieq8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1380{ 1381 return nir_build_alu(build, nir_op_ieq8, src0, src1, NULL, NULL); 1382} 1383static inline nir_ssa_def * 1384nir_ifind_msb(nir_builder *build, nir_ssa_def *src0) 1385{ 1386 return nir_build_alu(build, nir_op_ifind_msb, src0, NULL, NULL, NULL); 1387} 1388static inline nir_ssa_def * 1389nir_ifind_msb_rev(nir_builder *build, nir_ssa_def *src0) 1390{ 1391 return nir_build_alu(build, nir_op_ifind_msb_rev, src0, NULL, NULL, NULL); 1392} 1393static inline nir_ssa_def * 1394nir_ige(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1395{ 1396 return nir_build_alu(build, nir_op_ige, src0, src1, NULL, NULL); 1397} 1398static inline nir_ssa_def * 1399nir_ige16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1400{ 1401 return nir_build_alu(build, nir_op_ige16, src0, src1, NULL, NULL); 1402} 1403static inline nir_ssa_def * 1404nir_ige32(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1405{ 1406 return nir_build_alu(build, nir_op_ige32, src0, src1, NULL, NULL); 1407} 1408static inline nir_ssa_def * 1409nir_ige8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1410{ 1411 return nir_build_alu(build, nir_op_ige8, src0, src1, NULL, NULL); 1412} 1413static inline nir_ssa_def * 1414nir_ihadd(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1415{ 1416 return nir_build_alu(build, nir_op_ihadd, src0, src1, NULL, NULL); 1417} 1418static inline nir_ssa_def * 1419nir_ilt(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1420{ 1421 return nir_build_alu(build, nir_op_ilt, src0, src1, NULL, NULL); 1422} 1423static inline nir_ssa_def * 1424nir_ilt16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1425{ 1426 return nir_build_alu(build, nir_op_ilt16, src0, src1, NULL, NULL); 1427} 1428static inline nir_ssa_def * 1429nir_ilt32(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1430{ 1431 return nir_build_alu(build, nir_op_ilt32, src0, src1, NULL, NULL); 1432} 1433static inline nir_ssa_def * 1434nir_ilt8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1435{ 1436 return nir_build_alu(build, nir_op_ilt8, src0, src1, NULL, NULL); 1437} 1438static inline nir_ssa_def * 1439nir_imad24_ir3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2) 1440{ 1441 return nir_build_alu(build, nir_op_imad24_ir3, src0, src1, src2, NULL); 1442} 1443static inline nir_ssa_def * 1444nir_imadsh_mix16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2) 1445{ 1446 return nir_build_alu(build, nir_op_imadsh_mix16, src0, src1, src2, NULL); 1447} 1448static inline nir_ssa_def * 1449nir_imax(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1450{ 1451 return nir_build_alu(build, nir_op_imax, src0, src1, NULL, NULL); 1452} 1453static inline nir_ssa_def * 1454nir_imin(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1455{ 1456 return nir_build_alu(build, nir_op_imin, src0, src1, NULL, NULL); 1457} 1458static inline nir_ssa_def * 1459nir_imod(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1460{ 1461 return nir_build_alu(build, nir_op_imod, src0, src1, NULL, NULL); 1462} 1463static inline nir_ssa_def * 1464nir_imul(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1465{ 1466 return nir_build_alu(build, nir_op_imul, src0, src1, NULL, NULL); 1467} 1468static inline nir_ssa_def * 1469nir_imul24(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1470{ 1471 return nir_build_alu(build, nir_op_imul24, src0, src1, NULL, NULL); 1472} 1473static inline nir_ssa_def * 1474nir_imul24_relaxed(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1475{ 1476 return nir_build_alu(build, nir_op_imul24_relaxed, src0, src1, NULL, NULL); 1477} 1478static inline nir_ssa_def * 1479nir_imul_2x32_64(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1480{ 1481 return nir_build_alu(build, nir_op_imul_2x32_64, src0, src1, NULL, NULL); 1482} 1483static inline nir_ssa_def * 1484nir_imul_32x16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1485{ 1486 return nir_build_alu(build, nir_op_imul_32x16, src0, src1, NULL, NULL); 1487} 1488static inline nir_ssa_def * 1489nir_imul_high(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1490{ 1491 return nir_build_alu(build, nir_op_imul_high, src0, src1, NULL, NULL); 1492} 1493static inline nir_ssa_def * 1494nir_ine(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1495{ 1496 return nir_build_alu(build, nir_op_ine, src0, src1, NULL, NULL); 1497} 1498static inline nir_ssa_def * 1499nir_ine16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1500{ 1501 return nir_build_alu(build, nir_op_ine16, src0, src1, NULL, NULL); 1502} 1503static inline nir_ssa_def * 1504nir_ine32(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1505{ 1506 return nir_build_alu(build, nir_op_ine32, src0, src1, NULL, NULL); 1507} 1508static inline nir_ssa_def * 1509nir_ine8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1510{ 1511 return nir_build_alu(build, nir_op_ine8, src0, src1, NULL, NULL); 1512} 1513static inline nir_ssa_def * 1514nir_ineg(nir_builder *build, nir_ssa_def *src0) 1515{ 1516 return nir_build_alu(build, nir_op_ineg, src0, NULL, NULL, NULL); 1517} 1518static inline nir_ssa_def * 1519nir_inot(nir_builder *build, nir_ssa_def *src0) 1520{ 1521 return nir_build_alu(build, nir_op_inot, src0, NULL, NULL, NULL); 1522} 1523static inline nir_ssa_def * 1524nir_insert_u16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1525{ 1526 return nir_build_alu(build, nir_op_insert_u16, src0, src1, NULL, NULL); 1527} 1528static inline nir_ssa_def * 1529nir_insert_u8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1530{ 1531 return nir_build_alu(build, nir_op_insert_u8, src0, src1, NULL, NULL); 1532} 1533static inline nir_ssa_def * 1534nir_ior(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1535{ 1536 return nir_build_alu(build, nir_op_ior, src0, src1, NULL, NULL); 1537} 1538static inline nir_ssa_def * 1539nir_irem(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1540{ 1541 return nir_build_alu(build, nir_op_irem, src0, src1, NULL, NULL); 1542} 1543static inline nir_ssa_def * 1544nir_irhadd(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1545{ 1546 return nir_build_alu(build, nir_op_irhadd, src0, src1, NULL, NULL); 1547} 1548static inline nir_ssa_def * 1549nir_ishl(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1550{ 1551 return nir_build_alu(build, nir_op_ishl, src0, src1, NULL, NULL); 1552} 1553static inline nir_ssa_def * 1554nir_ishr(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1555{ 1556 return nir_build_alu(build, nir_op_ishr, src0, src1, NULL, NULL); 1557} 1558static inline nir_ssa_def * 1559nir_isign(nir_builder *build, nir_ssa_def *src0) 1560{ 1561 return nir_build_alu(build, nir_op_isign, src0, NULL, NULL, NULL); 1562} 1563static inline nir_ssa_def * 1564nir_isub(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1565{ 1566 return nir_build_alu(build, nir_op_isub, src0, src1, NULL, NULL); 1567} 1568static inline nir_ssa_def * 1569nir_isub_sat(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1570{ 1571 return nir_build_alu(build, nir_op_isub_sat, src0, src1, NULL, NULL); 1572} 1573static inline nir_ssa_def * 1574nir_ixor(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1575{ 1576 return nir_build_alu(build, nir_op_ixor, src0, src1, NULL, NULL); 1577} 1578static inline nir_ssa_def * 1579nir_ldexp(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1580{ 1581 return nir_build_alu(build, nir_op_ldexp, src0, src1, NULL, NULL); 1582} 1583static inline nir_ssa_def * 1584nir_mov(nir_builder *build, nir_ssa_def *src0) 1585{ 1586 return nir_build_alu(build, nir_op_mov, src0, NULL, NULL, NULL); 1587} 1588static inline nir_ssa_def * 1589nir_pack_32_2x16(nir_builder *build, nir_ssa_def *src0) 1590{ 1591 return nir_build_alu(build, nir_op_pack_32_2x16, src0, NULL, NULL, NULL); 1592} 1593static inline nir_ssa_def * 1594nir_pack_32_2x16_split(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1595{ 1596 return nir_build_alu(build, nir_op_pack_32_2x16_split, src0, src1, NULL, NULL); 1597} 1598static inline nir_ssa_def * 1599nir_pack_32_4x8(nir_builder *build, nir_ssa_def *src0) 1600{ 1601 return nir_build_alu(build, nir_op_pack_32_4x8, src0, NULL, NULL, NULL); 1602} 1603static inline nir_ssa_def * 1604nir_pack_32_4x8_split(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3) 1605{ 1606 return nir_build_alu(build, nir_op_pack_32_4x8_split, src0, src1, src2, src3); 1607} 1608static inline nir_ssa_def * 1609nir_pack_64_2x32(nir_builder *build, nir_ssa_def *src0) 1610{ 1611 return nir_build_alu(build, nir_op_pack_64_2x32, src0, NULL, NULL, NULL); 1612} 1613static inline nir_ssa_def * 1614nir_pack_64_2x32_split(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1615{ 1616 return nir_build_alu(build, nir_op_pack_64_2x32_split, src0, src1, NULL, NULL); 1617} 1618static inline nir_ssa_def * 1619nir_pack_64_4x16(nir_builder *build, nir_ssa_def *src0) 1620{ 1621 return nir_build_alu(build, nir_op_pack_64_4x16, src0, NULL, NULL, NULL); 1622} 1623static inline nir_ssa_def * 1624nir_pack_double_2x32_dxil(nir_builder *build, nir_ssa_def *src0) 1625{ 1626 return nir_build_alu(build, nir_op_pack_double_2x32_dxil, src0, NULL, NULL, NULL); 1627} 1628static inline nir_ssa_def * 1629nir_pack_half_2x16(nir_builder *build, nir_ssa_def *src0) 1630{ 1631 return nir_build_alu(build, nir_op_pack_half_2x16, src0, NULL, NULL, NULL); 1632} 1633static inline nir_ssa_def * 1634nir_pack_half_2x16_split(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1635{ 1636 return nir_build_alu(build, nir_op_pack_half_2x16_split, src0, src1, NULL, NULL); 1637} 1638static inline nir_ssa_def * 1639nir_pack_snorm_2x16(nir_builder *build, nir_ssa_def *src0) 1640{ 1641 return nir_build_alu(build, nir_op_pack_snorm_2x16, src0, NULL, NULL, NULL); 1642} 1643static inline nir_ssa_def * 1644nir_pack_snorm_4x8(nir_builder *build, nir_ssa_def *src0) 1645{ 1646 return nir_build_alu(build, nir_op_pack_snorm_4x8, src0, NULL, NULL, NULL); 1647} 1648static inline nir_ssa_def * 1649nir_pack_unorm_2x16(nir_builder *build, nir_ssa_def *src0) 1650{ 1651 return nir_build_alu(build, nir_op_pack_unorm_2x16, src0, NULL, NULL, NULL); 1652} 1653static inline nir_ssa_def * 1654nir_pack_unorm_4x8(nir_builder *build, nir_ssa_def *src0) 1655{ 1656 return nir_build_alu(build, nir_op_pack_unorm_4x8, src0, NULL, NULL, NULL); 1657} 1658static inline nir_ssa_def * 1659nir_pack_uvec2_to_uint(nir_builder *build, nir_ssa_def *src0) 1660{ 1661 return nir_build_alu(build, nir_op_pack_uvec2_to_uint, src0, NULL, NULL, NULL); 1662} 1663static inline nir_ssa_def * 1664nir_pack_uvec4_to_uint(nir_builder *build, nir_ssa_def *src0) 1665{ 1666 return nir_build_alu(build, nir_op_pack_uvec4_to_uint, src0, NULL, NULL, NULL); 1667} 1668static inline nir_ssa_def * 1669nir_sad_u8x4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2) 1670{ 1671 return nir_build_alu(build, nir_op_sad_u8x4, src0, src1, src2, NULL); 1672} 1673static inline nir_ssa_def * 1674nir_sdot_2x16_iadd(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2) 1675{ 1676 return nir_build_alu(build, nir_op_sdot_2x16_iadd, src0, src1, src2, NULL); 1677} 1678static inline nir_ssa_def * 1679nir_sdot_2x16_iadd_sat(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2) 1680{ 1681 return nir_build_alu(build, nir_op_sdot_2x16_iadd_sat, src0, src1, src2, NULL); 1682} 1683static inline nir_ssa_def * 1684nir_sdot_4x8_iadd(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2) 1685{ 1686 return nir_build_alu(build, nir_op_sdot_4x8_iadd, src0, src1, src2, NULL); 1687} 1688static inline nir_ssa_def * 1689nir_sdot_4x8_iadd_sat(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2) 1690{ 1691 return nir_build_alu(build, nir_op_sdot_4x8_iadd_sat, src0, src1, src2, NULL); 1692} 1693static inline nir_ssa_def * 1694nir_seq(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1695{ 1696 return nir_build_alu(build, nir_op_seq, src0, src1, NULL, NULL); 1697} 1698static inline nir_ssa_def * 1699nir_sge(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1700{ 1701 return nir_build_alu(build, nir_op_sge, src0, src1, NULL, NULL); 1702} 1703static inline nir_ssa_def * 1704nir_slt(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1705{ 1706 return nir_build_alu(build, nir_op_slt, src0, src1, NULL, NULL); 1707} 1708static inline nir_ssa_def * 1709nir_sne(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1710{ 1711 return nir_build_alu(build, nir_op_sne, src0, src1, NULL, NULL); 1712} 1713static inline nir_ssa_def * 1714nir_sudot_4x8_iadd(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2) 1715{ 1716 return nir_build_alu(build, nir_op_sudot_4x8_iadd, src0, src1, src2, NULL); 1717} 1718static inline nir_ssa_def * 1719nir_sudot_4x8_iadd_sat(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2) 1720{ 1721 return nir_build_alu(build, nir_op_sudot_4x8_iadd_sat, src0, src1, src2, NULL); 1722} 1723static inline nir_ssa_def * 1724nir_u2f16(nir_builder *build, nir_ssa_def *src0) 1725{ 1726 return nir_build_alu(build, nir_op_u2f16, src0, NULL, NULL, NULL); 1727} 1728static inline nir_ssa_def * 1729nir_u2f32(nir_builder *build, nir_ssa_def *src0) 1730{ 1731 return nir_build_alu(build, nir_op_u2f32, src0, NULL, NULL, NULL); 1732} 1733static inline nir_ssa_def * 1734nir_u2f64(nir_builder *build, nir_ssa_def *src0) 1735{ 1736 return nir_build_alu(build, nir_op_u2f64, src0, NULL, NULL, NULL); 1737} 1738static inline nir_ssa_def * 1739nir_u2fmp(nir_builder *build, nir_ssa_def *src0) 1740{ 1741 return nir_build_alu(build, nir_op_u2fmp, src0, NULL, NULL, NULL); 1742} 1743static inline nir_ssa_def * 1744nir_u2u1(nir_builder *build, nir_ssa_def *src0) 1745{ 1746 return nir_build_alu(build, nir_op_u2u1, src0, NULL, NULL, NULL); 1747} 1748static inline nir_ssa_def * 1749nir_u2u16(nir_builder *build, nir_ssa_def *src0) 1750{ 1751 return nir_build_alu(build, nir_op_u2u16, src0, NULL, NULL, NULL); 1752} 1753static inline nir_ssa_def * 1754nir_u2u32(nir_builder *build, nir_ssa_def *src0) 1755{ 1756 return nir_build_alu(build, nir_op_u2u32, src0, NULL, NULL, NULL); 1757} 1758static inline nir_ssa_def * 1759nir_u2u64(nir_builder *build, nir_ssa_def *src0) 1760{ 1761 return nir_build_alu(build, nir_op_u2u64, src0, NULL, NULL, NULL); 1762} 1763static inline nir_ssa_def * 1764nir_u2u8(nir_builder *build, nir_ssa_def *src0) 1765{ 1766 return nir_build_alu(build, nir_op_u2u8, src0, NULL, NULL, NULL); 1767} 1768static inline nir_ssa_def * 1769nir_uabs_isub(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1770{ 1771 return nir_build_alu(build, nir_op_uabs_isub, src0, src1, NULL, NULL); 1772} 1773static inline nir_ssa_def * 1774nir_uabs_usub(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1775{ 1776 return nir_build_alu(build, nir_op_uabs_usub, src0, src1, NULL, NULL); 1777} 1778static inline nir_ssa_def * 1779nir_uadd_carry(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1780{ 1781 return nir_build_alu(build, nir_op_uadd_carry, src0, src1, NULL, NULL); 1782} 1783static inline nir_ssa_def * 1784nir_uadd_sat(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1785{ 1786 return nir_build_alu(build, nir_op_uadd_sat, src0, src1, NULL, NULL); 1787} 1788static inline nir_ssa_def * 1789nir_ubfe(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2) 1790{ 1791 return nir_build_alu(build, nir_op_ubfe, src0, src1, src2, NULL); 1792} 1793static inline nir_ssa_def * 1794nir_ubitfield_extract(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2) 1795{ 1796 return nir_build_alu(build, nir_op_ubitfield_extract, src0, src1, src2, NULL); 1797} 1798static inline nir_ssa_def * 1799nir_uclz(nir_builder *build, nir_ssa_def *src0) 1800{ 1801 return nir_build_alu(build, nir_op_uclz, src0, NULL, NULL, NULL); 1802} 1803static inline nir_ssa_def * 1804nir_udiv(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1805{ 1806 return nir_build_alu(build, nir_op_udiv, src0, src1, NULL, NULL); 1807} 1808static inline nir_ssa_def * 1809nir_udot_2x16_uadd(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2) 1810{ 1811 return nir_build_alu(build, nir_op_udot_2x16_uadd, src0, src1, src2, NULL); 1812} 1813static inline nir_ssa_def * 1814nir_udot_2x16_uadd_sat(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2) 1815{ 1816 return nir_build_alu(build, nir_op_udot_2x16_uadd_sat, src0, src1, src2, NULL); 1817} 1818static inline nir_ssa_def * 1819nir_udot_4x8_uadd(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2) 1820{ 1821 return nir_build_alu(build, nir_op_udot_4x8_uadd, src0, src1, src2, NULL); 1822} 1823static inline nir_ssa_def * 1824nir_udot_4x8_uadd_sat(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2) 1825{ 1826 return nir_build_alu(build, nir_op_udot_4x8_uadd_sat, src0, src1, src2, NULL); 1827} 1828static inline nir_ssa_def * 1829nir_ufind_msb(nir_builder *build, nir_ssa_def *src0) 1830{ 1831 return nir_build_alu(build, nir_op_ufind_msb, src0, NULL, NULL, NULL); 1832} 1833static inline nir_ssa_def * 1834nir_ufind_msb_rev(nir_builder *build, nir_ssa_def *src0) 1835{ 1836 return nir_build_alu(build, nir_op_ufind_msb_rev, src0, NULL, NULL, NULL); 1837} 1838static inline nir_ssa_def * 1839nir_uge(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1840{ 1841 return nir_build_alu(build, nir_op_uge, src0, src1, NULL, NULL); 1842} 1843static inline nir_ssa_def * 1844nir_uge16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1845{ 1846 return nir_build_alu(build, nir_op_uge16, src0, src1, NULL, NULL); 1847} 1848static inline nir_ssa_def * 1849nir_uge32(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1850{ 1851 return nir_build_alu(build, nir_op_uge32, src0, src1, NULL, NULL); 1852} 1853static inline nir_ssa_def * 1854nir_uge8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1855{ 1856 return nir_build_alu(build, nir_op_uge8, src0, src1, NULL, NULL); 1857} 1858static inline nir_ssa_def * 1859nir_uhadd(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1860{ 1861 return nir_build_alu(build, nir_op_uhadd, src0, src1, NULL, NULL); 1862} 1863static inline nir_ssa_def * 1864nir_ult(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1865{ 1866 return nir_build_alu(build, nir_op_ult, src0, src1, NULL, NULL); 1867} 1868static inline nir_ssa_def * 1869nir_ult16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1870{ 1871 return nir_build_alu(build, nir_op_ult16, src0, src1, NULL, NULL); 1872} 1873static inline nir_ssa_def * 1874nir_ult32(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1875{ 1876 return nir_build_alu(build, nir_op_ult32, src0, src1, NULL, NULL); 1877} 1878static inline nir_ssa_def * 1879nir_ult8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1880{ 1881 return nir_build_alu(build, nir_op_ult8, src0, src1, NULL, NULL); 1882} 1883static inline nir_ssa_def * 1884nir_umad24(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2) 1885{ 1886 return nir_build_alu(build, nir_op_umad24, src0, src1, src2, NULL); 1887} 1888static inline nir_ssa_def * 1889nir_umad24_relaxed(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2) 1890{ 1891 return nir_build_alu(build, nir_op_umad24_relaxed, src0, src1, src2, NULL); 1892} 1893static inline nir_ssa_def * 1894nir_umax(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1895{ 1896 return nir_build_alu(build, nir_op_umax, src0, src1, NULL, NULL); 1897} 1898static inline nir_ssa_def * 1899nir_umax_4x8_vc4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1900{ 1901 return nir_build_alu(build, nir_op_umax_4x8_vc4, src0, src1, NULL, NULL); 1902} 1903static inline nir_ssa_def * 1904nir_umin(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1905{ 1906 return nir_build_alu(build, nir_op_umin, src0, src1, NULL, NULL); 1907} 1908static inline nir_ssa_def * 1909nir_umin_4x8_vc4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1910{ 1911 return nir_build_alu(build, nir_op_umin_4x8_vc4, src0, src1, NULL, NULL); 1912} 1913static inline nir_ssa_def * 1914nir_umod(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1915{ 1916 return nir_build_alu(build, nir_op_umod, src0, src1, NULL, NULL); 1917} 1918static inline nir_ssa_def * 1919nir_umul24(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1920{ 1921 return nir_build_alu(build, nir_op_umul24, src0, src1, NULL, NULL); 1922} 1923static inline nir_ssa_def * 1924nir_umul24_relaxed(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1925{ 1926 return nir_build_alu(build, nir_op_umul24_relaxed, src0, src1, NULL, NULL); 1927} 1928static inline nir_ssa_def * 1929nir_umul_2x32_64(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1930{ 1931 return nir_build_alu(build, nir_op_umul_2x32_64, src0, src1, NULL, NULL); 1932} 1933static inline nir_ssa_def * 1934nir_umul_32x16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1935{ 1936 return nir_build_alu(build, nir_op_umul_32x16, src0, src1, NULL, NULL); 1937} 1938static inline nir_ssa_def * 1939nir_umul_high(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1940{ 1941 return nir_build_alu(build, nir_op_umul_high, src0, src1, NULL, NULL); 1942} 1943static inline nir_ssa_def * 1944nir_umul_low(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1945{ 1946 return nir_build_alu(build, nir_op_umul_low, src0, src1, NULL, NULL); 1947} 1948static inline nir_ssa_def * 1949nir_umul_unorm_4x8_vc4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 1950{ 1951 return nir_build_alu(build, nir_op_umul_unorm_4x8_vc4, src0, src1, NULL, NULL); 1952} 1953static inline nir_ssa_def * 1954nir_unpack_32_2x16(nir_builder *build, nir_ssa_def *src0) 1955{ 1956 return nir_build_alu(build, nir_op_unpack_32_2x16, src0, NULL, NULL, NULL); 1957} 1958static inline nir_ssa_def * 1959nir_unpack_32_2x16_split_x(nir_builder *build, nir_ssa_def *src0) 1960{ 1961 return nir_build_alu(build, nir_op_unpack_32_2x16_split_x, src0, NULL, NULL, NULL); 1962} 1963static inline nir_ssa_def * 1964nir_unpack_32_2x16_split_y(nir_builder *build, nir_ssa_def *src0) 1965{ 1966 return nir_build_alu(build, nir_op_unpack_32_2x16_split_y, src0, NULL, NULL, NULL); 1967} 1968static inline nir_ssa_def * 1969nir_unpack_32_4x8(nir_builder *build, nir_ssa_def *src0) 1970{ 1971 return nir_build_alu(build, nir_op_unpack_32_4x8, src0, NULL, NULL, NULL); 1972} 1973static inline nir_ssa_def * 1974nir_unpack_64_2x32(nir_builder *build, nir_ssa_def *src0) 1975{ 1976 return nir_build_alu(build, nir_op_unpack_64_2x32, src0, NULL, NULL, NULL); 1977} 1978static inline nir_ssa_def * 1979nir_unpack_64_2x32_split_x(nir_builder *build, nir_ssa_def *src0) 1980{ 1981 return nir_build_alu(build, nir_op_unpack_64_2x32_split_x, src0, NULL, NULL, NULL); 1982} 1983static inline nir_ssa_def * 1984nir_unpack_64_2x32_split_y(nir_builder *build, nir_ssa_def *src0) 1985{ 1986 return nir_build_alu(build, nir_op_unpack_64_2x32_split_y, src0, NULL, NULL, NULL); 1987} 1988static inline nir_ssa_def * 1989nir_unpack_64_4x16(nir_builder *build, nir_ssa_def *src0) 1990{ 1991 return nir_build_alu(build, nir_op_unpack_64_4x16, src0, NULL, NULL, NULL); 1992} 1993static inline nir_ssa_def * 1994nir_unpack_double_2x32_dxil(nir_builder *build, nir_ssa_def *src0) 1995{ 1996 return nir_build_alu(build, nir_op_unpack_double_2x32_dxil, src0, NULL, NULL, NULL); 1997} 1998static inline nir_ssa_def * 1999nir_unpack_half_2x16(nir_builder *build, nir_ssa_def *src0) 2000{ 2001 return nir_build_alu(build, nir_op_unpack_half_2x16, src0, NULL, NULL, NULL); 2002} 2003static inline nir_ssa_def * 2004nir_unpack_half_2x16_flush_to_zero(nir_builder *build, nir_ssa_def *src0) 2005{ 2006 return nir_build_alu(build, nir_op_unpack_half_2x16_flush_to_zero, src0, NULL, NULL, NULL); 2007} 2008static inline nir_ssa_def * 2009nir_unpack_half_2x16_split_x(nir_builder *build, nir_ssa_def *src0) 2010{ 2011 return nir_build_alu(build, nir_op_unpack_half_2x16_split_x, src0, NULL, NULL, NULL); 2012} 2013static inline nir_ssa_def * 2014nir_unpack_half_2x16_split_x_flush_to_zero(nir_builder *build, nir_ssa_def *src0) 2015{ 2016 return nir_build_alu(build, nir_op_unpack_half_2x16_split_x_flush_to_zero, src0, NULL, NULL, NULL); 2017} 2018static inline nir_ssa_def * 2019nir_unpack_half_2x16_split_y(nir_builder *build, nir_ssa_def *src0) 2020{ 2021 return nir_build_alu(build, nir_op_unpack_half_2x16_split_y, src0, NULL, NULL, NULL); 2022} 2023static inline nir_ssa_def * 2024nir_unpack_half_2x16_split_y_flush_to_zero(nir_builder *build, nir_ssa_def *src0) 2025{ 2026 return nir_build_alu(build, nir_op_unpack_half_2x16_split_y_flush_to_zero, src0, NULL, NULL, NULL); 2027} 2028static inline nir_ssa_def * 2029nir_unpack_snorm_2x16(nir_builder *build, nir_ssa_def *src0) 2030{ 2031 return nir_build_alu(build, nir_op_unpack_snorm_2x16, src0, NULL, NULL, NULL); 2032} 2033static inline nir_ssa_def * 2034nir_unpack_snorm_4x8(nir_builder *build, nir_ssa_def *src0) 2035{ 2036 return nir_build_alu(build, nir_op_unpack_snorm_4x8, src0, NULL, NULL, NULL); 2037} 2038static inline nir_ssa_def * 2039nir_unpack_unorm_2x16(nir_builder *build, nir_ssa_def *src0) 2040{ 2041 return nir_build_alu(build, nir_op_unpack_unorm_2x16, src0, NULL, NULL, NULL); 2042} 2043static inline nir_ssa_def * 2044nir_unpack_unorm_4x8(nir_builder *build, nir_ssa_def *src0) 2045{ 2046 return nir_build_alu(build, nir_op_unpack_unorm_4x8, src0, NULL, NULL, NULL); 2047} 2048static inline nir_ssa_def * 2049nir_urhadd(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 2050{ 2051 return nir_build_alu(build, nir_op_urhadd, src0, src1, NULL, NULL); 2052} 2053static inline nir_ssa_def * 2054nir_urol(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 2055{ 2056 return nir_build_alu(build, nir_op_urol, src0, src1, NULL, NULL); 2057} 2058static inline nir_ssa_def * 2059nir_uror(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 2060{ 2061 return nir_build_alu(build, nir_op_uror, src0, src1, NULL, NULL); 2062} 2063static inline nir_ssa_def * 2064nir_usadd_4x8_vc4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 2065{ 2066 return nir_build_alu(build, nir_op_usadd_4x8_vc4, src0, src1, NULL, NULL); 2067} 2068static inline nir_ssa_def * 2069nir_ushr(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 2070{ 2071 return nir_build_alu(build, nir_op_ushr, src0, src1, NULL, NULL); 2072} 2073static inline nir_ssa_def * 2074nir_ussub_4x8_vc4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 2075{ 2076 return nir_build_alu(build, nir_op_ussub_4x8_vc4, src0, src1, NULL, NULL); 2077} 2078static inline nir_ssa_def * 2079nir_usub_borrow(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 2080{ 2081 return nir_build_alu(build, nir_op_usub_borrow, src0, src1, NULL, NULL); 2082} 2083static inline nir_ssa_def * 2084nir_usub_sat(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 2085{ 2086 return nir_build_alu(build, nir_op_usub_sat, src0, src1, NULL, NULL); 2087} 2088static inline nir_ssa_def * 2089nir_vec16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, nir_ssa_def *src4, nir_ssa_def *src5, nir_ssa_def *src6, nir_ssa_def *src7, nir_ssa_def *src8, nir_ssa_def *src9, nir_ssa_def *src10, nir_ssa_def *src11, nir_ssa_def *src12, nir_ssa_def *src13, nir_ssa_def *src14, nir_ssa_def *src15) 2090{ 2091 nir_ssa_def *srcs[16] = {src0, src1, src2, src3, src4, src5, src6, src7, src8, src9, src10, src11, src12, src13, src14, src15}; 2092 return nir_build_alu_src_arr(build, nir_op_vec16, srcs); 2093} 2094static inline nir_ssa_def * 2095nir_vec2(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 2096{ 2097 return nir_build_alu(build, nir_op_vec2, src0, src1, NULL, NULL); 2098} 2099static inline nir_ssa_def * 2100nir_vec3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2) 2101{ 2102 return nir_build_alu(build, nir_op_vec3, src0, src1, src2, NULL); 2103} 2104static inline nir_ssa_def * 2105nir_vec4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3) 2106{ 2107 return nir_build_alu(build, nir_op_vec4, src0, src1, src2, src3); 2108} 2109static inline nir_ssa_def * 2110nir_vec5(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, nir_ssa_def *src4) 2111{ 2112 nir_ssa_def *srcs[5] = {src0, src1, src2, src3, src4}; 2113 return nir_build_alu_src_arr(build, nir_op_vec5, srcs); 2114} 2115static inline nir_ssa_def * 2116nir_vec8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, nir_ssa_def *src4, nir_ssa_def *src5, nir_ssa_def *src6, nir_ssa_def *src7) 2117{ 2118 nir_ssa_def *srcs[8] = {src0, src1, src2, src3, src4, src5, src6, src7}; 2119 return nir_build_alu_src_arr(build, nir_op_vec8, srcs); 2120} 2121 2122struct _nir_accept_ray_intersection_indices { 2123 int _; /* exists to avoid empty initializers */ 2124}; 2125struct _nir_addr_mode_is_indices { 2126 int _; /* exists to avoid empty initializers */ 2127 nir_variable_mode memory_modes; 2128}; 2129struct _nir_alloc_vertices_and_primitives_amd_indices { 2130 int _; /* exists to avoid empty initializers */ 2131}; 2132struct _nir_atomic_counter_add_indices { 2133 int _; /* exists to avoid empty initializers */ 2134 int base; 2135}; 2136struct _nir_atomic_counter_add_deref_indices { 2137 int _; /* exists to avoid empty initializers */ 2138}; 2139struct _nir_atomic_counter_and_indices { 2140 int _; /* exists to avoid empty initializers */ 2141 int base; 2142}; 2143struct _nir_atomic_counter_and_deref_indices { 2144 int _; /* exists to avoid empty initializers */ 2145}; 2146struct _nir_atomic_counter_comp_swap_indices { 2147 int _; /* exists to avoid empty initializers */ 2148 int base; 2149}; 2150struct _nir_atomic_counter_comp_swap_deref_indices { 2151 int _; /* exists to avoid empty initializers */ 2152}; 2153struct _nir_atomic_counter_exchange_indices { 2154 int _; /* exists to avoid empty initializers */ 2155 int base; 2156}; 2157struct _nir_atomic_counter_exchange_deref_indices { 2158 int _; /* exists to avoid empty initializers */ 2159}; 2160struct _nir_atomic_counter_inc_indices { 2161 int _; /* exists to avoid empty initializers */ 2162 int base; 2163}; 2164struct _nir_atomic_counter_inc_deref_indices { 2165 int _; /* exists to avoid empty initializers */ 2166}; 2167struct _nir_atomic_counter_max_indices { 2168 int _; /* exists to avoid empty initializers */ 2169 int base; 2170}; 2171struct _nir_atomic_counter_max_deref_indices { 2172 int _; /* exists to avoid empty initializers */ 2173}; 2174struct _nir_atomic_counter_min_indices { 2175 int _; /* exists to avoid empty initializers */ 2176 int base; 2177}; 2178struct _nir_atomic_counter_min_deref_indices { 2179 int _; /* exists to avoid empty initializers */ 2180}; 2181struct _nir_atomic_counter_or_indices { 2182 int _; /* exists to avoid empty initializers */ 2183 int base; 2184}; 2185struct _nir_atomic_counter_or_deref_indices { 2186 int _; /* exists to avoid empty initializers */ 2187}; 2188struct _nir_atomic_counter_post_dec_indices { 2189 int _; /* exists to avoid empty initializers */ 2190 int base; 2191}; 2192struct _nir_atomic_counter_post_dec_deref_indices { 2193 int _; /* exists to avoid empty initializers */ 2194}; 2195struct _nir_atomic_counter_pre_dec_indices { 2196 int _; /* exists to avoid empty initializers */ 2197 int base; 2198}; 2199struct _nir_atomic_counter_pre_dec_deref_indices { 2200 int _; /* exists to avoid empty initializers */ 2201}; 2202struct _nir_atomic_counter_read_indices { 2203 int _; /* exists to avoid empty initializers */ 2204 int base; 2205}; 2206struct _nir_atomic_counter_read_deref_indices { 2207 int _; /* exists to avoid empty initializers */ 2208}; 2209struct _nir_atomic_counter_xor_indices { 2210 int _; /* exists to avoid empty initializers */ 2211 int base; 2212}; 2213struct _nir_atomic_counter_xor_deref_indices { 2214 int _; /* exists to avoid empty initializers */ 2215}; 2216struct _nir_ballot_indices { 2217 int _; /* exists to avoid empty initializers */ 2218}; 2219struct _nir_ballot_bit_count_exclusive_indices { 2220 int _; /* exists to avoid empty initializers */ 2221}; 2222struct _nir_ballot_bit_count_inclusive_indices { 2223 int _; /* exists to avoid empty initializers */ 2224}; 2225struct _nir_ballot_bit_count_reduce_indices { 2226 int _; /* exists to avoid empty initializers */ 2227}; 2228struct _nir_ballot_bitfield_extract_indices { 2229 int _; /* exists to avoid empty initializers */ 2230}; 2231struct _nir_ballot_find_lsb_indices { 2232 int _; /* exists to avoid empty initializers */ 2233}; 2234struct _nir_ballot_find_msb_indices { 2235 int _; /* exists to avoid empty initializers */ 2236}; 2237struct _nir_begin_invocation_interlock_indices { 2238 int _; /* exists to avoid empty initializers */ 2239}; 2240struct _nir_bindless_image_atomic_add_indices { 2241 int _; /* exists to avoid empty initializers */ 2242 enum glsl_sampler_dim image_dim; 2243 bool image_array; 2244 enum pipe_format format; 2245 enum gl_access_qualifier access; 2246}; 2247struct _nir_bindless_image_atomic_and_indices { 2248 int _; /* exists to avoid empty initializers */ 2249 enum glsl_sampler_dim image_dim; 2250 bool image_array; 2251 enum pipe_format format; 2252 enum gl_access_qualifier access; 2253}; 2254struct _nir_bindless_image_atomic_comp_swap_indices { 2255 int _; /* exists to avoid empty initializers */ 2256 enum glsl_sampler_dim image_dim; 2257 bool image_array; 2258 enum pipe_format format; 2259 enum gl_access_qualifier access; 2260}; 2261struct _nir_bindless_image_atomic_dec_wrap_indices { 2262 int _; /* exists to avoid empty initializers */ 2263 enum glsl_sampler_dim image_dim; 2264 bool image_array; 2265 enum pipe_format format; 2266 enum gl_access_qualifier access; 2267}; 2268struct _nir_bindless_image_atomic_exchange_indices { 2269 int _; /* exists to avoid empty initializers */ 2270 enum glsl_sampler_dim image_dim; 2271 bool image_array; 2272 enum pipe_format format; 2273 enum gl_access_qualifier access; 2274}; 2275struct _nir_bindless_image_atomic_fadd_indices { 2276 int _; /* exists to avoid empty initializers */ 2277 enum glsl_sampler_dim image_dim; 2278 bool image_array; 2279 enum pipe_format format; 2280 enum gl_access_qualifier access; 2281}; 2282struct _nir_bindless_image_atomic_fmax_indices { 2283 int _; /* exists to avoid empty initializers */ 2284 enum glsl_sampler_dim image_dim; 2285 bool image_array; 2286 enum pipe_format format; 2287 enum gl_access_qualifier access; 2288}; 2289struct _nir_bindless_image_atomic_fmin_indices { 2290 int _; /* exists to avoid empty initializers */ 2291 enum glsl_sampler_dim image_dim; 2292 bool image_array; 2293 enum pipe_format format; 2294 enum gl_access_qualifier access; 2295}; 2296struct _nir_bindless_image_atomic_imax_indices { 2297 int _; /* exists to avoid empty initializers */ 2298 enum glsl_sampler_dim image_dim; 2299 bool image_array; 2300 enum pipe_format format; 2301 enum gl_access_qualifier access; 2302}; 2303struct _nir_bindless_image_atomic_imin_indices { 2304 int _; /* exists to avoid empty initializers */ 2305 enum glsl_sampler_dim image_dim; 2306 bool image_array; 2307 enum pipe_format format; 2308 enum gl_access_qualifier access; 2309}; 2310struct _nir_bindless_image_atomic_inc_wrap_indices { 2311 int _; /* exists to avoid empty initializers */ 2312 enum glsl_sampler_dim image_dim; 2313 bool image_array; 2314 enum pipe_format format; 2315 enum gl_access_qualifier access; 2316}; 2317struct _nir_bindless_image_atomic_or_indices { 2318 int _; /* exists to avoid empty initializers */ 2319 enum glsl_sampler_dim image_dim; 2320 bool image_array; 2321 enum pipe_format format; 2322 enum gl_access_qualifier access; 2323}; 2324struct _nir_bindless_image_atomic_umax_indices { 2325 int _; /* exists to avoid empty initializers */ 2326 enum glsl_sampler_dim image_dim; 2327 bool image_array; 2328 enum pipe_format format; 2329 enum gl_access_qualifier access; 2330}; 2331struct _nir_bindless_image_atomic_umin_indices { 2332 int _; /* exists to avoid empty initializers */ 2333 enum glsl_sampler_dim image_dim; 2334 bool image_array; 2335 enum pipe_format format; 2336 enum gl_access_qualifier access; 2337}; 2338struct _nir_bindless_image_atomic_xor_indices { 2339 int _; /* exists to avoid empty initializers */ 2340 enum glsl_sampler_dim image_dim; 2341 bool image_array; 2342 enum pipe_format format; 2343 enum gl_access_qualifier access; 2344}; 2345struct _nir_bindless_image_format_indices { 2346 int _; /* exists to avoid empty initializers */ 2347 enum glsl_sampler_dim image_dim; 2348 bool image_array; 2349 enum pipe_format format; 2350 enum gl_access_qualifier access; 2351}; 2352struct _nir_bindless_image_load_indices { 2353 int _; /* exists to avoid empty initializers */ 2354 enum glsl_sampler_dim image_dim; 2355 bool image_array; 2356 enum pipe_format format; 2357 enum gl_access_qualifier access; 2358 nir_alu_type dest_type; 2359}; 2360struct _nir_bindless_image_load_raw_intel_indices { 2361 int _; /* exists to avoid empty initializers */ 2362 enum glsl_sampler_dim image_dim; 2363 bool image_array; 2364 enum pipe_format format; 2365 enum gl_access_qualifier access; 2366}; 2367struct _nir_bindless_image_order_indices { 2368 int _; /* exists to avoid empty initializers */ 2369 enum glsl_sampler_dim image_dim; 2370 bool image_array; 2371 enum pipe_format format; 2372 enum gl_access_qualifier access; 2373}; 2374struct _nir_bindless_image_samples_indices { 2375 int _; /* exists to avoid empty initializers */ 2376 enum glsl_sampler_dim image_dim; 2377 bool image_array; 2378 enum pipe_format format; 2379 enum gl_access_qualifier access; 2380}; 2381struct _nir_bindless_image_size_indices { 2382 int _; /* exists to avoid empty initializers */ 2383 enum glsl_sampler_dim image_dim; 2384 bool image_array; 2385 enum pipe_format format; 2386 enum gl_access_qualifier access; 2387}; 2388struct _nir_bindless_image_sparse_load_indices { 2389 int _; /* exists to avoid empty initializers */ 2390 enum glsl_sampler_dim image_dim; 2391 bool image_array; 2392 enum pipe_format format; 2393 enum gl_access_qualifier access; 2394 nir_alu_type dest_type; 2395}; 2396struct _nir_bindless_image_store_indices { 2397 int _; /* exists to avoid empty initializers */ 2398 enum glsl_sampler_dim image_dim; 2399 bool image_array; 2400 enum pipe_format format; 2401 enum gl_access_qualifier access; 2402 nir_alu_type src_type; 2403}; 2404struct _nir_bindless_image_store_raw_intel_indices { 2405 int _; /* exists to avoid empty initializers */ 2406 enum glsl_sampler_dim image_dim; 2407 bool image_array; 2408 enum pipe_format format; 2409 enum gl_access_qualifier access; 2410}; 2411struct _nir_bindless_resource_ir3_indices { 2412 int _; /* exists to avoid empty initializers */ 2413 unsigned desc_set; 2414}; 2415struct _nir_btd_retire_intel_indices { 2416 int _; /* exists to avoid empty initializers */ 2417}; 2418struct _nir_btd_spawn_intel_indices { 2419 int _; /* exists to avoid empty initializers */ 2420}; 2421struct _nir_btd_stack_push_intel_indices { 2422 int _; /* exists to avoid empty initializers */ 2423 unsigned stack_size; 2424}; 2425struct _nir_bvh64_intersect_ray_amd_indices { 2426 int _; /* exists to avoid empty initializers */ 2427}; 2428struct _nir_byte_permute_amd_indices { 2429 int _; /* exists to avoid empty initializers */ 2430}; 2431struct _nir_cond_end_ir3_indices { 2432 int _; /* exists to avoid empty initializers */ 2433}; 2434struct _nir_control_barrier_indices { 2435 int _; /* exists to avoid empty initializers */ 2436}; 2437struct _nir_convert_alu_types_indices { 2438 int _; /* exists to avoid empty initializers */ 2439 nir_alu_type src_type; 2440 nir_alu_type dest_type; 2441 nir_rounding_mode rounding_mode; 2442 unsigned saturate; 2443}; 2444struct _nir_copy_deref_indices { 2445 int _; /* exists to avoid empty initializers */ 2446 enum gl_access_qualifier dst_access; 2447 enum gl_access_qualifier src_access; 2448}; 2449struct _nir_demote_indices { 2450 int _; /* exists to avoid empty initializers */ 2451}; 2452struct _nir_demote_if_indices { 2453 int _; /* exists to avoid empty initializers */ 2454}; 2455struct _nir_deref_atomic_add_indices { 2456 int _; /* exists to avoid empty initializers */ 2457 enum gl_access_qualifier access; 2458}; 2459struct _nir_deref_atomic_and_indices { 2460 int _; /* exists to avoid empty initializers */ 2461 enum gl_access_qualifier access; 2462}; 2463struct _nir_deref_atomic_comp_swap_indices { 2464 int _; /* exists to avoid empty initializers */ 2465 enum gl_access_qualifier access; 2466}; 2467struct _nir_deref_atomic_exchange_indices { 2468 int _; /* exists to avoid empty initializers */ 2469 enum gl_access_qualifier access; 2470}; 2471struct _nir_deref_atomic_fadd_indices { 2472 int _; /* exists to avoid empty initializers */ 2473 enum gl_access_qualifier access; 2474}; 2475struct _nir_deref_atomic_fcomp_swap_indices { 2476 int _; /* exists to avoid empty initializers */ 2477 enum gl_access_qualifier access; 2478}; 2479struct _nir_deref_atomic_fmax_indices { 2480 int _; /* exists to avoid empty initializers */ 2481 enum gl_access_qualifier access; 2482}; 2483struct _nir_deref_atomic_fmin_indices { 2484 int _; /* exists to avoid empty initializers */ 2485 enum gl_access_qualifier access; 2486}; 2487struct _nir_deref_atomic_imax_indices { 2488 int _; /* exists to avoid empty initializers */ 2489 enum gl_access_qualifier access; 2490}; 2491struct _nir_deref_atomic_imin_indices { 2492 int _; /* exists to avoid empty initializers */ 2493 enum gl_access_qualifier access; 2494}; 2495struct _nir_deref_atomic_or_indices { 2496 int _; /* exists to avoid empty initializers */ 2497 enum gl_access_qualifier access; 2498}; 2499struct _nir_deref_atomic_umax_indices { 2500 int _; /* exists to avoid empty initializers */ 2501 enum gl_access_qualifier access; 2502}; 2503struct _nir_deref_atomic_umin_indices { 2504 int _; /* exists to avoid empty initializers */ 2505 enum gl_access_qualifier access; 2506}; 2507struct _nir_deref_atomic_xor_indices { 2508 int _; /* exists to avoid empty initializers */ 2509 enum gl_access_qualifier access; 2510}; 2511struct _nir_deref_buffer_array_length_indices { 2512 int _; /* exists to avoid empty initializers */ 2513 enum gl_access_qualifier access; 2514}; 2515struct _nir_deref_mode_is_indices { 2516 int _; /* exists to avoid empty initializers */ 2517 nir_variable_mode memory_modes; 2518}; 2519struct _nir_discard_indices { 2520 int _; /* exists to avoid empty initializers */ 2521}; 2522struct _nir_discard_if_indices { 2523 int _; /* exists to avoid empty initializers */ 2524}; 2525struct _nir_elect_indices { 2526 int _; /* exists to avoid empty initializers */ 2527}; 2528struct _nir_emit_vertex_indices { 2529 int _; /* exists to avoid empty initializers */ 2530 unsigned stream_id; 2531}; 2532struct _nir_emit_vertex_with_counter_indices { 2533 int _; /* exists to avoid empty initializers */ 2534 unsigned stream_id; 2535}; 2536struct _nir_end_invocation_interlock_indices { 2537 int _; /* exists to avoid empty initializers */ 2538}; 2539struct _nir_end_patch_ir3_indices { 2540 int _; /* exists to avoid empty initializers */ 2541}; 2542struct _nir_end_primitive_indices { 2543 int _; /* exists to avoid empty initializers */ 2544 unsigned stream_id; 2545}; 2546struct _nir_end_primitive_with_counter_indices { 2547 int _; /* exists to avoid empty initializers */ 2548 unsigned stream_id; 2549}; 2550struct _nir_exclusive_scan_indices { 2551 int _; /* exists to avoid empty initializers */ 2552 unsigned reduction_op; 2553}; 2554struct _nir_execute_callable_indices { 2555 int _; /* exists to avoid empty initializers */ 2556}; 2557struct _nir_export_primitive_amd_indices { 2558 int _; /* exists to avoid empty initializers */ 2559}; 2560struct _nir_export_vertex_amd_indices { 2561 int _; /* exists to avoid empty initializers */ 2562}; 2563struct _nir_first_invocation_indices { 2564 int _; /* exists to avoid empty initializers */ 2565}; 2566struct _nir_gds_atomic_add_amd_indices { 2567 int _; /* exists to avoid empty initializers */ 2568 int base; 2569}; 2570struct _nir_get_ssbo_size_indices { 2571 int _; /* exists to avoid empty initializers */ 2572 enum gl_access_qualifier access; 2573}; 2574struct _nir_get_ubo_size_indices { 2575 int _; /* exists to avoid empty initializers */ 2576}; 2577struct _nir_global_atomic_add_indices { 2578 int _; /* exists to avoid empty initializers */ 2579 int base; 2580}; 2581struct _nir_global_atomic_and_indices { 2582 int _; /* exists to avoid empty initializers */ 2583 int base; 2584}; 2585struct _nir_global_atomic_comp_swap_indices { 2586 int _; /* exists to avoid empty initializers */ 2587 int base; 2588}; 2589struct _nir_global_atomic_exchange_indices { 2590 int _; /* exists to avoid empty initializers */ 2591 int base; 2592}; 2593struct _nir_global_atomic_fadd_indices { 2594 int _; /* exists to avoid empty initializers */ 2595 int base; 2596}; 2597struct _nir_global_atomic_fcomp_swap_indices { 2598 int _; /* exists to avoid empty initializers */ 2599 int base; 2600}; 2601struct _nir_global_atomic_fmax_indices { 2602 int _; /* exists to avoid empty initializers */ 2603 int base; 2604}; 2605struct _nir_global_atomic_fmin_indices { 2606 int _; /* exists to avoid empty initializers */ 2607 int base; 2608}; 2609struct _nir_global_atomic_imax_indices { 2610 int _; /* exists to avoid empty initializers */ 2611 int base; 2612}; 2613struct _nir_global_atomic_imin_indices { 2614 int _; /* exists to avoid empty initializers */ 2615 int base; 2616}; 2617struct _nir_global_atomic_or_indices { 2618 int _; /* exists to avoid empty initializers */ 2619 int base; 2620}; 2621struct _nir_global_atomic_umax_indices { 2622 int _; /* exists to avoid empty initializers */ 2623 int base; 2624}; 2625struct _nir_global_atomic_umin_indices { 2626 int _; /* exists to avoid empty initializers */ 2627 int base; 2628}; 2629struct _nir_global_atomic_xor_indices { 2630 int _; /* exists to avoid empty initializers */ 2631 int base; 2632}; 2633struct _nir_group_memory_barrier_indices { 2634 int _; /* exists to avoid empty initializers */ 2635}; 2636struct _nir_has_input_primitive_amd_indices { 2637 int _; /* exists to avoid empty initializers */ 2638}; 2639struct _nir_has_input_vertex_amd_indices { 2640 int _; /* exists to avoid empty initializers */ 2641}; 2642struct _nir_ignore_ray_intersection_indices { 2643 int _; /* exists to avoid empty initializers */ 2644}; 2645struct _nir_image_atomic_add_indices { 2646 int _; /* exists to avoid empty initializers */ 2647 enum glsl_sampler_dim image_dim; 2648 bool image_array; 2649 enum pipe_format format; 2650 enum gl_access_qualifier access; 2651}; 2652struct _nir_image_atomic_and_indices { 2653 int _; /* exists to avoid empty initializers */ 2654 enum glsl_sampler_dim image_dim; 2655 bool image_array; 2656 enum pipe_format format; 2657 enum gl_access_qualifier access; 2658}; 2659struct _nir_image_atomic_comp_swap_indices { 2660 int _; /* exists to avoid empty initializers */ 2661 enum glsl_sampler_dim image_dim; 2662 bool image_array; 2663 enum pipe_format format; 2664 enum gl_access_qualifier access; 2665}; 2666struct _nir_image_atomic_dec_wrap_indices { 2667 int _; /* exists to avoid empty initializers */ 2668 enum glsl_sampler_dim image_dim; 2669 bool image_array; 2670 enum pipe_format format; 2671 enum gl_access_qualifier access; 2672}; 2673struct _nir_image_atomic_exchange_indices { 2674 int _; /* exists to avoid empty initializers */ 2675 enum glsl_sampler_dim image_dim; 2676 bool image_array; 2677 enum pipe_format format; 2678 enum gl_access_qualifier access; 2679}; 2680struct _nir_image_atomic_fadd_indices { 2681 int _; /* exists to avoid empty initializers */ 2682 enum glsl_sampler_dim image_dim; 2683 bool image_array; 2684 enum pipe_format format; 2685 enum gl_access_qualifier access; 2686}; 2687struct _nir_image_atomic_fmax_indices { 2688 int _; /* exists to avoid empty initializers */ 2689 enum glsl_sampler_dim image_dim; 2690 bool image_array; 2691 enum pipe_format format; 2692 enum gl_access_qualifier access; 2693}; 2694struct _nir_image_atomic_fmin_indices { 2695 int _; /* exists to avoid empty initializers */ 2696 enum glsl_sampler_dim image_dim; 2697 bool image_array; 2698 enum pipe_format format; 2699 enum gl_access_qualifier access; 2700}; 2701struct _nir_image_atomic_imax_indices { 2702 int _; /* exists to avoid empty initializers */ 2703 enum glsl_sampler_dim image_dim; 2704 bool image_array; 2705 enum pipe_format format; 2706 enum gl_access_qualifier access; 2707}; 2708struct _nir_image_atomic_imin_indices { 2709 int _; /* exists to avoid empty initializers */ 2710 enum glsl_sampler_dim image_dim; 2711 bool image_array; 2712 enum pipe_format format; 2713 enum gl_access_qualifier access; 2714}; 2715struct _nir_image_atomic_inc_wrap_indices { 2716 int _; /* exists to avoid empty initializers */ 2717 enum glsl_sampler_dim image_dim; 2718 bool image_array; 2719 enum pipe_format format; 2720 enum gl_access_qualifier access; 2721}; 2722struct _nir_image_atomic_or_indices { 2723 int _; /* exists to avoid empty initializers */ 2724 enum glsl_sampler_dim image_dim; 2725 bool image_array; 2726 enum pipe_format format; 2727 enum gl_access_qualifier access; 2728}; 2729struct _nir_image_atomic_umax_indices { 2730 int _; /* exists to avoid empty initializers */ 2731 enum glsl_sampler_dim image_dim; 2732 bool image_array; 2733 enum pipe_format format; 2734 enum gl_access_qualifier access; 2735}; 2736struct _nir_image_atomic_umin_indices { 2737 int _; /* exists to avoid empty initializers */ 2738 enum glsl_sampler_dim image_dim; 2739 bool image_array; 2740 enum pipe_format format; 2741 enum gl_access_qualifier access; 2742}; 2743struct _nir_image_atomic_xor_indices { 2744 int _; /* exists to avoid empty initializers */ 2745 enum glsl_sampler_dim image_dim; 2746 bool image_array; 2747 enum pipe_format format; 2748 enum gl_access_qualifier access; 2749}; 2750struct _nir_image_deref_atomic_add_indices { 2751 int _; /* exists to avoid empty initializers */ 2752 enum glsl_sampler_dim image_dim; 2753 bool image_array; 2754 enum pipe_format format; 2755 enum gl_access_qualifier access; 2756}; 2757struct _nir_image_deref_atomic_and_indices { 2758 int _; /* exists to avoid empty initializers */ 2759 enum glsl_sampler_dim image_dim; 2760 bool image_array; 2761 enum pipe_format format; 2762 enum gl_access_qualifier access; 2763}; 2764struct _nir_image_deref_atomic_comp_swap_indices { 2765 int _; /* exists to avoid empty initializers */ 2766 enum glsl_sampler_dim image_dim; 2767 bool image_array; 2768 enum pipe_format format; 2769 enum gl_access_qualifier access; 2770}; 2771struct _nir_image_deref_atomic_dec_wrap_indices { 2772 int _; /* exists to avoid empty initializers */ 2773 enum glsl_sampler_dim image_dim; 2774 bool image_array; 2775 enum pipe_format format; 2776 enum gl_access_qualifier access; 2777}; 2778struct _nir_image_deref_atomic_exchange_indices { 2779 int _; /* exists to avoid empty initializers */ 2780 enum glsl_sampler_dim image_dim; 2781 bool image_array; 2782 enum pipe_format format; 2783 enum gl_access_qualifier access; 2784}; 2785struct _nir_image_deref_atomic_fadd_indices { 2786 int _; /* exists to avoid empty initializers */ 2787 enum glsl_sampler_dim image_dim; 2788 bool image_array; 2789 enum pipe_format format; 2790 enum gl_access_qualifier access; 2791}; 2792struct _nir_image_deref_atomic_fmax_indices { 2793 int _; /* exists to avoid empty initializers */ 2794 enum glsl_sampler_dim image_dim; 2795 bool image_array; 2796 enum pipe_format format; 2797 enum gl_access_qualifier access; 2798}; 2799struct _nir_image_deref_atomic_fmin_indices { 2800 int _; /* exists to avoid empty initializers */ 2801 enum glsl_sampler_dim image_dim; 2802 bool image_array; 2803 enum pipe_format format; 2804 enum gl_access_qualifier access; 2805}; 2806struct _nir_image_deref_atomic_imax_indices { 2807 int _; /* exists to avoid empty initializers */ 2808 enum glsl_sampler_dim image_dim; 2809 bool image_array; 2810 enum pipe_format format; 2811 enum gl_access_qualifier access; 2812}; 2813struct _nir_image_deref_atomic_imin_indices { 2814 int _; /* exists to avoid empty initializers */ 2815 enum glsl_sampler_dim image_dim; 2816 bool image_array; 2817 enum pipe_format format; 2818 enum gl_access_qualifier access; 2819}; 2820struct _nir_image_deref_atomic_inc_wrap_indices { 2821 int _; /* exists to avoid empty initializers */ 2822 enum glsl_sampler_dim image_dim; 2823 bool image_array; 2824 enum pipe_format format; 2825 enum gl_access_qualifier access; 2826}; 2827struct _nir_image_deref_atomic_or_indices { 2828 int _; /* exists to avoid empty initializers */ 2829 enum glsl_sampler_dim image_dim; 2830 bool image_array; 2831 enum pipe_format format; 2832 enum gl_access_qualifier access; 2833}; 2834struct _nir_image_deref_atomic_umax_indices { 2835 int _; /* exists to avoid empty initializers */ 2836 enum glsl_sampler_dim image_dim; 2837 bool image_array; 2838 enum pipe_format format; 2839 enum gl_access_qualifier access; 2840}; 2841struct _nir_image_deref_atomic_umin_indices { 2842 int _; /* exists to avoid empty initializers */ 2843 enum glsl_sampler_dim image_dim; 2844 bool image_array; 2845 enum pipe_format format; 2846 enum gl_access_qualifier access; 2847}; 2848struct _nir_image_deref_atomic_xor_indices { 2849 int _; /* exists to avoid empty initializers */ 2850 enum glsl_sampler_dim image_dim; 2851 bool image_array; 2852 enum pipe_format format; 2853 enum gl_access_qualifier access; 2854}; 2855struct _nir_image_deref_format_indices { 2856 int _; /* exists to avoid empty initializers */ 2857 enum glsl_sampler_dim image_dim; 2858 bool image_array; 2859 enum pipe_format format; 2860 enum gl_access_qualifier access; 2861}; 2862struct _nir_image_deref_load_indices { 2863 int _; /* exists to avoid empty initializers */ 2864 enum glsl_sampler_dim image_dim; 2865 bool image_array; 2866 enum pipe_format format; 2867 enum gl_access_qualifier access; 2868 nir_alu_type dest_type; 2869}; 2870struct _nir_image_deref_load_param_intel_indices { 2871 int _; /* exists to avoid empty initializers */ 2872 int base; 2873}; 2874struct _nir_image_deref_load_raw_intel_indices { 2875 int _; /* exists to avoid empty initializers */ 2876 enum glsl_sampler_dim image_dim; 2877 bool image_array; 2878 enum pipe_format format; 2879 enum gl_access_qualifier access; 2880}; 2881struct _nir_image_deref_order_indices { 2882 int _; /* exists to avoid empty initializers */ 2883 enum glsl_sampler_dim image_dim; 2884 bool image_array; 2885 enum pipe_format format; 2886 enum gl_access_qualifier access; 2887}; 2888struct _nir_image_deref_samples_indices { 2889 int _; /* exists to avoid empty initializers */ 2890 enum glsl_sampler_dim image_dim; 2891 bool image_array; 2892 enum pipe_format format; 2893 enum gl_access_qualifier access; 2894}; 2895struct _nir_image_deref_size_indices { 2896 int _; /* exists to avoid empty initializers */ 2897 enum glsl_sampler_dim image_dim; 2898 bool image_array; 2899 enum pipe_format format; 2900 enum gl_access_qualifier access; 2901}; 2902struct _nir_image_deref_sparse_load_indices { 2903 int _; /* exists to avoid empty initializers */ 2904 enum glsl_sampler_dim image_dim; 2905 bool image_array; 2906 enum pipe_format format; 2907 enum gl_access_qualifier access; 2908 nir_alu_type dest_type; 2909}; 2910struct _nir_image_deref_store_indices { 2911 int _; /* exists to avoid empty initializers */ 2912 enum glsl_sampler_dim image_dim; 2913 bool image_array; 2914 enum pipe_format format; 2915 enum gl_access_qualifier access; 2916 nir_alu_type src_type; 2917}; 2918struct _nir_image_deref_store_raw_intel_indices { 2919 int _; /* exists to avoid empty initializers */ 2920 enum glsl_sampler_dim image_dim; 2921 bool image_array; 2922 enum pipe_format format; 2923 enum gl_access_qualifier access; 2924}; 2925struct _nir_image_format_indices { 2926 int _; /* exists to avoid empty initializers */ 2927 enum glsl_sampler_dim image_dim; 2928 bool image_array; 2929 enum pipe_format format; 2930 enum gl_access_qualifier access; 2931}; 2932struct _nir_image_load_indices { 2933 int _; /* exists to avoid empty initializers */ 2934 enum glsl_sampler_dim image_dim; 2935 bool image_array; 2936 enum pipe_format format; 2937 enum gl_access_qualifier access; 2938 nir_alu_type dest_type; 2939}; 2940struct _nir_image_load_raw_intel_indices { 2941 int _; /* exists to avoid empty initializers */ 2942 enum glsl_sampler_dim image_dim; 2943 bool image_array; 2944 enum pipe_format format; 2945 enum gl_access_qualifier access; 2946}; 2947struct _nir_image_order_indices { 2948 int _; /* exists to avoid empty initializers */ 2949 enum glsl_sampler_dim image_dim; 2950 bool image_array; 2951 enum pipe_format format; 2952 enum gl_access_qualifier access; 2953}; 2954struct _nir_image_samples_indices { 2955 int _; /* exists to avoid empty initializers */ 2956 enum glsl_sampler_dim image_dim; 2957 bool image_array; 2958 enum pipe_format format; 2959 enum gl_access_qualifier access; 2960}; 2961struct _nir_image_size_indices { 2962 int _; /* exists to avoid empty initializers */ 2963 enum glsl_sampler_dim image_dim; 2964 bool image_array; 2965 enum pipe_format format; 2966 enum gl_access_qualifier access; 2967}; 2968struct _nir_image_sparse_load_indices { 2969 int _; /* exists to avoid empty initializers */ 2970 enum glsl_sampler_dim image_dim; 2971 bool image_array; 2972 enum pipe_format format; 2973 enum gl_access_qualifier access; 2974 nir_alu_type dest_type; 2975}; 2976struct _nir_image_store_indices { 2977 int _; /* exists to avoid empty initializers */ 2978 enum glsl_sampler_dim image_dim; 2979 bool image_array; 2980 enum pipe_format format; 2981 enum gl_access_qualifier access; 2982 nir_alu_type src_type; 2983}; 2984struct _nir_image_store_raw_intel_indices { 2985 int _; /* exists to avoid empty initializers */ 2986 enum glsl_sampler_dim image_dim; 2987 bool image_array; 2988 enum pipe_format format; 2989 enum gl_access_qualifier access; 2990}; 2991struct _nir_inclusive_scan_indices { 2992 int _; /* exists to avoid empty initializers */ 2993 unsigned reduction_op; 2994}; 2995struct _nir_interp_deref_at_centroid_indices { 2996 int _; /* exists to avoid empty initializers */ 2997}; 2998struct _nir_interp_deref_at_offset_indices { 2999 int _; /* exists to avoid empty initializers */ 3000}; 3001struct _nir_interp_deref_at_sample_indices { 3002 int _; /* exists to avoid empty initializers */ 3003}; 3004struct _nir_interp_deref_at_vertex_indices { 3005 int _; /* exists to avoid empty initializers */ 3006}; 3007struct _nir_is_helper_invocation_indices { 3008 int _; /* exists to avoid empty initializers */ 3009}; 3010struct _nir_is_sparse_texels_resident_indices { 3011 int _; /* exists to avoid empty initializers */ 3012}; 3013struct _nir_lane_permute_16_amd_indices { 3014 int _; /* exists to avoid empty initializers */ 3015}; 3016struct _nir_last_invocation_indices { 3017 int _; /* exists to avoid empty initializers */ 3018}; 3019struct _nir_load_aa_line_width_indices { 3020 int _; /* exists to avoid empty initializers */ 3021}; 3022struct _nir_load_back_face_agx_indices { 3023 int _; /* exists to avoid empty initializers */ 3024}; 3025struct _nir_load_barycentric_at_offset_indices { 3026 int _; /* exists to avoid empty initializers */ 3027 unsigned interp_mode; 3028}; 3029struct _nir_load_barycentric_at_sample_indices { 3030 int _; /* exists to avoid empty initializers */ 3031 unsigned interp_mode; 3032}; 3033struct _nir_load_barycentric_centroid_indices { 3034 int _; /* exists to avoid empty initializers */ 3035 unsigned interp_mode; 3036}; 3037struct _nir_load_barycentric_model_indices { 3038 int _; /* exists to avoid empty initializers */ 3039 unsigned interp_mode; 3040}; 3041struct _nir_load_barycentric_pixel_indices { 3042 int _; /* exists to avoid empty initializers */ 3043 unsigned interp_mode; 3044}; 3045struct _nir_load_barycentric_sample_indices { 3046 int _; /* exists to avoid empty initializers */ 3047 unsigned interp_mode; 3048}; 3049struct _nir_load_base_global_invocation_id_indices { 3050 int _; /* exists to avoid empty initializers */ 3051}; 3052struct _nir_load_base_instance_indices { 3053 int _; /* exists to avoid empty initializers */ 3054}; 3055struct _nir_load_base_vertex_indices { 3056 int _; /* exists to avoid empty initializers */ 3057}; 3058struct _nir_load_base_workgroup_id_indices { 3059 int _; /* exists to avoid empty initializers */ 3060}; 3061struct _nir_load_blend_const_color_a_float_indices { 3062 int _; /* exists to avoid empty initializers */ 3063}; 3064struct _nir_load_blend_const_color_aaaa8888_unorm_indices { 3065 int _; /* exists to avoid empty initializers */ 3066}; 3067struct _nir_load_blend_const_color_b_float_indices { 3068 int _; /* exists to avoid empty initializers */ 3069}; 3070struct _nir_load_blend_const_color_g_float_indices { 3071 int _; /* exists to avoid empty initializers */ 3072}; 3073struct _nir_load_blend_const_color_r_float_indices { 3074 int _; /* exists to avoid empty initializers */ 3075}; 3076struct _nir_load_blend_const_color_rgba_indices { 3077 int _; /* exists to avoid empty initializers */ 3078}; 3079struct _nir_load_blend_const_color_rgba8888_unorm_indices { 3080 int _; /* exists to avoid empty initializers */ 3081}; 3082struct _nir_load_btd_dss_id_intel_indices { 3083 int _; /* exists to avoid empty initializers */ 3084}; 3085struct _nir_load_btd_global_arg_addr_intel_indices { 3086 int _; /* exists to avoid empty initializers */ 3087}; 3088struct _nir_load_btd_local_arg_addr_intel_indices { 3089 int _; /* exists to avoid empty initializers */ 3090}; 3091struct _nir_load_btd_resume_sbt_addr_intel_indices { 3092 int _; /* exists to avoid empty initializers */ 3093}; 3094struct _nir_load_btd_stack_id_intel_indices { 3095 int _; /* exists to avoid empty initializers */ 3096}; 3097struct _nir_load_buffer_amd_indices { 3098 int _; /* exists to avoid empty initializers */ 3099 int base; 3100 bool is_swizzled; 3101 bool slc_amd; 3102 nir_variable_mode memory_modes; 3103}; 3104struct _nir_load_callable_sbt_addr_intel_indices { 3105 int _; /* exists to avoid empty initializers */ 3106}; 3107struct _nir_load_callable_sbt_stride_intel_indices { 3108 int _; /* exists to avoid empty initializers */ 3109}; 3110struct _nir_load_color0_indices { 3111 int _; /* exists to avoid empty initializers */ 3112}; 3113struct _nir_load_color1_indices { 3114 int _; /* exists to avoid empty initializers */ 3115}; 3116struct _nir_load_constant_indices { 3117 int _; /* exists to avoid empty initializers */ 3118 int base; 3119 unsigned range; 3120 unsigned align_mul; 3121 unsigned align_offset; 3122}; 3123struct _nir_load_constant_base_ptr_indices { 3124 int _; /* exists to avoid empty initializers */ 3125}; 3126struct _nir_load_cull_any_enabled_amd_indices { 3127 int _; /* exists to avoid empty initializers */ 3128}; 3129struct _nir_load_cull_back_face_enabled_amd_indices { 3130 int _; /* exists to avoid empty initializers */ 3131}; 3132struct _nir_load_cull_ccw_amd_indices { 3133 int _; /* exists to avoid empty initializers */ 3134}; 3135struct _nir_load_cull_front_face_enabled_amd_indices { 3136 int _; /* exists to avoid empty initializers */ 3137}; 3138struct _nir_load_cull_small_prim_precision_amd_indices { 3139 int _; /* exists to avoid empty initializers */ 3140}; 3141struct _nir_load_cull_small_primitives_enabled_amd_indices { 3142 int _; /* exists to avoid empty initializers */ 3143}; 3144struct _nir_load_deref_indices { 3145 int _; /* exists to avoid empty initializers */ 3146 enum gl_access_qualifier access; 3147}; 3148struct _nir_load_deref_block_intel_indices { 3149 int _; /* exists to avoid empty initializers */ 3150 enum gl_access_qualifier access; 3151}; 3152struct _nir_load_desc_set_address_intel_indices { 3153 int _; /* exists to avoid empty initializers */ 3154}; 3155struct _nir_load_draw_id_indices { 3156 int _; /* exists to avoid empty initializers */ 3157}; 3158struct _nir_load_fb_layers_v3d_indices { 3159 int _; /* exists to avoid empty initializers */ 3160}; 3161struct _nir_load_first_vertex_indices { 3162 int _; /* exists to avoid empty initializers */ 3163}; 3164struct _nir_load_frag_coord_indices { 3165 int _; /* exists to avoid empty initializers */ 3166}; 3167struct _nir_load_frag_shading_rate_indices { 3168 int _; /* exists to avoid empty initializers */ 3169}; 3170struct _nir_load_front_face_indices { 3171 int _; /* exists to avoid empty initializers */ 3172}; 3173struct _nir_load_fs_input_interp_deltas_indices { 3174 int _; /* exists to avoid empty initializers */ 3175 int base; 3176 unsigned component; 3177 struct nir_io_semantics io_semantics; 3178}; 3179struct _nir_load_global_indices { 3180 int _; /* exists to avoid empty initializers */ 3181 enum gl_access_qualifier access; 3182 unsigned align_mul; 3183 unsigned align_offset; 3184}; 3185struct _nir_load_global_block_intel_indices { 3186 int _; /* exists to avoid empty initializers */ 3187 enum gl_access_qualifier access; 3188 unsigned align_mul; 3189 unsigned align_offset; 3190}; 3191struct _nir_load_global_const_block_intel_indices { 3192 int _; /* exists to avoid empty initializers */ 3193 int base; 3194}; 3195struct _nir_load_global_constant_indices { 3196 int _; /* exists to avoid empty initializers */ 3197 enum gl_access_qualifier access; 3198 unsigned align_mul; 3199 unsigned align_offset; 3200}; 3201struct _nir_load_global_constant_bounded_indices { 3202 int _; /* exists to avoid empty initializers */ 3203 enum gl_access_qualifier access; 3204 unsigned align_mul; 3205 unsigned align_offset; 3206}; 3207struct _nir_load_global_constant_offset_indices { 3208 int _; /* exists to avoid empty initializers */ 3209 enum gl_access_qualifier access; 3210 unsigned align_mul; 3211 unsigned align_offset; 3212}; 3213struct _nir_load_global_invocation_id_indices { 3214 int _; /* exists to avoid empty initializers */ 3215}; 3216struct _nir_load_global_invocation_id_zero_base_indices { 3217 int _; /* exists to avoid empty initializers */ 3218}; 3219struct _nir_load_global_invocation_index_indices { 3220 int _; /* exists to avoid empty initializers */ 3221}; 3222struct _nir_load_global_ir3_indices { 3223 int _; /* exists to avoid empty initializers */ 3224 enum gl_access_qualifier access; 3225 unsigned align_mul; 3226 unsigned align_offset; 3227}; 3228struct _nir_load_gs_header_ir3_indices { 3229 int _; /* exists to avoid empty initializers */ 3230}; 3231struct _nir_load_gs_vertex_offset_amd_indices { 3232 int _; /* exists to avoid empty initializers */ 3233 int base; 3234}; 3235struct _nir_load_helper_invocation_indices { 3236 int _; /* exists to avoid empty initializers */ 3237}; 3238struct _nir_load_hs_patch_stride_ir3_indices { 3239 int _; /* exists to avoid empty initializers */ 3240}; 3241struct _nir_load_initial_edgeflags_amd_indices { 3242 int _; /* exists to avoid empty initializers */ 3243}; 3244struct _nir_load_input_indices { 3245 int _; /* exists to avoid empty initializers */ 3246 int base; 3247 unsigned component; 3248 nir_alu_type dest_type; 3249 struct nir_io_semantics io_semantics; 3250}; 3251struct _nir_load_input_vertex_indices { 3252 int _; /* exists to avoid empty initializers */ 3253 int base; 3254 unsigned component; 3255 nir_alu_type dest_type; 3256 struct nir_io_semantics io_semantics; 3257}; 3258struct _nir_load_instance_id_indices { 3259 int _; /* exists to avoid empty initializers */ 3260}; 3261struct _nir_load_interpolated_input_indices { 3262 int _; /* exists to avoid empty initializers */ 3263 int base; 3264 unsigned component; 3265 nir_alu_type dest_type; 3266 struct nir_io_semantics io_semantics; 3267}; 3268struct _nir_load_intersection_opaque_amd_indices { 3269 int _; /* exists to avoid empty initializers */ 3270}; 3271struct _nir_load_invocation_id_indices { 3272 int _; /* exists to avoid empty initializers */ 3273}; 3274struct _nir_load_is_indexed_draw_indices { 3275 int _; /* exists to avoid empty initializers */ 3276}; 3277struct _nir_load_kernel_input_indices { 3278 int _; /* exists to avoid empty initializers */ 3279 int base; 3280 unsigned range; 3281 unsigned align_mul; 3282 unsigned align_offset; 3283}; 3284struct _nir_load_layer_id_indices { 3285 int _; /* exists to avoid empty initializers */ 3286}; 3287struct _nir_load_leaf_opaque_intel_indices { 3288 int _; /* exists to avoid empty initializers */ 3289}; 3290struct _nir_load_leaf_procedural_intel_indices { 3291 int _; /* exists to avoid empty initializers */ 3292}; 3293struct _nir_load_line_coord_indices { 3294 int _; /* exists to avoid empty initializers */ 3295}; 3296struct _nir_load_line_width_indices { 3297 int _; /* exists to avoid empty initializers */ 3298}; 3299struct _nir_load_local_invocation_id_indices { 3300 int _; /* exists to avoid empty initializers */ 3301}; 3302struct _nir_load_local_invocation_index_indices { 3303 int _; /* exists to avoid empty initializers */ 3304}; 3305struct _nir_load_local_shared_r600_indices { 3306 int _; /* exists to avoid empty initializers */ 3307}; 3308struct _nir_load_num_subgroups_indices { 3309 int _; /* exists to avoid empty initializers */ 3310}; 3311struct _nir_load_num_workgroups_indices { 3312 int _; /* exists to avoid empty initializers */ 3313}; 3314struct _nir_load_output_indices { 3315 int _; /* exists to avoid empty initializers */ 3316 int base; 3317 unsigned component; 3318 nir_alu_type dest_type; 3319 struct nir_io_semantics io_semantics; 3320}; 3321struct _nir_load_packed_passthrough_primitive_amd_indices { 3322 int _; /* exists to avoid empty initializers */ 3323}; 3324struct _nir_load_param_indices { 3325 int _; /* exists to avoid empty initializers */ 3326 unsigned param_idx; 3327}; 3328struct _nir_load_patch_vertices_in_indices { 3329 int _; /* exists to avoid empty initializers */ 3330}; 3331struct _nir_load_per_primitive_output_indices { 3332 int _; /* exists to avoid empty initializers */ 3333 int base; 3334 unsigned component; 3335 nir_alu_type dest_type; 3336 struct nir_io_semantics io_semantics; 3337}; 3338struct _nir_load_per_vertex_input_indices { 3339 int _; /* exists to avoid empty initializers */ 3340 int base; 3341 unsigned component; 3342 nir_alu_type dest_type; 3343 struct nir_io_semantics io_semantics; 3344}; 3345struct _nir_load_per_vertex_output_indices { 3346 int _; /* exists to avoid empty initializers */ 3347 int base; 3348 unsigned component; 3349 nir_alu_type dest_type; 3350 struct nir_io_semantics io_semantics; 3351}; 3352struct _nir_load_point_coord_indices { 3353 int _; /* exists to avoid empty initializers */ 3354}; 3355struct _nir_load_primitive_id_indices { 3356 int _; /* exists to avoid empty initializers */ 3357}; 3358struct _nir_load_primitive_location_ir3_indices { 3359 int _; /* exists to avoid empty initializers */ 3360 unsigned driver_location; 3361}; 3362struct _nir_load_printf_buffer_address_indices { 3363 int _; /* exists to avoid empty initializers */ 3364}; 3365struct _nir_load_ptr_dxil_indices { 3366 int _; /* exists to avoid empty initializers */ 3367}; 3368struct _nir_load_push_constant_indices { 3369 int _; /* exists to avoid empty initializers */ 3370 int base; 3371 unsigned range; 3372}; 3373struct _nir_load_raw_output_pan_indices { 3374 int _; /* exists to avoid empty initializers */ 3375 int base; 3376}; 3377struct _nir_load_ray_base_mem_addr_intel_indices { 3378 int _; /* exists to avoid empty initializers */ 3379}; 3380struct _nir_load_ray_flags_indices { 3381 int _; /* exists to avoid empty initializers */ 3382}; 3383struct _nir_load_ray_geometry_index_indices { 3384 int _; /* exists to avoid empty initializers */ 3385}; 3386struct _nir_load_ray_hit_kind_indices { 3387 int _; /* exists to avoid empty initializers */ 3388}; 3389struct _nir_load_ray_hit_sbt_addr_intel_indices { 3390 int _; /* exists to avoid empty initializers */ 3391}; 3392struct _nir_load_ray_hit_sbt_stride_intel_indices { 3393 int _; /* exists to avoid empty initializers */ 3394}; 3395struct _nir_load_ray_hw_stack_size_intel_indices { 3396 int _; /* exists to avoid empty initializers */ 3397}; 3398struct _nir_load_ray_instance_custom_index_indices { 3399 int _; /* exists to avoid empty initializers */ 3400}; 3401struct _nir_load_ray_launch_id_indices { 3402 int _; /* exists to avoid empty initializers */ 3403}; 3404struct _nir_load_ray_launch_size_indices { 3405 int _; /* exists to avoid empty initializers */ 3406}; 3407struct _nir_load_ray_miss_sbt_addr_intel_indices { 3408 int _; /* exists to avoid empty initializers */ 3409}; 3410struct _nir_load_ray_miss_sbt_stride_intel_indices { 3411 int _; /* exists to avoid empty initializers */ 3412}; 3413struct _nir_load_ray_num_dss_rt_stacks_intel_indices { 3414 int _; /* exists to avoid empty initializers */ 3415}; 3416struct _nir_load_ray_object_direction_indices { 3417 int _; /* exists to avoid empty initializers */ 3418}; 3419struct _nir_load_ray_object_origin_indices { 3420 int _; /* exists to avoid empty initializers */ 3421}; 3422struct _nir_load_ray_object_to_world_indices { 3423 int _; /* exists to avoid empty initializers */ 3424 unsigned column; 3425}; 3426struct _nir_load_ray_sw_stack_size_intel_indices { 3427 int _; /* exists to avoid empty initializers */ 3428}; 3429struct _nir_load_ray_t_max_indices { 3430 int _; /* exists to avoid empty initializers */ 3431}; 3432struct _nir_load_ray_t_min_indices { 3433 int _; /* exists to avoid empty initializers */ 3434}; 3435struct _nir_load_ray_world_direction_indices { 3436 int _; /* exists to avoid empty initializers */ 3437}; 3438struct _nir_load_ray_world_origin_indices { 3439 int _; /* exists to avoid empty initializers */ 3440}; 3441struct _nir_load_ray_world_to_object_indices { 3442 int _; /* exists to avoid empty initializers */ 3443 unsigned column; 3444}; 3445struct _nir_load_rel_patch_id_ir3_indices { 3446 int _; /* exists to avoid empty initializers */ 3447}; 3448struct _nir_load_reloc_const_intel_indices { 3449 int _; /* exists to avoid empty initializers */ 3450 unsigned param_idx; 3451}; 3452struct _nir_load_ring_es2gs_offset_amd_indices { 3453 int _; /* exists to avoid empty initializers */ 3454}; 3455struct _nir_load_ring_esgs_amd_indices { 3456 int _; /* exists to avoid empty initializers */ 3457}; 3458struct _nir_load_ring_tess_factors_amd_indices { 3459 int _; /* exists to avoid empty initializers */ 3460}; 3461struct _nir_load_ring_tess_factors_offset_amd_indices { 3462 int _; /* exists to avoid empty initializers */ 3463}; 3464struct _nir_load_ring_tess_offchip_amd_indices { 3465 int _; /* exists to avoid empty initializers */ 3466}; 3467struct _nir_load_ring_tess_offchip_offset_amd_indices { 3468 int _; /* exists to avoid empty initializers */ 3469}; 3470struct _nir_load_rt_arg_scratch_offset_amd_indices { 3471 int _; /* exists to avoid empty initializers */ 3472}; 3473struct _nir_load_sample_id_indices { 3474 int _; /* exists to avoid empty initializers */ 3475}; 3476struct _nir_load_sample_id_no_per_sample_indices { 3477 int _; /* exists to avoid empty initializers */ 3478}; 3479struct _nir_load_sample_mask_in_indices { 3480 int _; /* exists to avoid empty initializers */ 3481}; 3482struct _nir_load_sample_pos_indices { 3483 int _; /* exists to avoid empty initializers */ 3484}; 3485struct _nir_load_sample_pos_from_id_indices { 3486 int _; /* exists to avoid empty initializers */ 3487}; 3488struct _nir_load_sample_positions_pan_indices { 3489 int _; /* exists to avoid empty initializers */ 3490}; 3491struct _nir_load_sampler_lod_parameters_pan_indices { 3492 int _; /* exists to avoid empty initializers */ 3493}; 3494struct _nir_load_sbt_amd_indices { 3495 int _; /* exists to avoid empty initializers */ 3496 unsigned binding; 3497}; 3498struct _nir_load_scratch_indices { 3499 int _; /* exists to avoid empty initializers */ 3500 unsigned align_mul; 3501 unsigned align_offset; 3502}; 3503struct _nir_load_scratch_base_ptr_indices { 3504 int _; /* exists to avoid empty initializers */ 3505 int base; 3506}; 3507struct _nir_load_scratch_dxil_indices { 3508 int _; /* exists to avoid empty initializers */ 3509}; 3510struct _nir_load_shader_query_enabled_amd_indices { 3511 int _; /* exists to avoid empty initializers */ 3512}; 3513struct _nir_load_shader_record_ptr_indices { 3514 int _; /* exists to avoid empty initializers */ 3515}; 3516struct _nir_load_shared_indices { 3517 int _; /* exists to avoid empty initializers */ 3518 int base; 3519 unsigned align_mul; 3520 unsigned align_offset; 3521}; 3522struct _nir_load_shared_base_ptr_indices { 3523 int _; /* exists to avoid empty initializers */ 3524}; 3525struct _nir_load_shared_block_intel_indices { 3526 int _; /* exists to avoid empty initializers */ 3527 int base; 3528 unsigned align_mul; 3529 unsigned align_offset; 3530}; 3531struct _nir_load_shared_dxil_indices { 3532 int _; /* exists to avoid empty initializers */ 3533}; 3534struct _nir_load_shared_ir3_indices { 3535 int _; /* exists to avoid empty initializers */ 3536 int base; 3537 unsigned align_mul; 3538 unsigned align_offset; 3539}; 3540struct _nir_load_simd_width_intel_indices { 3541 int _; /* exists to avoid empty initializers */ 3542}; 3543struct _nir_load_size_ir3_indices { 3544 int _; /* exists to avoid empty initializers */ 3545}; 3546struct _nir_load_ssbo_indices { 3547 int _; /* exists to avoid empty initializers */ 3548 enum gl_access_qualifier access; 3549 unsigned align_mul; 3550 unsigned align_offset; 3551}; 3552struct _nir_load_ssbo_address_indices { 3553 int _; /* exists to avoid empty initializers */ 3554}; 3555struct _nir_load_ssbo_block_intel_indices { 3556 int _; /* exists to avoid empty initializers */ 3557 enum gl_access_qualifier access; 3558 unsigned align_mul; 3559 unsigned align_offset; 3560}; 3561struct _nir_load_ssbo_ir3_indices { 3562 int _; /* exists to avoid empty initializers */ 3563 enum gl_access_qualifier access; 3564 unsigned align_mul; 3565 unsigned align_offset; 3566}; 3567struct _nir_load_subgroup_eq_mask_indices { 3568 int _; /* exists to avoid empty initializers */ 3569}; 3570struct _nir_load_subgroup_ge_mask_indices { 3571 int _; /* exists to avoid empty initializers */ 3572}; 3573struct _nir_load_subgroup_gt_mask_indices { 3574 int _; /* exists to avoid empty initializers */ 3575}; 3576struct _nir_load_subgroup_id_indices { 3577 int _; /* exists to avoid empty initializers */ 3578}; 3579struct _nir_load_subgroup_id_shift_ir3_indices { 3580 int _; /* exists to avoid empty initializers */ 3581}; 3582struct _nir_load_subgroup_invocation_indices { 3583 int _; /* exists to avoid empty initializers */ 3584}; 3585struct _nir_load_subgroup_le_mask_indices { 3586 int _; /* exists to avoid empty initializers */ 3587}; 3588struct _nir_load_subgroup_lt_mask_indices { 3589 int _; /* exists to avoid empty initializers */ 3590}; 3591struct _nir_load_subgroup_size_indices { 3592 int _; /* exists to avoid empty initializers */ 3593}; 3594struct _nir_load_tcs_header_ir3_indices { 3595 int _; /* exists to avoid empty initializers */ 3596}; 3597struct _nir_load_tcs_in_param_base_r600_indices { 3598 int _; /* exists to avoid empty initializers */ 3599}; 3600struct _nir_load_tcs_num_patches_amd_indices { 3601 int _; /* exists to avoid empty initializers */ 3602}; 3603struct _nir_load_tcs_out_param_base_r600_indices { 3604 int _; /* exists to avoid empty initializers */ 3605}; 3606struct _nir_load_tcs_rel_patch_id_r600_indices { 3607 int _; /* exists to avoid empty initializers */ 3608}; 3609struct _nir_load_tcs_tess_factor_base_r600_indices { 3610 int _; /* exists to avoid empty initializers */ 3611}; 3612struct _nir_load_tess_coord_indices { 3613 int _; /* exists to avoid empty initializers */ 3614}; 3615struct _nir_load_tess_coord_r600_indices { 3616 int _; /* exists to avoid empty initializers */ 3617}; 3618struct _nir_load_tess_factor_base_ir3_indices { 3619 int _; /* exists to avoid empty initializers */ 3620}; 3621struct _nir_load_tess_level_inner_indices { 3622 int _; /* exists to avoid empty initializers */ 3623}; 3624struct _nir_load_tess_level_inner_default_indices { 3625 int _; /* exists to avoid empty initializers */ 3626}; 3627struct _nir_load_tess_level_outer_indices { 3628 int _; /* exists to avoid empty initializers */ 3629}; 3630struct _nir_load_tess_level_outer_default_indices { 3631 int _; /* exists to avoid empty initializers */ 3632}; 3633struct _nir_load_tess_param_base_ir3_indices { 3634 int _; /* exists to avoid empty initializers */ 3635}; 3636struct _nir_load_tess_rel_patch_id_amd_indices { 3637 int _; /* exists to avoid empty initializers */ 3638}; 3639struct _nir_load_texture_rect_scaling_indices { 3640 int _; /* exists to avoid empty initializers */ 3641}; 3642struct _nir_load_tlb_color_v3d_indices { 3643 int _; /* exists to avoid empty initializers */ 3644 int base; 3645 unsigned component; 3646}; 3647struct _nir_load_ubo_indices { 3648 int _; /* exists to avoid empty initializers */ 3649 enum gl_access_qualifier access; 3650 unsigned align_mul; 3651 unsigned align_offset; 3652 unsigned range_base; 3653 unsigned range; 3654}; 3655struct _nir_load_ubo_dxil_indices { 3656 int _; /* exists to avoid empty initializers */ 3657}; 3658struct _nir_load_ubo_vec4_indices { 3659 int _; /* exists to avoid empty initializers */ 3660 enum gl_access_qualifier access; 3661 unsigned component; 3662}; 3663struct _nir_load_uniform_indices { 3664 int _; /* exists to avoid empty initializers */ 3665 int base; 3666 unsigned range; 3667 nir_alu_type dest_type; 3668}; 3669struct _nir_load_user_clip_plane_indices { 3670 int _; /* exists to avoid empty initializers */ 3671 unsigned ucp_id; 3672}; 3673struct _nir_load_user_data_amd_indices { 3674 int _; /* exists to avoid empty initializers */ 3675}; 3676struct _nir_load_vertex_id_indices { 3677 int _; /* exists to avoid empty initializers */ 3678}; 3679struct _nir_load_vertex_id_zero_base_indices { 3680 int _; /* exists to avoid empty initializers */ 3681}; 3682struct _nir_load_view_index_indices { 3683 int _; /* exists to avoid empty initializers */ 3684}; 3685struct _nir_load_viewport_offset_indices { 3686 int _; /* exists to avoid empty initializers */ 3687}; 3688struct _nir_load_viewport_scale_indices { 3689 int _; /* exists to avoid empty initializers */ 3690}; 3691struct _nir_load_viewport_x_offset_indices { 3692 int _; /* exists to avoid empty initializers */ 3693}; 3694struct _nir_load_viewport_x_scale_indices { 3695 int _; /* exists to avoid empty initializers */ 3696}; 3697struct _nir_load_viewport_y_offset_indices { 3698 int _; /* exists to avoid empty initializers */ 3699}; 3700struct _nir_load_viewport_y_scale_indices { 3701 int _; /* exists to avoid empty initializers */ 3702}; 3703struct _nir_load_viewport_z_offset_indices { 3704 int _; /* exists to avoid empty initializers */ 3705}; 3706struct _nir_load_viewport_z_scale_indices { 3707 int _; /* exists to avoid empty initializers */ 3708}; 3709struct _nir_load_vs_primitive_stride_ir3_indices { 3710 int _; /* exists to avoid empty initializers */ 3711}; 3712struct _nir_load_vs_vertex_stride_ir3_indices { 3713 int _; /* exists to avoid empty initializers */ 3714}; 3715struct _nir_load_vulkan_descriptor_indices { 3716 int _; /* exists to avoid empty initializers */ 3717 unsigned desc_type; 3718}; 3719struct _nir_load_work_dim_indices { 3720 int _; /* exists to avoid empty initializers */ 3721}; 3722struct _nir_load_workgroup_id_indices { 3723 int _; /* exists to avoid empty initializers */ 3724}; 3725struct _nir_load_workgroup_id_zero_base_indices { 3726 int _; /* exists to avoid empty initializers */ 3727}; 3728struct _nir_load_workgroup_num_input_primitives_amd_indices { 3729 int _; /* exists to avoid empty initializers */ 3730}; 3731struct _nir_load_workgroup_num_input_vertices_amd_indices { 3732 int _; /* exists to avoid empty initializers */ 3733}; 3734struct _nir_load_workgroup_size_indices { 3735 int _; /* exists to avoid empty initializers */ 3736}; 3737struct _nir_masked_swizzle_amd_indices { 3738 int _; /* exists to avoid empty initializers */ 3739 unsigned swizzle_mask; 3740}; 3741struct _nir_mbcnt_amd_indices { 3742 int _; /* exists to avoid empty initializers */ 3743}; 3744struct _nir_memcpy_deref_indices { 3745 int _; /* exists to avoid empty initializers */ 3746 enum gl_access_qualifier dst_access; 3747 enum gl_access_qualifier src_access; 3748}; 3749struct _nir_memory_barrier_indices { 3750 int _; /* exists to avoid empty initializers */ 3751}; 3752struct _nir_memory_barrier_atomic_counter_indices { 3753 int _; /* exists to avoid empty initializers */ 3754}; 3755struct _nir_memory_barrier_buffer_indices { 3756 int _; /* exists to avoid empty initializers */ 3757}; 3758struct _nir_memory_barrier_image_indices { 3759 int _; /* exists to avoid empty initializers */ 3760}; 3761struct _nir_memory_barrier_shared_indices { 3762 int _; /* exists to avoid empty initializers */ 3763}; 3764struct _nir_memory_barrier_tcs_patch_indices { 3765 int _; /* exists to avoid empty initializers */ 3766}; 3767struct _nir_nop_indices { 3768 int _; /* exists to avoid empty initializers */ 3769}; 3770struct _nir_overwrite_tes_arguments_amd_indices { 3771 int _; /* exists to avoid empty initializers */ 3772}; 3773struct _nir_overwrite_vs_arguments_amd_indices { 3774 int _; /* exists to avoid empty initializers */ 3775}; 3776struct _nir_printf_indices { 3777 int _; /* exists to avoid empty initializers */ 3778}; 3779struct _nir_quad_broadcast_indices { 3780 int _; /* exists to avoid empty initializers */ 3781}; 3782struct _nir_quad_swap_diagonal_indices { 3783 int _; /* exists to avoid empty initializers */ 3784}; 3785struct _nir_quad_swap_horizontal_indices { 3786 int _; /* exists to avoid empty initializers */ 3787}; 3788struct _nir_quad_swap_vertical_indices { 3789 int _; /* exists to avoid empty initializers */ 3790}; 3791struct _nir_quad_swizzle_amd_indices { 3792 int _; /* exists to avoid empty initializers */ 3793 unsigned swizzle_mask; 3794}; 3795struct _nir_read_first_invocation_indices { 3796 int _; /* exists to avoid empty initializers */ 3797}; 3798struct _nir_read_invocation_indices { 3799 int _; /* exists to avoid empty initializers */ 3800}; 3801struct _nir_read_invocation_cond_ir3_indices { 3802 int _; /* exists to avoid empty initializers */ 3803}; 3804struct _nir_reduce_indices { 3805 int _; /* exists to avoid empty initializers */ 3806 unsigned reduction_op; 3807 unsigned cluster_size; 3808}; 3809struct _nir_report_ray_intersection_indices { 3810 int _; /* exists to avoid empty initializers */ 3811}; 3812struct _nir_rt_execute_callable_indices { 3813 int _; /* exists to avoid empty initializers */ 3814 unsigned call_idx; 3815 unsigned stack_size; 3816}; 3817struct _nir_rt_resume_indices { 3818 int _; /* exists to avoid empty initializers */ 3819 unsigned call_idx; 3820 unsigned stack_size; 3821}; 3822struct _nir_rt_return_amd_indices { 3823 int _; /* exists to avoid empty initializers */ 3824}; 3825struct _nir_rt_trace_ray_indices { 3826 int _; /* exists to avoid empty initializers */ 3827 unsigned call_idx; 3828 unsigned stack_size; 3829}; 3830struct _nir_scoped_barrier_indices { 3831 int _; /* exists to avoid empty initializers */ 3832 nir_scope execution_scope; 3833 nir_scope memory_scope; 3834 nir_memory_semantics memory_semantics; 3835 nir_variable_mode memory_modes; 3836}; 3837struct _nir_set_vertex_and_primitive_count_indices { 3838 int _; /* exists to avoid empty initializers */ 3839 unsigned stream_id; 3840}; 3841struct _nir_shader_clock_indices { 3842 int _; /* exists to avoid empty initializers */ 3843 nir_scope memory_scope; 3844}; 3845struct _nir_shared_atomic_add_indices { 3846 int _; /* exists to avoid empty initializers */ 3847 int base; 3848}; 3849struct _nir_shared_atomic_add_dxil_indices { 3850 int _; /* exists to avoid empty initializers */ 3851}; 3852struct _nir_shared_atomic_and_indices { 3853 int _; /* exists to avoid empty initializers */ 3854 int base; 3855}; 3856struct _nir_shared_atomic_and_dxil_indices { 3857 int _; /* exists to avoid empty initializers */ 3858}; 3859struct _nir_shared_atomic_comp_swap_indices { 3860 int _; /* exists to avoid empty initializers */ 3861 int base; 3862}; 3863struct _nir_shared_atomic_comp_swap_dxil_indices { 3864 int _; /* exists to avoid empty initializers */ 3865}; 3866struct _nir_shared_atomic_exchange_indices { 3867 int _; /* exists to avoid empty initializers */ 3868 int base; 3869}; 3870struct _nir_shared_atomic_exchange_dxil_indices { 3871 int _; /* exists to avoid empty initializers */ 3872}; 3873struct _nir_shared_atomic_fadd_indices { 3874 int _; /* exists to avoid empty initializers */ 3875 int base; 3876}; 3877struct _nir_shared_atomic_fcomp_swap_indices { 3878 int _; /* exists to avoid empty initializers */ 3879 int base; 3880}; 3881struct _nir_shared_atomic_fmax_indices { 3882 int _; /* exists to avoid empty initializers */ 3883 int base; 3884}; 3885struct _nir_shared_atomic_fmin_indices { 3886 int _; /* exists to avoid empty initializers */ 3887 int base; 3888}; 3889struct _nir_shared_atomic_imax_indices { 3890 int _; /* exists to avoid empty initializers */ 3891 int base; 3892}; 3893struct _nir_shared_atomic_imax_dxil_indices { 3894 int _; /* exists to avoid empty initializers */ 3895}; 3896struct _nir_shared_atomic_imin_indices { 3897 int _; /* exists to avoid empty initializers */ 3898 int base; 3899}; 3900struct _nir_shared_atomic_imin_dxil_indices { 3901 int _; /* exists to avoid empty initializers */ 3902}; 3903struct _nir_shared_atomic_or_indices { 3904 int _; /* exists to avoid empty initializers */ 3905 int base; 3906}; 3907struct _nir_shared_atomic_or_dxil_indices { 3908 int _; /* exists to avoid empty initializers */ 3909}; 3910struct _nir_shared_atomic_umax_indices { 3911 int _; /* exists to avoid empty initializers */ 3912 int base; 3913}; 3914struct _nir_shared_atomic_umax_dxil_indices { 3915 int _; /* exists to avoid empty initializers */ 3916}; 3917struct _nir_shared_atomic_umin_indices { 3918 int _; /* exists to avoid empty initializers */ 3919 int base; 3920}; 3921struct _nir_shared_atomic_umin_dxil_indices { 3922 int _; /* exists to avoid empty initializers */ 3923}; 3924struct _nir_shared_atomic_xor_indices { 3925 int _; /* exists to avoid empty initializers */ 3926 int base; 3927}; 3928struct _nir_shared_atomic_xor_dxil_indices { 3929 int _; /* exists to avoid empty initializers */ 3930}; 3931struct _nir_shuffle_indices { 3932 int _; /* exists to avoid empty initializers */ 3933}; 3934struct _nir_shuffle_down_indices { 3935 int _; /* exists to avoid empty initializers */ 3936}; 3937struct _nir_shuffle_up_indices { 3938 int _; /* exists to avoid empty initializers */ 3939}; 3940struct _nir_shuffle_xor_indices { 3941 int _; /* exists to avoid empty initializers */ 3942}; 3943struct _nir_sparse_residency_code_and_indices { 3944 int _; /* exists to avoid empty initializers */ 3945}; 3946struct _nir_ssbo_atomic_add_indices { 3947 int _; /* exists to avoid empty initializers */ 3948 enum gl_access_qualifier access; 3949}; 3950struct _nir_ssbo_atomic_add_ir3_indices { 3951 int _; /* exists to avoid empty initializers */ 3952 enum gl_access_qualifier access; 3953}; 3954struct _nir_ssbo_atomic_and_indices { 3955 int _; /* exists to avoid empty initializers */ 3956 enum gl_access_qualifier access; 3957}; 3958struct _nir_ssbo_atomic_and_ir3_indices { 3959 int _; /* exists to avoid empty initializers */ 3960 enum gl_access_qualifier access; 3961}; 3962struct _nir_ssbo_atomic_comp_swap_indices { 3963 int _; /* exists to avoid empty initializers */ 3964 enum gl_access_qualifier access; 3965}; 3966struct _nir_ssbo_atomic_comp_swap_ir3_indices { 3967 int _; /* exists to avoid empty initializers */ 3968 enum gl_access_qualifier access; 3969}; 3970struct _nir_ssbo_atomic_exchange_indices { 3971 int _; /* exists to avoid empty initializers */ 3972 enum gl_access_qualifier access; 3973}; 3974struct _nir_ssbo_atomic_exchange_ir3_indices { 3975 int _; /* exists to avoid empty initializers */ 3976 enum gl_access_qualifier access; 3977}; 3978struct _nir_ssbo_atomic_fadd_indices { 3979 int _; /* exists to avoid empty initializers */ 3980 enum gl_access_qualifier access; 3981}; 3982struct _nir_ssbo_atomic_fcomp_swap_indices { 3983 int _; /* exists to avoid empty initializers */ 3984 enum gl_access_qualifier access; 3985}; 3986struct _nir_ssbo_atomic_fmax_indices { 3987 int _; /* exists to avoid empty initializers */ 3988 enum gl_access_qualifier access; 3989}; 3990struct _nir_ssbo_atomic_fmin_indices { 3991 int _; /* exists to avoid empty initializers */ 3992 enum gl_access_qualifier access; 3993}; 3994struct _nir_ssbo_atomic_imax_indices { 3995 int _; /* exists to avoid empty initializers */ 3996 enum gl_access_qualifier access; 3997}; 3998struct _nir_ssbo_atomic_imax_ir3_indices { 3999 int _; /* exists to avoid empty initializers */ 4000 enum gl_access_qualifier access; 4001}; 4002struct _nir_ssbo_atomic_imin_indices { 4003 int _; /* exists to avoid empty initializers */ 4004 enum gl_access_qualifier access; 4005}; 4006struct _nir_ssbo_atomic_imin_ir3_indices { 4007 int _; /* exists to avoid empty initializers */ 4008 enum gl_access_qualifier access; 4009}; 4010struct _nir_ssbo_atomic_or_indices { 4011 int _; /* exists to avoid empty initializers */ 4012 enum gl_access_qualifier access; 4013}; 4014struct _nir_ssbo_atomic_or_ir3_indices { 4015 int _; /* exists to avoid empty initializers */ 4016 enum gl_access_qualifier access; 4017}; 4018struct _nir_ssbo_atomic_umax_indices { 4019 int _; /* exists to avoid empty initializers */ 4020 enum gl_access_qualifier access; 4021}; 4022struct _nir_ssbo_atomic_umax_ir3_indices { 4023 int _; /* exists to avoid empty initializers */ 4024 enum gl_access_qualifier access; 4025}; 4026struct _nir_ssbo_atomic_umin_indices { 4027 int _; /* exists to avoid empty initializers */ 4028 enum gl_access_qualifier access; 4029}; 4030struct _nir_ssbo_atomic_umin_ir3_indices { 4031 int _; /* exists to avoid empty initializers */ 4032 enum gl_access_qualifier access; 4033}; 4034struct _nir_ssbo_atomic_xor_indices { 4035 int _; /* exists to avoid empty initializers */ 4036 enum gl_access_qualifier access; 4037}; 4038struct _nir_ssbo_atomic_xor_ir3_indices { 4039 int _; /* exists to avoid empty initializers */ 4040 enum gl_access_qualifier access; 4041}; 4042struct _nir_store_buffer_amd_indices { 4043 int _; /* exists to avoid empty initializers */ 4044 int base; 4045 unsigned write_mask; 4046 bool is_swizzled; 4047 bool slc_amd; 4048 nir_variable_mode memory_modes; 4049}; 4050struct _nir_store_combined_output_pan_indices { 4051 int _; /* exists to avoid empty initializers */ 4052 int base; 4053 unsigned component; 4054 nir_alu_type src_type; 4055}; 4056struct _nir_store_deref_indices { 4057 int _; /* exists to avoid empty initializers */ 4058 unsigned write_mask; 4059 enum gl_access_qualifier access; 4060}; 4061struct _nir_store_deref_block_intel_indices { 4062 int _; /* exists to avoid empty initializers */ 4063 unsigned write_mask; 4064 enum gl_access_qualifier access; 4065}; 4066struct _nir_store_global_indices { 4067 int _; /* exists to avoid empty initializers */ 4068 unsigned write_mask; 4069 enum gl_access_qualifier access; 4070 unsigned align_mul; 4071 unsigned align_offset; 4072}; 4073struct _nir_store_global_block_intel_indices { 4074 int _; /* exists to avoid empty initializers */ 4075 unsigned write_mask; 4076 enum gl_access_qualifier access; 4077 unsigned align_mul; 4078 unsigned align_offset; 4079}; 4080struct _nir_store_global_ir3_indices { 4081 int _; /* exists to avoid empty initializers */ 4082 enum gl_access_qualifier access; 4083 unsigned align_mul; 4084 unsigned align_offset; 4085}; 4086struct _nir_store_local_shared_r600_indices { 4087 int _; /* exists to avoid empty initializers */ 4088 unsigned write_mask; 4089}; 4090struct _nir_store_output_indices { 4091 int _; /* exists to avoid empty initializers */ 4092 int base; 4093 unsigned write_mask; 4094 unsigned component; 4095 nir_alu_type src_type; 4096 struct nir_io_semantics io_semantics; 4097}; 4098struct _nir_store_per_primitive_output_indices { 4099 int _; /* exists to avoid empty initializers */ 4100 int base; 4101 unsigned write_mask; 4102 unsigned component; 4103 nir_alu_type src_type; 4104 struct nir_io_semantics io_semantics; 4105}; 4106struct _nir_store_per_vertex_output_indices { 4107 int _; /* exists to avoid empty initializers */ 4108 int base; 4109 unsigned write_mask; 4110 unsigned component; 4111 nir_alu_type src_type; 4112 struct nir_io_semantics io_semantics; 4113}; 4114struct _nir_store_raw_output_pan_indices { 4115 int _; /* exists to avoid empty initializers */ 4116}; 4117struct _nir_store_scratch_indices { 4118 int _; /* exists to avoid empty initializers */ 4119 unsigned align_mul; 4120 unsigned align_offset; 4121 unsigned write_mask; 4122}; 4123struct _nir_store_scratch_dxil_indices { 4124 int _; /* exists to avoid empty initializers */ 4125}; 4126struct _nir_store_shared_indices { 4127 int _; /* exists to avoid empty initializers */ 4128 int base; 4129 unsigned write_mask; 4130 unsigned align_mul; 4131 unsigned align_offset; 4132}; 4133struct _nir_store_shared_block_intel_indices { 4134 int _; /* exists to avoid empty initializers */ 4135 int base; 4136 unsigned write_mask; 4137 unsigned align_mul; 4138 unsigned align_offset; 4139}; 4140struct _nir_store_shared_dxil_indices { 4141 int _; /* exists to avoid empty initializers */ 4142}; 4143struct _nir_store_shared_ir3_indices { 4144 int _; /* exists to avoid empty initializers */ 4145 int base; 4146 unsigned align_mul; 4147 unsigned align_offset; 4148}; 4149struct _nir_store_shared_masked_dxil_indices { 4150 int _; /* exists to avoid empty initializers */ 4151}; 4152struct _nir_store_ssbo_indices { 4153 int _; /* exists to avoid empty initializers */ 4154 unsigned write_mask; 4155 enum gl_access_qualifier access; 4156 unsigned align_mul; 4157 unsigned align_offset; 4158}; 4159struct _nir_store_ssbo_block_intel_indices { 4160 int _; /* exists to avoid empty initializers */ 4161 unsigned write_mask; 4162 enum gl_access_qualifier access; 4163 unsigned align_mul; 4164 unsigned align_offset; 4165}; 4166struct _nir_store_ssbo_ir3_indices { 4167 int _; /* exists to avoid empty initializers */ 4168 unsigned write_mask; 4169 enum gl_access_qualifier access; 4170 unsigned align_mul; 4171 unsigned align_offset; 4172}; 4173struct _nir_store_ssbo_masked_dxil_indices { 4174 int _; /* exists to avoid empty initializers */ 4175}; 4176struct _nir_store_tf_r600_indices { 4177 int _; /* exists to avoid empty initializers */ 4178}; 4179struct _nir_store_tlb_sample_color_v3d_indices { 4180 int _; /* exists to avoid empty initializers */ 4181 int base; 4182 unsigned component; 4183 nir_alu_type src_type; 4184}; 4185struct _nir_terminate_indices { 4186 int _; /* exists to avoid empty initializers */ 4187}; 4188struct _nir_terminate_if_indices { 4189 int _; /* exists to avoid empty initializers */ 4190}; 4191struct _nir_terminate_ray_indices { 4192 int _; /* exists to avoid empty initializers */ 4193}; 4194struct _nir_trace_ray_indices { 4195 int _; /* exists to avoid empty initializers */ 4196}; 4197struct _nir_trace_ray_commit_intel_indices { 4198 int _; /* exists to avoid empty initializers */ 4199}; 4200struct _nir_trace_ray_continue_intel_indices { 4201 int _; /* exists to avoid empty initializers */ 4202}; 4203struct _nir_trace_ray_initial_intel_indices { 4204 int _; /* exists to avoid empty initializers */ 4205}; 4206struct _nir_vote_all_indices { 4207 int _; /* exists to avoid empty initializers */ 4208}; 4209struct _nir_vote_any_indices { 4210 int _; /* exists to avoid empty initializers */ 4211}; 4212struct _nir_vote_feq_indices { 4213 int _; /* exists to avoid empty initializers */ 4214}; 4215struct _nir_vote_ieq_indices { 4216 int _; /* exists to avoid empty initializers */ 4217}; 4218struct _nir_vulkan_resource_index_indices { 4219 int _; /* exists to avoid empty initializers */ 4220 unsigned desc_set; 4221 unsigned binding; 4222 unsigned desc_type; 4223}; 4224struct _nir_vulkan_resource_reindex_indices { 4225 int _; /* exists to avoid empty initializers */ 4226 unsigned desc_type; 4227}; 4228struct _nir_write_invocation_amd_indices { 4229 int _; /* exists to avoid empty initializers */ 4230}; 4231 4232 4233 4234static inline nir_intrinsic_instr * 4235_nir_build_accept_ray_intersection(nir_builder *build) 4236{ 4237 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 4238 build->shader, nir_intrinsic_accept_ray_intersection); 4239 4240 4241 nir_builder_instr_insert(build, &intrin->instr); 4242 return intrin; 4243} 4244static inline nir_ssa_def * 4245_nir_build_addr_mode_is(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, struct _nir_addr_mode_is_indices indices) 4246{ 4247 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 4248 build->shader, nir_intrinsic_addr_mode_is); 4249 4250 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 4251 intrin->src[0] = nir_src_for_ssa(src0); 4252 nir_intrinsic_set_memory_modes(intrin, indices.memory_modes); 4253 4254 nir_builder_instr_insert(build, &intrin->instr); 4255 return &intrin->dest.ssa; 4256} 4257static inline nir_intrinsic_instr * 4258_nir_build_alloc_vertices_and_primitives_amd(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 4259{ 4260 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 4261 build->shader, nir_intrinsic_alloc_vertices_and_primitives_amd); 4262 4263 intrin->src[0] = nir_src_for_ssa(src0); 4264 intrin->src[1] = nir_src_for_ssa(src1); 4265 4266 nir_builder_instr_insert(build, &intrin->instr); 4267 return intrin; 4268} 4269static inline nir_ssa_def * 4270_nir_build_atomic_counter_add(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_atomic_counter_add_indices indices) 4271{ 4272 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 4273 build->shader, nir_intrinsic_atomic_counter_add); 4274 4275 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 4276 intrin->src[0] = nir_src_for_ssa(src0); 4277 intrin->src[1] = nir_src_for_ssa(src1); 4278 nir_intrinsic_set_base(intrin, indices.base); 4279 4280 nir_builder_instr_insert(build, &intrin->instr); 4281 return &intrin->dest.ssa; 4282} 4283static inline nir_ssa_def * 4284_nir_build_atomic_counter_add_deref(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1) 4285{ 4286 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 4287 build->shader, nir_intrinsic_atomic_counter_add_deref); 4288 4289 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 4290 intrin->src[0] = nir_src_for_ssa(src0); 4291 intrin->src[1] = nir_src_for_ssa(src1); 4292 4293 nir_builder_instr_insert(build, &intrin->instr); 4294 return &intrin->dest.ssa; 4295} 4296static inline nir_ssa_def * 4297_nir_build_atomic_counter_and(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_atomic_counter_and_indices indices) 4298{ 4299 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 4300 build->shader, nir_intrinsic_atomic_counter_and); 4301 4302 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 4303 intrin->src[0] = nir_src_for_ssa(src0); 4304 intrin->src[1] = nir_src_for_ssa(src1); 4305 nir_intrinsic_set_base(intrin, indices.base); 4306 4307 nir_builder_instr_insert(build, &intrin->instr); 4308 return &intrin->dest.ssa; 4309} 4310static inline nir_ssa_def * 4311_nir_build_atomic_counter_and_deref(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1) 4312{ 4313 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 4314 build->shader, nir_intrinsic_atomic_counter_and_deref); 4315 4316 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 4317 intrin->src[0] = nir_src_for_ssa(src0); 4318 intrin->src[1] = nir_src_for_ssa(src1); 4319 4320 nir_builder_instr_insert(build, &intrin->instr); 4321 return &intrin->dest.ssa; 4322} 4323static inline nir_ssa_def * 4324_nir_build_atomic_counter_comp_swap(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_atomic_counter_comp_swap_indices indices) 4325{ 4326 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 4327 build->shader, nir_intrinsic_atomic_counter_comp_swap); 4328 4329 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 4330 intrin->src[0] = nir_src_for_ssa(src0); 4331 intrin->src[1] = nir_src_for_ssa(src1); 4332 intrin->src[2] = nir_src_for_ssa(src2); 4333 nir_intrinsic_set_base(intrin, indices.base); 4334 4335 nir_builder_instr_insert(build, &intrin->instr); 4336 return &intrin->dest.ssa; 4337} 4338static inline nir_ssa_def * 4339_nir_build_atomic_counter_comp_swap_deref(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2) 4340{ 4341 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 4342 build->shader, nir_intrinsic_atomic_counter_comp_swap_deref); 4343 4344 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 4345 intrin->src[0] = nir_src_for_ssa(src0); 4346 intrin->src[1] = nir_src_for_ssa(src1); 4347 intrin->src[2] = nir_src_for_ssa(src2); 4348 4349 nir_builder_instr_insert(build, &intrin->instr); 4350 return &intrin->dest.ssa; 4351} 4352static inline nir_ssa_def * 4353_nir_build_atomic_counter_exchange(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_atomic_counter_exchange_indices indices) 4354{ 4355 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 4356 build->shader, nir_intrinsic_atomic_counter_exchange); 4357 4358 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 4359 intrin->src[0] = nir_src_for_ssa(src0); 4360 intrin->src[1] = nir_src_for_ssa(src1); 4361 nir_intrinsic_set_base(intrin, indices.base); 4362 4363 nir_builder_instr_insert(build, &intrin->instr); 4364 return &intrin->dest.ssa; 4365} 4366static inline nir_ssa_def * 4367_nir_build_atomic_counter_exchange_deref(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1) 4368{ 4369 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 4370 build->shader, nir_intrinsic_atomic_counter_exchange_deref); 4371 4372 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 4373 intrin->src[0] = nir_src_for_ssa(src0); 4374 intrin->src[1] = nir_src_for_ssa(src1); 4375 4376 nir_builder_instr_insert(build, &intrin->instr); 4377 return &intrin->dest.ssa; 4378} 4379static inline nir_ssa_def * 4380_nir_build_atomic_counter_inc(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, struct _nir_atomic_counter_inc_indices indices) 4381{ 4382 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 4383 build->shader, nir_intrinsic_atomic_counter_inc); 4384 4385 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 4386 intrin->src[0] = nir_src_for_ssa(src0); 4387 nir_intrinsic_set_base(intrin, indices.base); 4388 4389 nir_builder_instr_insert(build, &intrin->instr); 4390 return &intrin->dest.ssa; 4391} 4392static inline nir_ssa_def * 4393_nir_build_atomic_counter_inc_deref(nir_builder *build, unsigned bit_size, nir_ssa_def *src0) 4394{ 4395 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 4396 build->shader, nir_intrinsic_atomic_counter_inc_deref); 4397 4398 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 4399 intrin->src[0] = nir_src_for_ssa(src0); 4400 4401 nir_builder_instr_insert(build, &intrin->instr); 4402 return &intrin->dest.ssa; 4403} 4404static inline nir_ssa_def * 4405_nir_build_atomic_counter_max(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_atomic_counter_max_indices indices) 4406{ 4407 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 4408 build->shader, nir_intrinsic_atomic_counter_max); 4409 4410 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 4411 intrin->src[0] = nir_src_for_ssa(src0); 4412 intrin->src[1] = nir_src_for_ssa(src1); 4413 nir_intrinsic_set_base(intrin, indices.base); 4414 4415 nir_builder_instr_insert(build, &intrin->instr); 4416 return &intrin->dest.ssa; 4417} 4418static inline nir_ssa_def * 4419_nir_build_atomic_counter_max_deref(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1) 4420{ 4421 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 4422 build->shader, nir_intrinsic_atomic_counter_max_deref); 4423 4424 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 4425 intrin->src[0] = nir_src_for_ssa(src0); 4426 intrin->src[1] = nir_src_for_ssa(src1); 4427 4428 nir_builder_instr_insert(build, &intrin->instr); 4429 return &intrin->dest.ssa; 4430} 4431static inline nir_ssa_def * 4432_nir_build_atomic_counter_min(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_atomic_counter_min_indices indices) 4433{ 4434 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 4435 build->shader, nir_intrinsic_atomic_counter_min); 4436 4437 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 4438 intrin->src[0] = nir_src_for_ssa(src0); 4439 intrin->src[1] = nir_src_for_ssa(src1); 4440 nir_intrinsic_set_base(intrin, indices.base); 4441 4442 nir_builder_instr_insert(build, &intrin->instr); 4443 return &intrin->dest.ssa; 4444} 4445static inline nir_ssa_def * 4446_nir_build_atomic_counter_min_deref(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1) 4447{ 4448 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 4449 build->shader, nir_intrinsic_atomic_counter_min_deref); 4450 4451 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 4452 intrin->src[0] = nir_src_for_ssa(src0); 4453 intrin->src[1] = nir_src_for_ssa(src1); 4454 4455 nir_builder_instr_insert(build, &intrin->instr); 4456 return &intrin->dest.ssa; 4457} 4458static inline nir_ssa_def * 4459_nir_build_atomic_counter_or(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_atomic_counter_or_indices indices) 4460{ 4461 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 4462 build->shader, nir_intrinsic_atomic_counter_or); 4463 4464 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 4465 intrin->src[0] = nir_src_for_ssa(src0); 4466 intrin->src[1] = nir_src_for_ssa(src1); 4467 nir_intrinsic_set_base(intrin, indices.base); 4468 4469 nir_builder_instr_insert(build, &intrin->instr); 4470 return &intrin->dest.ssa; 4471} 4472static inline nir_ssa_def * 4473_nir_build_atomic_counter_or_deref(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1) 4474{ 4475 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 4476 build->shader, nir_intrinsic_atomic_counter_or_deref); 4477 4478 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 4479 intrin->src[0] = nir_src_for_ssa(src0); 4480 intrin->src[1] = nir_src_for_ssa(src1); 4481 4482 nir_builder_instr_insert(build, &intrin->instr); 4483 return &intrin->dest.ssa; 4484} 4485static inline nir_ssa_def * 4486_nir_build_atomic_counter_post_dec(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, struct _nir_atomic_counter_post_dec_indices indices) 4487{ 4488 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 4489 build->shader, nir_intrinsic_atomic_counter_post_dec); 4490 4491 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 4492 intrin->src[0] = nir_src_for_ssa(src0); 4493 nir_intrinsic_set_base(intrin, indices.base); 4494 4495 nir_builder_instr_insert(build, &intrin->instr); 4496 return &intrin->dest.ssa; 4497} 4498static inline nir_ssa_def * 4499_nir_build_atomic_counter_post_dec_deref(nir_builder *build, unsigned bit_size, nir_ssa_def *src0) 4500{ 4501 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 4502 build->shader, nir_intrinsic_atomic_counter_post_dec_deref); 4503 4504 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 4505 intrin->src[0] = nir_src_for_ssa(src0); 4506 4507 nir_builder_instr_insert(build, &intrin->instr); 4508 return &intrin->dest.ssa; 4509} 4510static inline nir_ssa_def * 4511_nir_build_atomic_counter_pre_dec(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, struct _nir_atomic_counter_pre_dec_indices indices) 4512{ 4513 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 4514 build->shader, nir_intrinsic_atomic_counter_pre_dec); 4515 4516 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 4517 intrin->src[0] = nir_src_for_ssa(src0); 4518 nir_intrinsic_set_base(intrin, indices.base); 4519 4520 nir_builder_instr_insert(build, &intrin->instr); 4521 return &intrin->dest.ssa; 4522} 4523static inline nir_ssa_def * 4524_nir_build_atomic_counter_pre_dec_deref(nir_builder *build, unsigned bit_size, nir_ssa_def *src0) 4525{ 4526 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 4527 build->shader, nir_intrinsic_atomic_counter_pre_dec_deref); 4528 4529 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 4530 intrin->src[0] = nir_src_for_ssa(src0); 4531 4532 nir_builder_instr_insert(build, &intrin->instr); 4533 return &intrin->dest.ssa; 4534} 4535static inline nir_ssa_def * 4536_nir_build_atomic_counter_read(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, struct _nir_atomic_counter_read_indices indices) 4537{ 4538 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 4539 build->shader, nir_intrinsic_atomic_counter_read); 4540 4541 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 4542 intrin->src[0] = nir_src_for_ssa(src0); 4543 nir_intrinsic_set_base(intrin, indices.base); 4544 4545 nir_builder_instr_insert(build, &intrin->instr); 4546 return &intrin->dest.ssa; 4547} 4548static inline nir_ssa_def * 4549_nir_build_atomic_counter_read_deref(nir_builder *build, unsigned bit_size, nir_ssa_def *src0) 4550{ 4551 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 4552 build->shader, nir_intrinsic_atomic_counter_read_deref); 4553 4554 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 4555 intrin->src[0] = nir_src_for_ssa(src0); 4556 4557 nir_builder_instr_insert(build, &intrin->instr); 4558 return &intrin->dest.ssa; 4559} 4560static inline nir_ssa_def * 4561_nir_build_atomic_counter_xor(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_atomic_counter_xor_indices indices) 4562{ 4563 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 4564 build->shader, nir_intrinsic_atomic_counter_xor); 4565 4566 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 4567 intrin->src[0] = nir_src_for_ssa(src0); 4568 intrin->src[1] = nir_src_for_ssa(src1); 4569 nir_intrinsic_set_base(intrin, indices.base); 4570 4571 nir_builder_instr_insert(build, &intrin->instr); 4572 return &intrin->dest.ssa; 4573} 4574static inline nir_ssa_def * 4575_nir_build_atomic_counter_xor_deref(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1) 4576{ 4577 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 4578 build->shader, nir_intrinsic_atomic_counter_xor_deref); 4579 4580 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 4581 intrin->src[0] = nir_src_for_ssa(src0); 4582 intrin->src[1] = nir_src_for_ssa(src1); 4583 4584 nir_builder_instr_insert(build, &intrin->instr); 4585 return &intrin->dest.ssa; 4586} 4587static inline nir_ssa_def * 4588_nir_build_ballot(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0) 4589{ 4590 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 4591 build->shader, nir_intrinsic_ballot); 4592 4593 intrin->num_components = num_components; 4594 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 4595 intrin->src[0] = nir_src_for_ssa(src0); 4596 4597 nir_builder_instr_insert(build, &intrin->instr); 4598 return &intrin->dest.ssa; 4599} 4600static inline nir_ssa_def * 4601_nir_build_ballot_bit_count_exclusive(nir_builder *build, unsigned bit_size, nir_ssa_def *src0) 4602{ 4603 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 4604 build->shader, nir_intrinsic_ballot_bit_count_exclusive); 4605 4606 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 4607 intrin->src[0] = nir_src_for_ssa(src0); 4608 4609 nir_builder_instr_insert(build, &intrin->instr); 4610 return &intrin->dest.ssa; 4611} 4612static inline nir_ssa_def * 4613_nir_build_ballot_bit_count_inclusive(nir_builder *build, unsigned bit_size, nir_ssa_def *src0) 4614{ 4615 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 4616 build->shader, nir_intrinsic_ballot_bit_count_inclusive); 4617 4618 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 4619 intrin->src[0] = nir_src_for_ssa(src0); 4620 4621 nir_builder_instr_insert(build, &intrin->instr); 4622 return &intrin->dest.ssa; 4623} 4624static inline nir_ssa_def * 4625_nir_build_ballot_bit_count_reduce(nir_builder *build, unsigned bit_size, nir_ssa_def *src0) 4626{ 4627 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 4628 build->shader, nir_intrinsic_ballot_bit_count_reduce); 4629 4630 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 4631 intrin->src[0] = nir_src_for_ssa(src0); 4632 4633 nir_builder_instr_insert(build, &intrin->instr); 4634 return &intrin->dest.ssa; 4635} 4636static inline nir_ssa_def * 4637_nir_build_ballot_bitfield_extract(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1) 4638{ 4639 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 4640 build->shader, nir_intrinsic_ballot_bitfield_extract); 4641 4642 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 4643 intrin->src[0] = nir_src_for_ssa(src0); 4644 intrin->src[1] = nir_src_for_ssa(src1); 4645 4646 nir_builder_instr_insert(build, &intrin->instr); 4647 return &intrin->dest.ssa; 4648} 4649static inline nir_ssa_def * 4650_nir_build_ballot_find_lsb(nir_builder *build, unsigned bit_size, nir_ssa_def *src0) 4651{ 4652 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 4653 build->shader, nir_intrinsic_ballot_find_lsb); 4654 4655 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 4656 intrin->src[0] = nir_src_for_ssa(src0); 4657 4658 nir_builder_instr_insert(build, &intrin->instr); 4659 return &intrin->dest.ssa; 4660} 4661static inline nir_ssa_def * 4662_nir_build_ballot_find_msb(nir_builder *build, unsigned bit_size, nir_ssa_def *src0) 4663{ 4664 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 4665 build->shader, nir_intrinsic_ballot_find_msb); 4666 4667 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 4668 intrin->src[0] = nir_src_for_ssa(src0); 4669 4670 nir_builder_instr_insert(build, &intrin->instr); 4671 return &intrin->dest.ssa; 4672} 4673static inline nir_intrinsic_instr * 4674_nir_build_begin_invocation_interlock(nir_builder *build) 4675{ 4676 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 4677 build->shader, nir_intrinsic_begin_invocation_interlock); 4678 4679 4680 nir_builder_instr_insert(build, &intrin->instr); 4681 return intrin; 4682} 4683static inline nir_ssa_def * 4684_nir_build_bindless_image_atomic_add(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_bindless_image_atomic_add_indices indices) 4685{ 4686 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 4687 build->shader, nir_intrinsic_bindless_image_atomic_add); 4688 4689 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 4690 intrin->src[0] = nir_src_for_ssa(src0); 4691 intrin->src[1] = nir_src_for_ssa(src1); 4692 intrin->src[2] = nir_src_for_ssa(src2); 4693 intrin->src[3] = nir_src_for_ssa(src3); 4694 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 4695 nir_intrinsic_set_image_array(intrin, indices.image_array); 4696 nir_intrinsic_set_format(intrin, indices.format); 4697 nir_intrinsic_set_access(intrin, indices.access); 4698 4699 nir_builder_instr_insert(build, &intrin->instr); 4700 return &intrin->dest.ssa; 4701} 4702static inline nir_ssa_def * 4703_nir_build_bindless_image_atomic_and(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_bindless_image_atomic_and_indices indices) 4704{ 4705 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 4706 build->shader, nir_intrinsic_bindless_image_atomic_and); 4707 4708 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 4709 intrin->src[0] = nir_src_for_ssa(src0); 4710 intrin->src[1] = nir_src_for_ssa(src1); 4711 intrin->src[2] = nir_src_for_ssa(src2); 4712 intrin->src[3] = nir_src_for_ssa(src3); 4713 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 4714 nir_intrinsic_set_image_array(intrin, indices.image_array); 4715 nir_intrinsic_set_format(intrin, indices.format); 4716 nir_intrinsic_set_access(intrin, indices.access); 4717 4718 nir_builder_instr_insert(build, &intrin->instr); 4719 return &intrin->dest.ssa; 4720} 4721static inline nir_ssa_def * 4722_nir_build_bindless_image_atomic_comp_swap(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, nir_ssa_def *src4, struct _nir_bindless_image_atomic_comp_swap_indices indices) 4723{ 4724 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 4725 build->shader, nir_intrinsic_bindless_image_atomic_comp_swap); 4726 4727 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 4728 intrin->src[0] = nir_src_for_ssa(src0); 4729 intrin->src[1] = nir_src_for_ssa(src1); 4730 intrin->src[2] = nir_src_for_ssa(src2); 4731 intrin->src[3] = nir_src_for_ssa(src3); 4732 intrin->src[4] = nir_src_for_ssa(src4); 4733 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 4734 nir_intrinsic_set_image_array(intrin, indices.image_array); 4735 nir_intrinsic_set_format(intrin, indices.format); 4736 nir_intrinsic_set_access(intrin, indices.access); 4737 4738 nir_builder_instr_insert(build, &intrin->instr); 4739 return &intrin->dest.ssa; 4740} 4741static inline nir_ssa_def * 4742_nir_build_bindless_image_atomic_dec_wrap(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_bindless_image_atomic_dec_wrap_indices indices) 4743{ 4744 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 4745 build->shader, nir_intrinsic_bindless_image_atomic_dec_wrap); 4746 4747 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 4748 intrin->src[0] = nir_src_for_ssa(src0); 4749 intrin->src[1] = nir_src_for_ssa(src1); 4750 intrin->src[2] = nir_src_for_ssa(src2); 4751 intrin->src[3] = nir_src_for_ssa(src3); 4752 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 4753 nir_intrinsic_set_image_array(intrin, indices.image_array); 4754 nir_intrinsic_set_format(intrin, indices.format); 4755 nir_intrinsic_set_access(intrin, indices.access); 4756 4757 nir_builder_instr_insert(build, &intrin->instr); 4758 return &intrin->dest.ssa; 4759} 4760static inline nir_ssa_def * 4761_nir_build_bindless_image_atomic_exchange(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_bindless_image_atomic_exchange_indices indices) 4762{ 4763 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 4764 build->shader, nir_intrinsic_bindless_image_atomic_exchange); 4765 4766 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 4767 intrin->src[0] = nir_src_for_ssa(src0); 4768 intrin->src[1] = nir_src_for_ssa(src1); 4769 intrin->src[2] = nir_src_for_ssa(src2); 4770 intrin->src[3] = nir_src_for_ssa(src3); 4771 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 4772 nir_intrinsic_set_image_array(intrin, indices.image_array); 4773 nir_intrinsic_set_format(intrin, indices.format); 4774 nir_intrinsic_set_access(intrin, indices.access); 4775 4776 nir_builder_instr_insert(build, &intrin->instr); 4777 return &intrin->dest.ssa; 4778} 4779static inline nir_ssa_def * 4780_nir_build_bindless_image_atomic_fadd(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_bindless_image_atomic_fadd_indices indices) 4781{ 4782 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 4783 build->shader, nir_intrinsic_bindless_image_atomic_fadd); 4784 4785 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 4786 intrin->src[0] = nir_src_for_ssa(src0); 4787 intrin->src[1] = nir_src_for_ssa(src1); 4788 intrin->src[2] = nir_src_for_ssa(src2); 4789 intrin->src[3] = nir_src_for_ssa(src3); 4790 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 4791 nir_intrinsic_set_image_array(intrin, indices.image_array); 4792 nir_intrinsic_set_format(intrin, indices.format); 4793 nir_intrinsic_set_access(intrin, indices.access); 4794 4795 nir_builder_instr_insert(build, &intrin->instr); 4796 return &intrin->dest.ssa; 4797} 4798static inline nir_ssa_def * 4799_nir_build_bindless_image_atomic_fmax(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_bindless_image_atomic_fmax_indices indices) 4800{ 4801 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 4802 build->shader, nir_intrinsic_bindless_image_atomic_fmax); 4803 4804 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 4805 intrin->src[0] = nir_src_for_ssa(src0); 4806 intrin->src[1] = nir_src_for_ssa(src1); 4807 intrin->src[2] = nir_src_for_ssa(src2); 4808 intrin->src[3] = nir_src_for_ssa(src3); 4809 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 4810 nir_intrinsic_set_image_array(intrin, indices.image_array); 4811 nir_intrinsic_set_format(intrin, indices.format); 4812 nir_intrinsic_set_access(intrin, indices.access); 4813 4814 nir_builder_instr_insert(build, &intrin->instr); 4815 return &intrin->dest.ssa; 4816} 4817static inline nir_ssa_def * 4818_nir_build_bindless_image_atomic_fmin(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_bindless_image_atomic_fmin_indices indices) 4819{ 4820 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 4821 build->shader, nir_intrinsic_bindless_image_atomic_fmin); 4822 4823 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 4824 intrin->src[0] = nir_src_for_ssa(src0); 4825 intrin->src[1] = nir_src_for_ssa(src1); 4826 intrin->src[2] = nir_src_for_ssa(src2); 4827 intrin->src[3] = nir_src_for_ssa(src3); 4828 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 4829 nir_intrinsic_set_image_array(intrin, indices.image_array); 4830 nir_intrinsic_set_format(intrin, indices.format); 4831 nir_intrinsic_set_access(intrin, indices.access); 4832 4833 nir_builder_instr_insert(build, &intrin->instr); 4834 return &intrin->dest.ssa; 4835} 4836static inline nir_ssa_def * 4837_nir_build_bindless_image_atomic_imax(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_bindless_image_atomic_imax_indices indices) 4838{ 4839 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 4840 build->shader, nir_intrinsic_bindless_image_atomic_imax); 4841 4842 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 4843 intrin->src[0] = nir_src_for_ssa(src0); 4844 intrin->src[1] = nir_src_for_ssa(src1); 4845 intrin->src[2] = nir_src_for_ssa(src2); 4846 intrin->src[3] = nir_src_for_ssa(src3); 4847 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 4848 nir_intrinsic_set_image_array(intrin, indices.image_array); 4849 nir_intrinsic_set_format(intrin, indices.format); 4850 nir_intrinsic_set_access(intrin, indices.access); 4851 4852 nir_builder_instr_insert(build, &intrin->instr); 4853 return &intrin->dest.ssa; 4854} 4855static inline nir_ssa_def * 4856_nir_build_bindless_image_atomic_imin(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_bindless_image_atomic_imin_indices indices) 4857{ 4858 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 4859 build->shader, nir_intrinsic_bindless_image_atomic_imin); 4860 4861 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 4862 intrin->src[0] = nir_src_for_ssa(src0); 4863 intrin->src[1] = nir_src_for_ssa(src1); 4864 intrin->src[2] = nir_src_for_ssa(src2); 4865 intrin->src[3] = nir_src_for_ssa(src3); 4866 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 4867 nir_intrinsic_set_image_array(intrin, indices.image_array); 4868 nir_intrinsic_set_format(intrin, indices.format); 4869 nir_intrinsic_set_access(intrin, indices.access); 4870 4871 nir_builder_instr_insert(build, &intrin->instr); 4872 return &intrin->dest.ssa; 4873} 4874static inline nir_ssa_def * 4875_nir_build_bindless_image_atomic_inc_wrap(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_bindless_image_atomic_inc_wrap_indices indices) 4876{ 4877 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 4878 build->shader, nir_intrinsic_bindless_image_atomic_inc_wrap); 4879 4880 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 4881 intrin->src[0] = nir_src_for_ssa(src0); 4882 intrin->src[1] = nir_src_for_ssa(src1); 4883 intrin->src[2] = nir_src_for_ssa(src2); 4884 intrin->src[3] = nir_src_for_ssa(src3); 4885 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 4886 nir_intrinsic_set_image_array(intrin, indices.image_array); 4887 nir_intrinsic_set_format(intrin, indices.format); 4888 nir_intrinsic_set_access(intrin, indices.access); 4889 4890 nir_builder_instr_insert(build, &intrin->instr); 4891 return &intrin->dest.ssa; 4892} 4893static inline nir_ssa_def * 4894_nir_build_bindless_image_atomic_or(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_bindless_image_atomic_or_indices indices) 4895{ 4896 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 4897 build->shader, nir_intrinsic_bindless_image_atomic_or); 4898 4899 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 4900 intrin->src[0] = nir_src_for_ssa(src0); 4901 intrin->src[1] = nir_src_for_ssa(src1); 4902 intrin->src[2] = nir_src_for_ssa(src2); 4903 intrin->src[3] = nir_src_for_ssa(src3); 4904 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 4905 nir_intrinsic_set_image_array(intrin, indices.image_array); 4906 nir_intrinsic_set_format(intrin, indices.format); 4907 nir_intrinsic_set_access(intrin, indices.access); 4908 4909 nir_builder_instr_insert(build, &intrin->instr); 4910 return &intrin->dest.ssa; 4911} 4912static inline nir_ssa_def * 4913_nir_build_bindless_image_atomic_umax(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_bindless_image_atomic_umax_indices indices) 4914{ 4915 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 4916 build->shader, nir_intrinsic_bindless_image_atomic_umax); 4917 4918 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 4919 intrin->src[0] = nir_src_for_ssa(src0); 4920 intrin->src[1] = nir_src_for_ssa(src1); 4921 intrin->src[2] = nir_src_for_ssa(src2); 4922 intrin->src[3] = nir_src_for_ssa(src3); 4923 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 4924 nir_intrinsic_set_image_array(intrin, indices.image_array); 4925 nir_intrinsic_set_format(intrin, indices.format); 4926 nir_intrinsic_set_access(intrin, indices.access); 4927 4928 nir_builder_instr_insert(build, &intrin->instr); 4929 return &intrin->dest.ssa; 4930} 4931static inline nir_ssa_def * 4932_nir_build_bindless_image_atomic_umin(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_bindless_image_atomic_umin_indices indices) 4933{ 4934 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 4935 build->shader, nir_intrinsic_bindless_image_atomic_umin); 4936 4937 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 4938 intrin->src[0] = nir_src_for_ssa(src0); 4939 intrin->src[1] = nir_src_for_ssa(src1); 4940 intrin->src[2] = nir_src_for_ssa(src2); 4941 intrin->src[3] = nir_src_for_ssa(src3); 4942 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 4943 nir_intrinsic_set_image_array(intrin, indices.image_array); 4944 nir_intrinsic_set_format(intrin, indices.format); 4945 nir_intrinsic_set_access(intrin, indices.access); 4946 4947 nir_builder_instr_insert(build, &intrin->instr); 4948 return &intrin->dest.ssa; 4949} 4950static inline nir_ssa_def * 4951_nir_build_bindless_image_atomic_xor(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_bindless_image_atomic_xor_indices indices) 4952{ 4953 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 4954 build->shader, nir_intrinsic_bindless_image_atomic_xor); 4955 4956 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 4957 intrin->src[0] = nir_src_for_ssa(src0); 4958 intrin->src[1] = nir_src_for_ssa(src1); 4959 intrin->src[2] = nir_src_for_ssa(src2); 4960 intrin->src[3] = nir_src_for_ssa(src3); 4961 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 4962 nir_intrinsic_set_image_array(intrin, indices.image_array); 4963 nir_intrinsic_set_format(intrin, indices.format); 4964 nir_intrinsic_set_access(intrin, indices.access); 4965 4966 nir_builder_instr_insert(build, &intrin->instr); 4967 return &intrin->dest.ssa; 4968} 4969static inline nir_ssa_def * 4970_nir_build_bindless_image_format(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, struct _nir_bindless_image_format_indices indices) 4971{ 4972 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 4973 build->shader, nir_intrinsic_bindless_image_format); 4974 4975 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 4976 intrin->src[0] = nir_src_for_ssa(src0); 4977 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 4978 nir_intrinsic_set_image_array(intrin, indices.image_array); 4979 nir_intrinsic_set_format(intrin, indices.format); 4980 nir_intrinsic_set_access(intrin, indices.access); 4981 4982 nir_builder_instr_insert(build, &intrin->instr); 4983 return &intrin->dest.ssa; 4984} 4985static inline nir_ssa_def * 4986_nir_build_bindless_image_load(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_bindless_image_load_indices indices) 4987{ 4988 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 4989 build->shader, nir_intrinsic_bindless_image_load); 4990 4991 intrin->num_components = num_components; 4992 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 4993 intrin->src[0] = nir_src_for_ssa(src0); 4994 intrin->src[1] = nir_src_for_ssa(src1); 4995 intrin->src[2] = nir_src_for_ssa(src2); 4996 intrin->src[3] = nir_src_for_ssa(src3); 4997 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 4998 nir_intrinsic_set_image_array(intrin, indices.image_array); 4999 nir_intrinsic_set_format(intrin, indices.format); 5000 nir_intrinsic_set_access(intrin, indices.access); 5001 nir_intrinsic_set_dest_type(intrin, indices.dest_type); 5002 5003 nir_builder_instr_insert(build, &intrin->instr); 5004 return &intrin->dest.ssa; 5005} 5006static inline nir_ssa_def * 5007_nir_build_bindless_image_load_raw_intel(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_bindless_image_load_raw_intel_indices indices) 5008{ 5009 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5010 build->shader, nir_intrinsic_bindless_image_load_raw_intel); 5011 5012 intrin->num_components = num_components; 5013 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 5014 intrin->src[0] = nir_src_for_ssa(src0); 5015 intrin->src[1] = nir_src_for_ssa(src1); 5016 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 5017 nir_intrinsic_set_image_array(intrin, indices.image_array); 5018 nir_intrinsic_set_format(intrin, indices.format); 5019 nir_intrinsic_set_access(intrin, indices.access); 5020 5021 nir_builder_instr_insert(build, &intrin->instr); 5022 return &intrin->dest.ssa; 5023} 5024static inline nir_ssa_def * 5025_nir_build_bindless_image_order(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, struct _nir_bindless_image_order_indices indices) 5026{ 5027 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5028 build->shader, nir_intrinsic_bindless_image_order); 5029 5030 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 5031 intrin->src[0] = nir_src_for_ssa(src0); 5032 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 5033 nir_intrinsic_set_image_array(intrin, indices.image_array); 5034 nir_intrinsic_set_format(intrin, indices.format); 5035 nir_intrinsic_set_access(intrin, indices.access); 5036 5037 nir_builder_instr_insert(build, &intrin->instr); 5038 return &intrin->dest.ssa; 5039} 5040static inline nir_ssa_def * 5041_nir_build_bindless_image_samples(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, struct _nir_bindless_image_samples_indices indices) 5042{ 5043 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5044 build->shader, nir_intrinsic_bindless_image_samples); 5045 5046 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 5047 intrin->src[0] = nir_src_for_ssa(src0); 5048 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 5049 nir_intrinsic_set_image_array(intrin, indices.image_array); 5050 nir_intrinsic_set_format(intrin, indices.format); 5051 nir_intrinsic_set_access(intrin, indices.access); 5052 5053 nir_builder_instr_insert(build, &intrin->instr); 5054 return &intrin->dest.ssa; 5055} 5056static inline nir_ssa_def * 5057_nir_build_bindless_image_size(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_bindless_image_size_indices indices) 5058{ 5059 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5060 build->shader, nir_intrinsic_bindless_image_size); 5061 5062 intrin->num_components = num_components; 5063 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 5064 intrin->src[0] = nir_src_for_ssa(src0); 5065 intrin->src[1] = nir_src_for_ssa(src1); 5066 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 5067 nir_intrinsic_set_image_array(intrin, indices.image_array); 5068 nir_intrinsic_set_format(intrin, indices.format); 5069 nir_intrinsic_set_access(intrin, indices.access); 5070 5071 nir_builder_instr_insert(build, &intrin->instr); 5072 return &intrin->dest.ssa; 5073} 5074static inline nir_ssa_def * 5075_nir_build_bindless_image_sparse_load(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_bindless_image_sparse_load_indices indices) 5076{ 5077 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5078 build->shader, nir_intrinsic_bindless_image_sparse_load); 5079 5080 intrin->num_components = num_components; 5081 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 5082 intrin->src[0] = nir_src_for_ssa(src0); 5083 intrin->src[1] = nir_src_for_ssa(src1); 5084 intrin->src[2] = nir_src_for_ssa(src2); 5085 intrin->src[3] = nir_src_for_ssa(src3); 5086 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 5087 nir_intrinsic_set_image_array(intrin, indices.image_array); 5088 nir_intrinsic_set_format(intrin, indices.format); 5089 nir_intrinsic_set_access(intrin, indices.access); 5090 nir_intrinsic_set_dest_type(intrin, indices.dest_type); 5091 5092 nir_builder_instr_insert(build, &intrin->instr); 5093 return &intrin->dest.ssa; 5094} 5095static inline nir_intrinsic_instr * 5096_nir_build_bindless_image_store(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, nir_ssa_def *src4, struct _nir_bindless_image_store_indices indices) 5097{ 5098 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5099 build->shader, nir_intrinsic_bindless_image_store); 5100 5101 intrin->num_components = src3->num_components; 5102 intrin->src[0] = nir_src_for_ssa(src0); 5103 intrin->src[1] = nir_src_for_ssa(src1); 5104 intrin->src[2] = nir_src_for_ssa(src2); 5105 intrin->src[3] = nir_src_for_ssa(src3); 5106 intrin->src[4] = nir_src_for_ssa(src4); 5107 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 5108 nir_intrinsic_set_image_array(intrin, indices.image_array); 5109 nir_intrinsic_set_format(intrin, indices.format); 5110 nir_intrinsic_set_access(intrin, indices.access); 5111 nir_intrinsic_set_src_type(intrin, indices.src_type); 5112 5113 nir_builder_instr_insert(build, &intrin->instr); 5114 return intrin; 5115} 5116static inline nir_intrinsic_instr * 5117_nir_build_bindless_image_store_raw_intel(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_bindless_image_store_raw_intel_indices indices) 5118{ 5119 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5120 build->shader, nir_intrinsic_bindless_image_store_raw_intel); 5121 5122 intrin->num_components = src2->num_components; 5123 intrin->src[0] = nir_src_for_ssa(src0); 5124 intrin->src[1] = nir_src_for_ssa(src1); 5125 intrin->src[2] = nir_src_for_ssa(src2); 5126 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 5127 nir_intrinsic_set_image_array(intrin, indices.image_array); 5128 nir_intrinsic_set_format(intrin, indices.format); 5129 nir_intrinsic_set_access(intrin, indices.access); 5130 5131 nir_builder_instr_insert(build, &intrin->instr); 5132 return intrin; 5133} 5134static inline nir_ssa_def * 5135_nir_build_bindless_resource_ir3(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, struct _nir_bindless_resource_ir3_indices indices) 5136{ 5137 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5138 build->shader, nir_intrinsic_bindless_resource_ir3); 5139 5140 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 5141 intrin->src[0] = nir_src_for_ssa(src0); 5142 nir_intrinsic_set_desc_set(intrin, indices.desc_set); 5143 5144 nir_builder_instr_insert(build, &intrin->instr); 5145 return &intrin->dest.ssa; 5146} 5147static inline nir_intrinsic_instr * 5148_nir_build_btd_retire_intel(nir_builder *build) 5149{ 5150 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5151 build->shader, nir_intrinsic_btd_retire_intel); 5152 5153 5154 nir_builder_instr_insert(build, &intrin->instr); 5155 return intrin; 5156} 5157static inline nir_intrinsic_instr * 5158_nir_build_btd_spawn_intel(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 5159{ 5160 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5161 build->shader, nir_intrinsic_btd_spawn_intel); 5162 5163 intrin->src[0] = nir_src_for_ssa(src0); 5164 intrin->src[1] = nir_src_for_ssa(src1); 5165 5166 nir_builder_instr_insert(build, &intrin->instr); 5167 return intrin; 5168} 5169static inline nir_intrinsic_instr * 5170_nir_build_btd_stack_push_intel(nir_builder *build, struct _nir_btd_stack_push_intel_indices indices) 5171{ 5172 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5173 build->shader, nir_intrinsic_btd_stack_push_intel); 5174 5175 nir_intrinsic_set_stack_size(intrin, indices.stack_size); 5176 5177 nir_builder_instr_insert(build, &intrin->instr); 5178 return intrin; 5179} 5180static inline nir_ssa_def * 5181_nir_build_bvh64_intersect_ray_amd(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, nir_ssa_def *src4, nir_ssa_def *src5) 5182{ 5183 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5184 build->shader, nir_intrinsic_bvh64_intersect_ray_amd); 5185 5186 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 4, bit_size, NULL); 5187 intrin->src[0] = nir_src_for_ssa(src0); 5188 intrin->src[1] = nir_src_for_ssa(src1); 5189 intrin->src[2] = nir_src_for_ssa(src2); 5190 intrin->src[3] = nir_src_for_ssa(src3); 5191 intrin->src[4] = nir_src_for_ssa(src4); 5192 intrin->src[5] = nir_src_for_ssa(src5); 5193 5194 nir_builder_instr_insert(build, &intrin->instr); 5195 return &intrin->dest.ssa; 5196} 5197static inline nir_ssa_def * 5198_nir_build_byte_permute_amd(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2) 5199{ 5200 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5201 build->shader, nir_intrinsic_byte_permute_amd); 5202 5203 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 5204 intrin->src[0] = nir_src_for_ssa(src0); 5205 intrin->src[1] = nir_src_for_ssa(src1); 5206 intrin->src[2] = nir_src_for_ssa(src2); 5207 5208 nir_builder_instr_insert(build, &intrin->instr); 5209 return &intrin->dest.ssa; 5210} 5211static inline nir_intrinsic_instr * 5212_nir_build_cond_end_ir3(nir_builder *build, nir_ssa_def *src0) 5213{ 5214 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5215 build->shader, nir_intrinsic_cond_end_ir3); 5216 5217 intrin->src[0] = nir_src_for_ssa(src0); 5218 5219 nir_builder_instr_insert(build, &intrin->instr); 5220 return intrin; 5221} 5222static inline nir_intrinsic_instr * 5223_nir_build_control_barrier(nir_builder *build) 5224{ 5225 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5226 build->shader, nir_intrinsic_control_barrier); 5227 5228 5229 nir_builder_instr_insert(build, &intrin->instr); 5230 return intrin; 5231} 5232static inline nir_ssa_def * 5233_nir_build_convert_alu_types(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, struct _nir_convert_alu_types_indices indices) 5234{ 5235 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5236 build->shader, nir_intrinsic_convert_alu_types); 5237 5238 intrin->num_components = src0->num_components; 5239 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 5240 intrin->src[0] = nir_src_for_ssa(src0); 5241 nir_intrinsic_set_src_type(intrin, indices.src_type); 5242 nir_intrinsic_set_dest_type(intrin, indices.dest_type); 5243 nir_intrinsic_set_rounding_mode(intrin, indices.rounding_mode); 5244 nir_intrinsic_set_saturate(intrin, indices.saturate); 5245 5246 nir_builder_instr_insert(build, &intrin->instr); 5247 return &intrin->dest.ssa; 5248} 5249static inline nir_intrinsic_instr * 5250_nir_build_copy_deref(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_copy_deref_indices indices) 5251{ 5252 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5253 build->shader, nir_intrinsic_copy_deref); 5254 5255 intrin->src[0] = nir_src_for_ssa(src0); 5256 intrin->src[1] = nir_src_for_ssa(src1); 5257 nir_intrinsic_set_dst_access(intrin, indices.dst_access); 5258 nir_intrinsic_set_src_access(intrin, indices.src_access); 5259 5260 nir_builder_instr_insert(build, &intrin->instr); 5261 return intrin; 5262} 5263static inline nir_intrinsic_instr * 5264_nir_build_demote(nir_builder *build) 5265{ 5266 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5267 build->shader, nir_intrinsic_demote); 5268 5269 5270 nir_builder_instr_insert(build, &intrin->instr); 5271 return intrin; 5272} 5273static inline nir_intrinsic_instr * 5274_nir_build_demote_if(nir_builder *build, nir_ssa_def *src0) 5275{ 5276 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5277 build->shader, nir_intrinsic_demote_if); 5278 5279 intrin->src[0] = nir_src_for_ssa(src0); 5280 5281 nir_builder_instr_insert(build, &intrin->instr); 5282 return intrin; 5283} 5284static inline nir_ssa_def * 5285_nir_build_deref_atomic_add(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_deref_atomic_add_indices indices) 5286{ 5287 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5288 build->shader, nir_intrinsic_deref_atomic_add); 5289 5290 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 5291 intrin->src[0] = nir_src_for_ssa(src0); 5292 intrin->src[1] = nir_src_for_ssa(src1); 5293 nir_intrinsic_set_access(intrin, indices.access); 5294 5295 nir_builder_instr_insert(build, &intrin->instr); 5296 return &intrin->dest.ssa; 5297} 5298static inline nir_ssa_def * 5299_nir_build_deref_atomic_and(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_deref_atomic_and_indices indices) 5300{ 5301 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5302 build->shader, nir_intrinsic_deref_atomic_and); 5303 5304 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 5305 intrin->src[0] = nir_src_for_ssa(src0); 5306 intrin->src[1] = nir_src_for_ssa(src1); 5307 nir_intrinsic_set_access(intrin, indices.access); 5308 5309 nir_builder_instr_insert(build, &intrin->instr); 5310 return &intrin->dest.ssa; 5311} 5312static inline nir_ssa_def * 5313_nir_build_deref_atomic_comp_swap(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_deref_atomic_comp_swap_indices indices) 5314{ 5315 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5316 build->shader, nir_intrinsic_deref_atomic_comp_swap); 5317 5318 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 5319 intrin->src[0] = nir_src_for_ssa(src0); 5320 intrin->src[1] = nir_src_for_ssa(src1); 5321 intrin->src[2] = nir_src_for_ssa(src2); 5322 nir_intrinsic_set_access(intrin, indices.access); 5323 5324 nir_builder_instr_insert(build, &intrin->instr); 5325 return &intrin->dest.ssa; 5326} 5327static inline nir_ssa_def * 5328_nir_build_deref_atomic_exchange(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_deref_atomic_exchange_indices indices) 5329{ 5330 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5331 build->shader, nir_intrinsic_deref_atomic_exchange); 5332 5333 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 5334 intrin->src[0] = nir_src_for_ssa(src0); 5335 intrin->src[1] = nir_src_for_ssa(src1); 5336 nir_intrinsic_set_access(intrin, indices.access); 5337 5338 nir_builder_instr_insert(build, &intrin->instr); 5339 return &intrin->dest.ssa; 5340} 5341static inline nir_ssa_def * 5342_nir_build_deref_atomic_fadd(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_deref_atomic_fadd_indices indices) 5343{ 5344 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5345 build->shader, nir_intrinsic_deref_atomic_fadd); 5346 5347 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 5348 intrin->src[0] = nir_src_for_ssa(src0); 5349 intrin->src[1] = nir_src_for_ssa(src1); 5350 nir_intrinsic_set_access(intrin, indices.access); 5351 5352 nir_builder_instr_insert(build, &intrin->instr); 5353 return &intrin->dest.ssa; 5354} 5355static inline nir_ssa_def * 5356_nir_build_deref_atomic_fcomp_swap(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_deref_atomic_fcomp_swap_indices indices) 5357{ 5358 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5359 build->shader, nir_intrinsic_deref_atomic_fcomp_swap); 5360 5361 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 5362 intrin->src[0] = nir_src_for_ssa(src0); 5363 intrin->src[1] = nir_src_for_ssa(src1); 5364 intrin->src[2] = nir_src_for_ssa(src2); 5365 nir_intrinsic_set_access(intrin, indices.access); 5366 5367 nir_builder_instr_insert(build, &intrin->instr); 5368 return &intrin->dest.ssa; 5369} 5370static inline nir_ssa_def * 5371_nir_build_deref_atomic_fmax(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_deref_atomic_fmax_indices indices) 5372{ 5373 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5374 build->shader, nir_intrinsic_deref_atomic_fmax); 5375 5376 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 5377 intrin->src[0] = nir_src_for_ssa(src0); 5378 intrin->src[1] = nir_src_for_ssa(src1); 5379 nir_intrinsic_set_access(intrin, indices.access); 5380 5381 nir_builder_instr_insert(build, &intrin->instr); 5382 return &intrin->dest.ssa; 5383} 5384static inline nir_ssa_def * 5385_nir_build_deref_atomic_fmin(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_deref_atomic_fmin_indices indices) 5386{ 5387 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5388 build->shader, nir_intrinsic_deref_atomic_fmin); 5389 5390 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 5391 intrin->src[0] = nir_src_for_ssa(src0); 5392 intrin->src[1] = nir_src_for_ssa(src1); 5393 nir_intrinsic_set_access(intrin, indices.access); 5394 5395 nir_builder_instr_insert(build, &intrin->instr); 5396 return &intrin->dest.ssa; 5397} 5398static inline nir_ssa_def * 5399_nir_build_deref_atomic_imax(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_deref_atomic_imax_indices indices) 5400{ 5401 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5402 build->shader, nir_intrinsic_deref_atomic_imax); 5403 5404 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 5405 intrin->src[0] = nir_src_for_ssa(src0); 5406 intrin->src[1] = nir_src_for_ssa(src1); 5407 nir_intrinsic_set_access(intrin, indices.access); 5408 5409 nir_builder_instr_insert(build, &intrin->instr); 5410 return &intrin->dest.ssa; 5411} 5412static inline nir_ssa_def * 5413_nir_build_deref_atomic_imin(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_deref_atomic_imin_indices indices) 5414{ 5415 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5416 build->shader, nir_intrinsic_deref_atomic_imin); 5417 5418 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 5419 intrin->src[0] = nir_src_for_ssa(src0); 5420 intrin->src[1] = nir_src_for_ssa(src1); 5421 nir_intrinsic_set_access(intrin, indices.access); 5422 5423 nir_builder_instr_insert(build, &intrin->instr); 5424 return &intrin->dest.ssa; 5425} 5426static inline nir_ssa_def * 5427_nir_build_deref_atomic_or(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_deref_atomic_or_indices indices) 5428{ 5429 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5430 build->shader, nir_intrinsic_deref_atomic_or); 5431 5432 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 5433 intrin->src[0] = nir_src_for_ssa(src0); 5434 intrin->src[1] = nir_src_for_ssa(src1); 5435 nir_intrinsic_set_access(intrin, indices.access); 5436 5437 nir_builder_instr_insert(build, &intrin->instr); 5438 return &intrin->dest.ssa; 5439} 5440static inline nir_ssa_def * 5441_nir_build_deref_atomic_umax(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_deref_atomic_umax_indices indices) 5442{ 5443 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5444 build->shader, nir_intrinsic_deref_atomic_umax); 5445 5446 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 5447 intrin->src[0] = nir_src_for_ssa(src0); 5448 intrin->src[1] = nir_src_for_ssa(src1); 5449 nir_intrinsic_set_access(intrin, indices.access); 5450 5451 nir_builder_instr_insert(build, &intrin->instr); 5452 return &intrin->dest.ssa; 5453} 5454static inline nir_ssa_def * 5455_nir_build_deref_atomic_umin(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_deref_atomic_umin_indices indices) 5456{ 5457 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5458 build->shader, nir_intrinsic_deref_atomic_umin); 5459 5460 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 5461 intrin->src[0] = nir_src_for_ssa(src0); 5462 intrin->src[1] = nir_src_for_ssa(src1); 5463 nir_intrinsic_set_access(intrin, indices.access); 5464 5465 nir_builder_instr_insert(build, &intrin->instr); 5466 return &intrin->dest.ssa; 5467} 5468static inline nir_ssa_def * 5469_nir_build_deref_atomic_xor(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_deref_atomic_xor_indices indices) 5470{ 5471 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5472 build->shader, nir_intrinsic_deref_atomic_xor); 5473 5474 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 5475 intrin->src[0] = nir_src_for_ssa(src0); 5476 intrin->src[1] = nir_src_for_ssa(src1); 5477 nir_intrinsic_set_access(intrin, indices.access); 5478 5479 nir_builder_instr_insert(build, &intrin->instr); 5480 return &intrin->dest.ssa; 5481} 5482static inline nir_ssa_def * 5483_nir_build_deref_buffer_array_length(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, struct _nir_deref_buffer_array_length_indices indices) 5484{ 5485 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5486 build->shader, nir_intrinsic_deref_buffer_array_length); 5487 5488 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 5489 intrin->src[0] = nir_src_for_ssa(src0); 5490 nir_intrinsic_set_access(intrin, indices.access); 5491 5492 nir_builder_instr_insert(build, &intrin->instr); 5493 return &intrin->dest.ssa; 5494} 5495static inline nir_ssa_def * 5496_nir_build_deref_mode_is(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, struct _nir_deref_mode_is_indices indices) 5497{ 5498 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5499 build->shader, nir_intrinsic_deref_mode_is); 5500 5501 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 5502 intrin->src[0] = nir_src_for_ssa(src0); 5503 nir_intrinsic_set_memory_modes(intrin, indices.memory_modes); 5504 5505 nir_builder_instr_insert(build, &intrin->instr); 5506 return &intrin->dest.ssa; 5507} 5508static inline nir_intrinsic_instr * 5509_nir_build_discard(nir_builder *build) 5510{ 5511 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5512 build->shader, nir_intrinsic_discard); 5513 5514 5515 nir_builder_instr_insert(build, &intrin->instr); 5516 return intrin; 5517} 5518static inline nir_intrinsic_instr * 5519_nir_build_discard_if(nir_builder *build, nir_ssa_def *src0) 5520{ 5521 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5522 build->shader, nir_intrinsic_discard_if); 5523 5524 intrin->src[0] = nir_src_for_ssa(src0); 5525 5526 nir_builder_instr_insert(build, &intrin->instr); 5527 return intrin; 5528} 5529static inline nir_ssa_def * 5530_nir_build_elect(nir_builder *build, unsigned bit_size) 5531{ 5532 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5533 build->shader, nir_intrinsic_elect); 5534 5535 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 5536 5537 nir_builder_instr_insert(build, &intrin->instr); 5538 return &intrin->dest.ssa; 5539} 5540static inline nir_intrinsic_instr * 5541_nir_build_emit_vertex(nir_builder *build, struct _nir_emit_vertex_indices indices) 5542{ 5543 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5544 build->shader, nir_intrinsic_emit_vertex); 5545 5546 nir_intrinsic_set_stream_id(intrin, indices.stream_id); 5547 5548 nir_builder_instr_insert(build, &intrin->instr); 5549 return intrin; 5550} 5551static inline nir_intrinsic_instr * 5552_nir_build_emit_vertex_with_counter(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_emit_vertex_with_counter_indices indices) 5553{ 5554 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5555 build->shader, nir_intrinsic_emit_vertex_with_counter); 5556 5557 intrin->src[0] = nir_src_for_ssa(src0); 5558 intrin->src[1] = nir_src_for_ssa(src1); 5559 nir_intrinsic_set_stream_id(intrin, indices.stream_id); 5560 5561 nir_builder_instr_insert(build, &intrin->instr); 5562 return intrin; 5563} 5564static inline nir_intrinsic_instr * 5565_nir_build_end_invocation_interlock(nir_builder *build) 5566{ 5567 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5568 build->shader, nir_intrinsic_end_invocation_interlock); 5569 5570 5571 nir_builder_instr_insert(build, &intrin->instr); 5572 return intrin; 5573} 5574static inline nir_intrinsic_instr * 5575_nir_build_end_patch_ir3(nir_builder *build) 5576{ 5577 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5578 build->shader, nir_intrinsic_end_patch_ir3); 5579 5580 5581 nir_builder_instr_insert(build, &intrin->instr); 5582 return intrin; 5583} 5584static inline nir_intrinsic_instr * 5585_nir_build_end_primitive(nir_builder *build, struct _nir_end_primitive_indices indices) 5586{ 5587 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5588 build->shader, nir_intrinsic_end_primitive); 5589 5590 nir_intrinsic_set_stream_id(intrin, indices.stream_id); 5591 5592 nir_builder_instr_insert(build, &intrin->instr); 5593 return intrin; 5594} 5595static inline nir_intrinsic_instr * 5596_nir_build_end_primitive_with_counter(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_end_primitive_with_counter_indices indices) 5597{ 5598 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5599 build->shader, nir_intrinsic_end_primitive_with_counter); 5600 5601 intrin->src[0] = nir_src_for_ssa(src0); 5602 intrin->src[1] = nir_src_for_ssa(src1); 5603 nir_intrinsic_set_stream_id(intrin, indices.stream_id); 5604 5605 nir_builder_instr_insert(build, &intrin->instr); 5606 return intrin; 5607} 5608static inline nir_ssa_def * 5609_nir_build_exclusive_scan(nir_builder *build, nir_ssa_def *src0, struct _nir_exclusive_scan_indices indices) 5610{ 5611 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5612 build->shader, nir_intrinsic_exclusive_scan); 5613 5614 intrin->num_components = src0->num_components; 5615 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, src0->bit_size, NULL); 5616 intrin->src[0] = nir_src_for_ssa(src0); 5617 nir_intrinsic_set_reduction_op(intrin, indices.reduction_op); 5618 5619 nir_builder_instr_insert(build, &intrin->instr); 5620 return &intrin->dest.ssa; 5621} 5622static inline nir_intrinsic_instr * 5623_nir_build_execute_callable(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 5624{ 5625 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5626 build->shader, nir_intrinsic_execute_callable); 5627 5628 intrin->src[0] = nir_src_for_ssa(src0); 5629 intrin->src[1] = nir_src_for_ssa(src1); 5630 5631 nir_builder_instr_insert(build, &intrin->instr); 5632 return intrin; 5633} 5634static inline nir_intrinsic_instr * 5635_nir_build_export_primitive_amd(nir_builder *build, nir_ssa_def *src0) 5636{ 5637 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5638 build->shader, nir_intrinsic_export_primitive_amd); 5639 5640 intrin->src[0] = nir_src_for_ssa(src0); 5641 5642 nir_builder_instr_insert(build, &intrin->instr); 5643 return intrin; 5644} 5645static inline nir_intrinsic_instr * 5646_nir_build_export_vertex_amd(nir_builder *build) 5647{ 5648 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5649 build->shader, nir_intrinsic_export_vertex_amd); 5650 5651 5652 nir_builder_instr_insert(build, &intrin->instr); 5653 return intrin; 5654} 5655static inline nir_ssa_def * 5656_nir_build_first_invocation(nir_builder *build) 5657{ 5658 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5659 build->shader, nir_intrinsic_first_invocation); 5660 5661 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 5662 5663 nir_builder_instr_insert(build, &intrin->instr); 5664 return &intrin->dest.ssa; 5665} 5666static inline nir_ssa_def * 5667_nir_build_gds_atomic_add_amd(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_gds_atomic_add_amd_indices indices) 5668{ 5669 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5670 build->shader, nir_intrinsic_gds_atomic_add_amd); 5671 5672 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 5673 intrin->src[0] = nir_src_for_ssa(src0); 5674 intrin->src[1] = nir_src_for_ssa(src1); 5675 intrin->src[2] = nir_src_for_ssa(src2); 5676 nir_intrinsic_set_base(intrin, indices.base); 5677 5678 nir_builder_instr_insert(build, &intrin->instr); 5679 return &intrin->dest.ssa; 5680} 5681static inline nir_ssa_def * 5682_nir_build_get_ssbo_size(nir_builder *build, nir_ssa_def *src0, struct _nir_get_ssbo_size_indices indices) 5683{ 5684 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5685 build->shader, nir_intrinsic_get_ssbo_size); 5686 5687 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 5688 intrin->src[0] = nir_src_for_ssa(src0); 5689 nir_intrinsic_set_access(intrin, indices.access); 5690 5691 nir_builder_instr_insert(build, &intrin->instr); 5692 return &intrin->dest.ssa; 5693} 5694static inline nir_ssa_def * 5695_nir_build_get_ubo_size(nir_builder *build, unsigned bit_size, nir_ssa_def *src0) 5696{ 5697 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5698 build->shader, nir_intrinsic_get_ubo_size); 5699 5700 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 5701 intrin->src[0] = nir_src_for_ssa(src0); 5702 5703 nir_builder_instr_insert(build, &intrin->instr); 5704 return &intrin->dest.ssa; 5705} 5706static inline nir_ssa_def * 5707_nir_build_global_atomic_add(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_global_atomic_add_indices indices) 5708{ 5709 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5710 build->shader, nir_intrinsic_global_atomic_add); 5711 5712 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 5713 intrin->src[0] = nir_src_for_ssa(src0); 5714 intrin->src[1] = nir_src_for_ssa(src1); 5715 nir_intrinsic_set_base(intrin, indices.base); 5716 5717 nir_builder_instr_insert(build, &intrin->instr); 5718 return &intrin->dest.ssa; 5719} 5720static inline nir_ssa_def * 5721_nir_build_global_atomic_and(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_global_atomic_and_indices indices) 5722{ 5723 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5724 build->shader, nir_intrinsic_global_atomic_and); 5725 5726 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 5727 intrin->src[0] = nir_src_for_ssa(src0); 5728 intrin->src[1] = nir_src_for_ssa(src1); 5729 nir_intrinsic_set_base(intrin, indices.base); 5730 5731 nir_builder_instr_insert(build, &intrin->instr); 5732 return &intrin->dest.ssa; 5733} 5734static inline nir_ssa_def * 5735_nir_build_global_atomic_comp_swap(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_global_atomic_comp_swap_indices indices) 5736{ 5737 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5738 build->shader, nir_intrinsic_global_atomic_comp_swap); 5739 5740 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 5741 intrin->src[0] = nir_src_for_ssa(src0); 5742 intrin->src[1] = nir_src_for_ssa(src1); 5743 intrin->src[2] = nir_src_for_ssa(src2); 5744 nir_intrinsic_set_base(intrin, indices.base); 5745 5746 nir_builder_instr_insert(build, &intrin->instr); 5747 return &intrin->dest.ssa; 5748} 5749static inline nir_ssa_def * 5750_nir_build_global_atomic_exchange(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_global_atomic_exchange_indices indices) 5751{ 5752 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5753 build->shader, nir_intrinsic_global_atomic_exchange); 5754 5755 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 5756 intrin->src[0] = nir_src_for_ssa(src0); 5757 intrin->src[1] = nir_src_for_ssa(src1); 5758 nir_intrinsic_set_base(intrin, indices.base); 5759 5760 nir_builder_instr_insert(build, &intrin->instr); 5761 return &intrin->dest.ssa; 5762} 5763static inline nir_ssa_def * 5764_nir_build_global_atomic_fadd(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_global_atomic_fadd_indices indices) 5765{ 5766 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5767 build->shader, nir_intrinsic_global_atomic_fadd); 5768 5769 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 5770 intrin->src[0] = nir_src_for_ssa(src0); 5771 intrin->src[1] = nir_src_for_ssa(src1); 5772 nir_intrinsic_set_base(intrin, indices.base); 5773 5774 nir_builder_instr_insert(build, &intrin->instr); 5775 return &intrin->dest.ssa; 5776} 5777static inline nir_ssa_def * 5778_nir_build_global_atomic_fcomp_swap(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_global_atomic_fcomp_swap_indices indices) 5779{ 5780 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5781 build->shader, nir_intrinsic_global_atomic_fcomp_swap); 5782 5783 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 5784 intrin->src[0] = nir_src_for_ssa(src0); 5785 intrin->src[1] = nir_src_for_ssa(src1); 5786 intrin->src[2] = nir_src_for_ssa(src2); 5787 nir_intrinsic_set_base(intrin, indices.base); 5788 5789 nir_builder_instr_insert(build, &intrin->instr); 5790 return &intrin->dest.ssa; 5791} 5792static inline nir_ssa_def * 5793_nir_build_global_atomic_fmax(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_global_atomic_fmax_indices indices) 5794{ 5795 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5796 build->shader, nir_intrinsic_global_atomic_fmax); 5797 5798 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 5799 intrin->src[0] = nir_src_for_ssa(src0); 5800 intrin->src[1] = nir_src_for_ssa(src1); 5801 nir_intrinsic_set_base(intrin, indices.base); 5802 5803 nir_builder_instr_insert(build, &intrin->instr); 5804 return &intrin->dest.ssa; 5805} 5806static inline nir_ssa_def * 5807_nir_build_global_atomic_fmin(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_global_atomic_fmin_indices indices) 5808{ 5809 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5810 build->shader, nir_intrinsic_global_atomic_fmin); 5811 5812 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 5813 intrin->src[0] = nir_src_for_ssa(src0); 5814 intrin->src[1] = nir_src_for_ssa(src1); 5815 nir_intrinsic_set_base(intrin, indices.base); 5816 5817 nir_builder_instr_insert(build, &intrin->instr); 5818 return &intrin->dest.ssa; 5819} 5820static inline nir_ssa_def * 5821_nir_build_global_atomic_imax(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_global_atomic_imax_indices indices) 5822{ 5823 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5824 build->shader, nir_intrinsic_global_atomic_imax); 5825 5826 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 5827 intrin->src[0] = nir_src_for_ssa(src0); 5828 intrin->src[1] = nir_src_for_ssa(src1); 5829 nir_intrinsic_set_base(intrin, indices.base); 5830 5831 nir_builder_instr_insert(build, &intrin->instr); 5832 return &intrin->dest.ssa; 5833} 5834static inline nir_ssa_def * 5835_nir_build_global_atomic_imin(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_global_atomic_imin_indices indices) 5836{ 5837 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5838 build->shader, nir_intrinsic_global_atomic_imin); 5839 5840 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 5841 intrin->src[0] = nir_src_for_ssa(src0); 5842 intrin->src[1] = nir_src_for_ssa(src1); 5843 nir_intrinsic_set_base(intrin, indices.base); 5844 5845 nir_builder_instr_insert(build, &intrin->instr); 5846 return &intrin->dest.ssa; 5847} 5848static inline nir_ssa_def * 5849_nir_build_global_atomic_or(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_global_atomic_or_indices indices) 5850{ 5851 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5852 build->shader, nir_intrinsic_global_atomic_or); 5853 5854 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 5855 intrin->src[0] = nir_src_for_ssa(src0); 5856 intrin->src[1] = nir_src_for_ssa(src1); 5857 nir_intrinsic_set_base(intrin, indices.base); 5858 5859 nir_builder_instr_insert(build, &intrin->instr); 5860 return &intrin->dest.ssa; 5861} 5862static inline nir_ssa_def * 5863_nir_build_global_atomic_umax(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_global_atomic_umax_indices indices) 5864{ 5865 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5866 build->shader, nir_intrinsic_global_atomic_umax); 5867 5868 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 5869 intrin->src[0] = nir_src_for_ssa(src0); 5870 intrin->src[1] = nir_src_for_ssa(src1); 5871 nir_intrinsic_set_base(intrin, indices.base); 5872 5873 nir_builder_instr_insert(build, &intrin->instr); 5874 return &intrin->dest.ssa; 5875} 5876static inline nir_ssa_def * 5877_nir_build_global_atomic_umin(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_global_atomic_umin_indices indices) 5878{ 5879 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5880 build->shader, nir_intrinsic_global_atomic_umin); 5881 5882 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 5883 intrin->src[0] = nir_src_for_ssa(src0); 5884 intrin->src[1] = nir_src_for_ssa(src1); 5885 nir_intrinsic_set_base(intrin, indices.base); 5886 5887 nir_builder_instr_insert(build, &intrin->instr); 5888 return &intrin->dest.ssa; 5889} 5890static inline nir_ssa_def * 5891_nir_build_global_atomic_xor(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_global_atomic_xor_indices indices) 5892{ 5893 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5894 build->shader, nir_intrinsic_global_atomic_xor); 5895 5896 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 5897 intrin->src[0] = nir_src_for_ssa(src0); 5898 intrin->src[1] = nir_src_for_ssa(src1); 5899 nir_intrinsic_set_base(intrin, indices.base); 5900 5901 nir_builder_instr_insert(build, &intrin->instr); 5902 return &intrin->dest.ssa; 5903} 5904static inline nir_intrinsic_instr * 5905_nir_build_group_memory_barrier(nir_builder *build) 5906{ 5907 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5908 build->shader, nir_intrinsic_group_memory_barrier); 5909 5910 5911 nir_builder_instr_insert(build, &intrin->instr); 5912 return intrin; 5913} 5914static inline nir_ssa_def * 5915_nir_build_has_input_primitive_amd(nir_builder *build) 5916{ 5917 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5918 build->shader, nir_intrinsic_has_input_primitive_amd); 5919 5920 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 1, NULL); 5921 5922 nir_builder_instr_insert(build, &intrin->instr); 5923 return &intrin->dest.ssa; 5924} 5925static inline nir_ssa_def * 5926_nir_build_has_input_vertex_amd(nir_builder *build) 5927{ 5928 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5929 build->shader, nir_intrinsic_has_input_vertex_amd); 5930 5931 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 1, NULL); 5932 5933 nir_builder_instr_insert(build, &intrin->instr); 5934 return &intrin->dest.ssa; 5935} 5936static inline nir_intrinsic_instr * 5937_nir_build_ignore_ray_intersection(nir_builder *build) 5938{ 5939 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5940 build->shader, nir_intrinsic_ignore_ray_intersection); 5941 5942 5943 nir_builder_instr_insert(build, &intrin->instr); 5944 return intrin; 5945} 5946static inline nir_ssa_def * 5947_nir_build_image_atomic_add(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_atomic_add_indices indices) 5948{ 5949 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5950 build->shader, nir_intrinsic_image_atomic_add); 5951 5952 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 5953 intrin->src[0] = nir_src_for_ssa(src0); 5954 intrin->src[1] = nir_src_for_ssa(src1); 5955 intrin->src[2] = nir_src_for_ssa(src2); 5956 intrin->src[3] = nir_src_for_ssa(src3); 5957 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 5958 nir_intrinsic_set_image_array(intrin, indices.image_array); 5959 nir_intrinsic_set_format(intrin, indices.format); 5960 nir_intrinsic_set_access(intrin, indices.access); 5961 5962 nir_builder_instr_insert(build, &intrin->instr); 5963 return &intrin->dest.ssa; 5964} 5965static inline nir_ssa_def * 5966_nir_build_image_atomic_and(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_atomic_and_indices indices) 5967{ 5968 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5969 build->shader, nir_intrinsic_image_atomic_and); 5970 5971 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 5972 intrin->src[0] = nir_src_for_ssa(src0); 5973 intrin->src[1] = nir_src_for_ssa(src1); 5974 intrin->src[2] = nir_src_for_ssa(src2); 5975 intrin->src[3] = nir_src_for_ssa(src3); 5976 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 5977 nir_intrinsic_set_image_array(intrin, indices.image_array); 5978 nir_intrinsic_set_format(intrin, indices.format); 5979 nir_intrinsic_set_access(intrin, indices.access); 5980 5981 nir_builder_instr_insert(build, &intrin->instr); 5982 return &intrin->dest.ssa; 5983} 5984static inline nir_ssa_def * 5985_nir_build_image_atomic_comp_swap(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, nir_ssa_def *src4, struct _nir_image_atomic_comp_swap_indices indices) 5986{ 5987 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 5988 build->shader, nir_intrinsic_image_atomic_comp_swap); 5989 5990 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 5991 intrin->src[0] = nir_src_for_ssa(src0); 5992 intrin->src[1] = nir_src_for_ssa(src1); 5993 intrin->src[2] = nir_src_for_ssa(src2); 5994 intrin->src[3] = nir_src_for_ssa(src3); 5995 intrin->src[4] = nir_src_for_ssa(src4); 5996 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 5997 nir_intrinsic_set_image_array(intrin, indices.image_array); 5998 nir_intrinsic_set_format(intrin, indices.format); 5999 nir_intrinsic_set_access(intrin, indices.access); 6000 6001 nir_builder_instr_insert(build, &intrin->instr); 6002 return &intrin->dest.ssa; 6003} 6004static inline nir_ssa_def * 6005_nir_build_image_atomic_dec_wrap(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_atomic_dec_wrap_indices indices) 6006{ 6007 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6008 build->shader, nir_intrinsic_image_atomic_dec_wrap); 6009 6010 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 6011 intrin->src[0] = nir_src_for_ssa(src0); 6012 intrin->src[1] = nir_src_for_ssa(src1); 6013 intrin->src[2] = nir_src_for_ssa(src2); 6014 intrin->src[3] = nir_src_for_ssa(src3); 6015 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 6016 nir_intrinsic_set_image_array(intrin, indices.image_array); 6017 nir_intrinsic_set_format(intrin, indices.format); 6018 nir_intrinsic_set_access(intrin, indices.access); 6019 6020 nir_builder_instr_insert(build, &intrin->instr); 6021 return &intrin->dest.ssa; 6022} 6023static inline nir_ssa_def * 6024_nir_build_image_atomic_exchange(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_atomic_exchange_indices indices) 6025{ 6026 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6027 build->shader, nir_intrinsic_image_atomic_exchange); 6028 6029 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 6030 intrin->src[0] = nir_src_for_ssa(src0); 6031 intrin->src[1] = nir_src_for_ssa(src1); 6032 intrin->src[2] = nir_src_for_ssa(src2); 6033 intrin->src[3] = nir_src_for_ssa(src3); 6034 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 6035 nir_intrinsic_set_image_array(intrin, indices.image_array); 6036 nir_intrinsic_set_format(intrin, indices.format); 6037 nir_intrinsic_set_access(intrin, indices.access); 6038 6039 nir_builder_instr_insert(build, &intrin->instr); 6040 return &intrin->dest.ssa; 6041} 6042static inline nir_ssa_def * 6043_nir_build_image_atomic_fadd(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_atomic_fadd_indices indices) 6044{ 6045 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6046 build->shader, nir_intrinsic_image_atomic_fadd); 6047 6048 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 6049 intrin->src[0] = nir_src_for_ssa(src0); 6050 intrin->src[1] = nir_src_for_ssa(src1); 6051 intrin->src[2] = nir_src_for_ssa(src2); 6052 intrin->src[3] = nir_src_for_ssa(src3); 6053 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 6054 nir_intrinsic_set_image_array(intrin, indices.image_array); 6055 nir_intrinsic_set_format(intrin, indices.format); 6056 nir_intrinsic_set_access(intrin, indices.access); 6057 6058 nir_builder_instr_insert(build, &intrin->instr); 6059 return &intrin->dest.ssa; 6060} 6061static inline nir_ssa_def * 6062_nir_build_image_atomic_fmax(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_atomic_fmax_indices indices) 6063{ 6064 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6065 build->shader, nir_intrinsic_image_atomic_fmax); 6066 6067 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 6068 intrin->src[0] = nir_src_for_ssa(src0); 6069 intrin->src[1] = nir_src_for_ssa(src1); 6070 intrin->src[2] = nir_src_for_ssa(src2); 6071 intrin->src[3] = nir_src_for_ssa(src3); 6072 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 6073 nir_intrinsic_set_image_array(intrin, indices.image_array); 6074 nir_intrinsic_set_format(intrin, indices.format); 6075 nir_intrinsic_set_access(intrin, indices.access); 6076 6077 nir_builder_instr_insert(build, &intrin->instr); 6078 return &intrin->dest.ssa; 6079} 6080static inline nir_ssa_def * 6081_nir_build_image_atomic_fmin(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_atomic_fmin_indices indices) 6082{ 6083 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6084 build->shader, nir_intrinsic_image_atomic_fmin); 6085 6086 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 6087 intrin->src[0] = nir_src_for_ssa(src0); 6088 intrin->src[1] = nir_src_for_ssa(src1); 6089 intrin->src[2] = nir_src_for_ssa(src2); 6090 intrin->src[3] = nir_src_for_ssa(src3); 6091 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 6092 nir_intrinsic_set_image_array(intrin, indices.image_array); 6093 nir_intrinsic_set_format(intrin, indices.format); 6094 nir_intrinsic_set_access(intrin, indices.access); 6095 6096 nir_builder_instr_insert(build, &intrin->instr); 6097 return &intrin->dest.ssa; 6098} 6099static inline nir_ssa_def * 6100_nir_build_image_atomic_imax(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_atomic_imax_indices indices) 6101{ 6102 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6103 build->shader, nir_intrinsic_image_atomic_imax); 6104 6105 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 6106 intrin->src[0] = nir_src_for_ssa(src0); 6107 intrin->src[1] = nir_src_for_ssa(src1); 6108 intrin->src[2] = nir_src_for_ssa(src2); 6109 intrin->src[3] = nir_src_for_ssa(src3); 6110 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 6111 nir_intrinsic_set_image_array(intrin, indices.image_array); 6112 nir_intrinsic_set_format(intrin, indices.format); 6113 nir_intrinsic_set_access(intrin, indices.access); 6114 6115 nir_builder_instr_insert(build, &intrin->instr); 6116 return &intrin->dest.ssa; 6117} 6118static inline nir_ssa_def * 6119_nir_build_image_atomic_imin(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_atomic_imin_indices indices) 6120{ 6121 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6122 build->shader, nir_intrinsic_image_atomic_imin); 6123 6124 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 6125 intrin->src[0] = nir_src_for_ssa(src0); 6126 intrin->src[1] = nir_src_for_ssa(src1); 6127 intrin->src[2] = nir_src_for_ssa(src2); 6128 intrin->src[3] = nir_src_for_ssa(src3); 6129 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 6130 nir_intrinsic_set_image_array(intrin, indices.image_array); 6131 nir_intrinsic_set_format(intrin, indices.format); 6132 nir_intrinsic_set_access(intrin, indices.access); 6133 6134 nir_builder_instr_insert(build, &intrin->instr); 6135 return &intrin->dest.ssa; 6136} 6137static inline nir_ssa_def * 6138_nir_build_image_atomic_inc_wrap(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_atomic_inc_wrap_indices indices) 6139{ 6140 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6141 build->shader, nir_intrinsic_image_atomic_inc_wrap); 6142 6143 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 6144 intrin->src[0] = nir_src_for_ssa(src0); 6145 intrin->src[1] = nir_src_for_ssa(src1); 6146 intrin->src[2] = nir_src_for_ssa(src2); 6147 intrin->src[3] = nir_src_for_ssa(src3); 6148 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 6149 nir_intrinsic_set_image_array(intrin, indices.image_array); 6150 nir_intrinsic_set_format(intrin, indices.format); 6151 nir_intrinsic_set_access(intrin, indices.access); 6152 6153 nir_builder_instr_insert(build, &intrin->instr); 6154 return &intrin->dest.ssa; 6155} 6156static inline nir_ssa_def * 6157_nir_build_image_atomic_or(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_atomic_or_indices indices) 6158{ 6159 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6160 build->shader, nir_intrinsic_image_atomic_or); 6161 6162 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 6163 intrin->src[0] = nir_src_for_ssa(src0); 6164 intrin->src[1] = nir_src_for_ssa(src1); 6165 intrin->src[2] = nir_src_for_ssa(src2); 6166 intrin->src[3] = nir_src_for_ssa(src3); 6167 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 6168 nir_intrinsic_set_image_array(intrin, indices.image_array); 6169 nir_intrinsic_set_format(intrin, indices.format); 6170 nir_intrinsic_set_access(intrin, indices.access); 6171 6172 nir_builder_instr_insert(build, &intrin->instr); 6173 return &intrin->dest.ssa; 6174} 6175static inline nir_ssa_def * 6176_nir_build_image_atomic_umax(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_atomic_umax_indices indices) 6177{ 6178 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6179 build->shader, nir_intrinsic_image_atomic_umax); 6180 6181 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 6182 intrin->src[0] = nir_src_for_ssa(src0); 6183 intrin->src[1] = nir_src_for_ssa(src1); 6184 intrin->src[2] = nir_src_for_ssa(src2); 6185 intrin->src[3] = nir_src_for_ssa(src3); 6186 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 6187 nir_intrinsic_set_image_array(intrin, indices.image_array); 6188 nir_intrinsic_set_format(intrin, indices.format); 6189 nir_intrinsic_set_access(intrin, indices.access); 6190 6191 nir_builder_instr_insert(build, &intrin->instr); 6192 return &intrin->dest.ssa; 6193} 6194static inline nir_ssa_def * 6195_nir_build_image_atomic_umin(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_atomic_umin_indices indices) 6196{ 6197 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6198 build->shader, nir_intrinsic_image_atomic_umin); 6199 6200 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 6201 intrin->src[0] = nir_src_for_ssa(src0); 6202 intrin->src[1] = nir_src_for_ssa(src1); 6203 intrin->src[2] = nir_src_for_ssa(src2); 6204 intrin->src[3] = nir_src_for_ssa(src3); 6205 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 6206 nir_intrinsic_set_image_array(intrin, indices.image_array); 6207 nir_intrinsic_set_format(intrin, indices.format); 6208 nir_intrinsic_set_access(intrin, indices.access); 6209 6210 nir_builder_instr_insert(build, &intrin->instr); 6211 return &intrin->dest.ssa; 6212} 6213static inline nir_ssa_def * 6214_nir_build_image_atomic_xor(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_atomic_xor_indices indices) 6215{ 6216 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6217 build->shader, nir_intrinsic_image_atomic_xor); 6218 6219 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 6220 intrin->src[0] = nir_src_for_ssa(src0); 6221 intrin->src[1] = nir_src_for_ssa(src1); 6222 intrin->src[2] = nir_src_for_ssa(src2); 6223 intrin->src[3] = nir_src_for_ssa(src3); 6224 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 6225 nir_intrinsic_set_image_array(intrin, indices.image_array); 6226 nir_intrinsic_set_format(intrin, indices.format); 6227 nir_intrinsic_set_access(intrin, indices.access); 6228 6229 nir_builder_instr_insert(build, &intrin->instr); 6230 return &intrin->dest.ssa; 6231} 6232static inline nir_ssa_def * 6233_nir_build_image_deref_atomic_add(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_deref_atomic_add_indices indices) 6234{ 6235 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6236 build->shader, nir_intrinsic_image_deref_atomic_add); 6237 6238 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 6239 intrin->src[0] = nir_src_for_ssa(src0); 6240 intrin->src[1] = nir_src_for_ssa(src1); 6241 intrin->src[2] = nir_src_for_ssa(src2); 6242 intrin->src[3] = nir_src_for_ssa(src3); 6243 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 6244 nir_intrinsic_set_image_array(intrin, indices.image_array); 6245 nir_intrinsic_set_format(intrin, indices.format); 6246 nir_intrinsic_set_access(intrin, indices.access); 6247 6248 nir_builder_instr_insert(build, &intrin->instr); 6249 return &intrin->dest.ssa; 6250} 6251static inline nir_ssa_def * 6252_nir_build_image_deref_atomic_and(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_deref_atomic_and_indices indices) 6253{ 6254 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6255 build->shader, nir_intrinsic_image_deref_atomic_and); 6256 6257 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 6258 intrin->src[0] = nir_src_for_ssa(src0); 6259 intrin->src[1] = nir_src_for_ssa(src1); 6260 intrin->src[2] = nir_src_for_ssa(src2); 6261 intrin->src[3] = nir_src_for_ssa(src3); 6262 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 6263 nir_intrinsic_set_image_array(intrin, indices.image_array); 6264 nir_intrinsic_set_format(intrin, indices.format); 6265 nir_intrinsic_set_access(intrin, indices.access); 6266 6267 nir_builder_instr_insert(build, &intrin->instr); 6268 return &intrin->dest.ssa; 6269} 6270static inline nir_ssa_def * 6271_nir_build_image_deref_atomic_comp_swap(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, nir_ssa_def *src4, struct _nir_image_deref_atomic_comp_swap_indices indices) 6272{ 6273 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6274 build->shader, nir_intrinsic_image_deref_atomic_comp_swap); 6275 6276 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 6277 intrin->src[0] = nir_src_for_ssa(src0); 6278 intrin->src[1] = nir_src_for_ssa(src1); 6279 intrin->src[2] = nir_src_for_ssa(src2); 6280 intrin->src[3] = nir_src_for_ssa(src3); 6281 intrin->src[4] = nir_src_for_ssa(src4); 6282 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 6283 nir_intrinsic_set_image_array(intrin, indices.image_array); 6284 nir_intrinsic_set_format(intrin, indices.format); 6285 nir_intrinsic_set_access(intrin, indices.access); 6286 6287 nir_builder_instr_insert(build, &intrin->instr); 6288 return &intrin->dest.ssa; 6289} 6290static inline nir_ssa_def * 6291_nir_build_image_deref_atomic_dec_wrap(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_deref_atomic_dec_wrap_indices indices) 6292{ 6293 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6294 build->shader, nir_intrinsic_image_deref_atomic_dec_wrap); 6295 6296 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 6297 intrin->src[0] = nir_src_for_ssa(src0); 6298 intrin->src[1] = nir_src_for_ssa(src1); 6299 intrin->src[2] = nir_src_for_ssa(src2); 6300 intrin->src[3] = nir_src_for_ssa(src3); 6301 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 6302 nir_intrinsic_set_image_array(intrin, indices.image_array); 6303 nir_intrinsic_set_format(intrin, indices.format); 6304 nir_intrinsic_set_access(intrin, indices.access); 6305 6306 nir_builder_instr_insert(build, &intrin->instr); 6307 return &intrin->dest.ssa; 6308} 6309static inline nir_ssa_def * 6310_nir_build_image_deref_atomic_exchange(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_deref_atomic_exchange_indices indices) 6311{ 6312 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6313 build->shader, nir_intrinsic_image_deref_atomic_exchange); 6314 6315 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 6316 intrin->src[0] = nir_src_for_ssa(src0); 6317 intrin->src[1] = nir_src_for_ssa(src1); 6318 intrin->src[2] = nir_src_for_ssa(src2); 6319 intrin->src[3] = nir_src_for_ssa(src3); 6320 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 6321 nir_intrinsic_set_image_array(intrin, indices.image_array); 6322 nir_intrinsic_set_format(intrin, indices.format); 6323 nir_intrinsic_set_access(intrin, indices.access); 6324 6325 nir_builder_instr_insert(build, &intrin->instr); 6326 return &intrin->dest.ssa; 6327} 6328static inline nir_ssa_def * 6329_nir_build_image_deref_atomic_fadd(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_deref_atomic_fadd_indices indices) 6330{ 6331 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6332 build->shader, nir_intrinsic_image_deref_atomic_fadd); 6333 6334 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 6335 intrin->src[0] = nir_src_for_ssa(src0); 6336 intrin->src[1] = nir_src_for_ssa(src1); 6337 intrin->src[2] = nir_src_for_ssa(src2); 6338 intrin->src[3] = nir_src_for_ssa(src3); 6339 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 6340 nir_intrinsic_set_image_array(intrin, indices.image_array); 6341 nir_intrinsic_set_format(intrin, indices.format); 6342 nir_intrinsic_set_access(intrin, indices.access); 6343 6344 nir_builder_instr_insert(build, &intrin->instr); 6345 return &intrin->dest.ssa; 6346} 6347static inline nir_ssa_def * 6348_nir_build_image_deref_atomic_fmax(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_deref_atomic_fmax_indices indices) 6349{ 6350 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6351 build->shader, nir_intrinsic_image_deref_atomic_fmax); 6352 6353 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 6354 intrin->src[0] = nir_src_for_ssa(src0); 6355 intrin->src[1] = nir_src_for_ssa(src1); 6356 intrin->src[2] = nir_src_for_ssa(src2); 6357 intrin->src[3] = nir_src_for_ssa(src3); 6358 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 6359 nir_intrinsic_set_image_array(intrin, indices.image_array); 6360 nir_intrinsic_set_format(intrin, indices.format); 6361 nir_intrinsic_set_access(intrin, indices.access); 6362 6363 nir_builder_instr_insert(build, &intrin->instr); 6364 return &intrin->dest.ssa; 6365} 6366static inline nir_ssa_def * 6367_nir_build_image_deref_atomic_fmin(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_deref_atomic_fmin_indices indices) 6368{ 6369 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6370 build->shader, nir_intrinsic_image_deref_atomic_fmin); 6371 6372 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 6373 intrin->src[0] = nir_src_for_ssa(src0); 6374 intrin->src[1] = nir_src_for_ssa(src1); 6375 intrin->src[2] = nir_src_for_ssa(src2); 6376 intrin->src[3] = nir_src_for_ssa(src3); 6377 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 6378 nir_intrinsic_set_image_array(intrin, indices.image_array); 6379 nir_intrinsic_set_format(intrin, indices.format); 6380 nir_intrinsic_set_access(intrin, indices.access); 6381 6382 nir_builder_instr_insert(build, &intrin->instr); 6383 return &intrin->dest.ssa; 6384} 6385static inline nir_ssa_def * 6386_nir_build_image_deref_atomic_imax(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_deref_atomic_imax_indices indices) 6387{ 6388 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6389 build->shader, nir_intrinsic_image_deref_atomic_imax); 6390 6391 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 6392 intrin->src[0] = nir_src_for_ssa(src0); 6393 intrin->src[1] = nir_src_for_ssa(src1); 6394 intrin->src[2] = nir_src_for_ssa(src2); 6395 intrin->src[3] = nir_src_for_ssa(src3); 6396 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 6397 nir_intrinsic_set_image_array(intrin, indices.image_array); 6398 nir_intrinsic_set_format(intrin, indices.format); 6399 nir_intrinsic_set_access(intrin, indices.access); 6400 6401 nir_builder_instr_insert(build, &intrin->instr); 6402 return &intrin->dest.ssa; 6403} 6404static inline nir_ssa_def * 6405_nir_build_image_deref_atomic_imin(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_deref_atomic_imin_indices indices) 6406{ 6407 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6408 build->shader, nir_intrinsic_image_deref_atomic_imin); 6409 6410 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 6411 intrin->src[0] = nir_src_for_ssa(src0); 6412 intrin->src[1] = nir_src_for_ssa(src1); 6413 intrin->src[2] = nir_src_for_ssa(src2); 6414 intrin->src[3] = nir_src_for_ssa(src3); 6415 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 6416 nir_intrinsic_set_image_array(intrin, indices.image_array); 6417 nir_intrinsic_set_format(intrin, indices.format); 6418 nir_intrinsic_set_access(intrin, indices.access); 6419 6420 nir_builder_instr_insert(build, &intrin->instr); 6421 return &intrin->dest.ssa; 6422} 6423static inline nir_ssa_def * 6424_nir_build_image_deref_atomic_inc_wrap(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_deref_atomic_inc_wrap_indices indices) 6425{ 6426 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6427 build->shader, nir_intrinsic_image_deref_atomic_inc_wrap); 6428 6429 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 6430 intrin->src[0] = nir_src_for_ssa(src0); 6431 intrin->src[1] = nir_src_for_ssa(src1); 6432 intrin->src[2] = nir_src_for_ssa(src2); 6433 intrin->src[3] = nir_src_for_ssa(src3); 6434 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 6435 nir_intrinsic_set_image_array(intrin, indices.image_array); 6436 nir_intrinsic_set_format(intrin, indices.format); 6437 nir_intrinsic_set_access(intrin, indices.access); 6438 6439 nir_builder_instr_insert(build, &intrin->instr); 6440 return &intrin->dest.ssa; 6441} 6442static inline nir_ssa_def * 6443_nir_build_image_deref_atomic_or(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_deref_atomic_or_indices indices) 6444{ 6445 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6446 build->shader, nir_intrinsic_image_deref_atomic_or); 6447 6448 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 6449 intrin->src[0] = nir_src_for_ssa(src0); 6450 intrin->src[1] = nir_src_for_ssa(src1); 6451 intrin->src[2] = nir_src_for_ssa(src2); 6452 intrin->src[3] = nir_src_for_ssa(src3); 6453 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 6454 nir_intrinsic_set_image_array(intrin, indices.image_array); 6455 nir_intrinsic_set_format(intrin, indices.format); 6456 nir_intrinsic_set_access(intrin, indices.access); 6457 6458 nir_builder_instr_insert(build, &intrin->instr); 6459 return &intrin->dest.ssa; 6460} 6461static inline nir_ssa_def * 6462_nir_build_image_deref_atomic_umax(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_deref_atomic_umax_indices indices) 6463{ 6464 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6465 build->shader, nir_intrinsic_image_deref_atomic_umax); 6466 6467 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 6468 intrin->src[0] = nir_src_for_ssa(src0); 6469 intrin->src[1] = nir_src_for_ssa(src1); 6470 intrin->src[2] = nir_src_for_ssa(src2); 6471 intrin->src[3] = nir_src_for_ssa(src3); 6472 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 6473 nir_intrinsic_set_image_array(intrin, indices.image_array); 6474 nir_intrinsic_set_format(intrin, indices.format); 6475 nir_intrinsic_set_access(intrin, indices.access); 6476 6477 nir_builder_instr_insert(build, &intrin->instr); 6478 return &intrin->dest.ssa; 6479} 6480static inline nir_ssa_def * 6481_nir_build_image_deref_atomic_umin(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_deref_atomic_umin_indices indices) 6482{ 6483 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6484 build->shader, nir_intrinsic_image_deref_atomic_umin); 6485 6486 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 6487 intrin->src[0] = nir_src_for_ssa(src0); 6488 intrin->src[1] = nir_src_for_ssa(src1); 6489 intrin->src[2] = nir_src_for_ssa(src2); 6490 intrin->src[3] = nir_src_for_ssa(src3); 6491 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 6492 nir_intrinsic_set_image_array(intrin, indices.image_array); 6493 nir_intrinsic_set_format(intrin, indices.format); 6494 nir_intrinsic_set_access(intrin, indices.access); 6495 6496 nir_builder_instr_insert(build, &intrin->instr); 6497 return &intrin->dest.ssa; 6498} 6499static inline nir_ssa_def * 6500_nir_build_image_deref_atomic_xor(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_deref_atomic_xor_indices indices) 6501{ 6502 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6503 build->shader, nir_intrinsic_image_deref_atomic_xor); 6504 6505 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 6506 intrin->src[0] = nir_src_for_ssa(src0); 6507 intrin->src[1] = nir_src_for_ssa(src1); 6508 intrin->src[2] = nir_src_for_ssa(src2); 6509 intrin->src[3] = nir_src_for_ssa(src3); 6510 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 6511 nir_intrinsic_set_image_array(intrin, indices.image_array); 6512 nir_intrinsic_set_format(intrin, indices.format); 6513 nir_intrinsic_set_access(intrin, indices.access); 6514 6515 nir_builder_instr_insert(build, &intrin->instr); 6516 return &intrin->dest.ssa; 6517} 6518static inline nir_ssa_def * 6519_nir_build_image_deref_format(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, struct _nir_image_deref_format_indices indices) 6520{ 6521 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6522 build->shader, nir_intrinsic_image_deref_format); 6523 6524 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 6525 intrin->src[0] = nir_src_for_ssa(src0); 6526 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 6527 nir_intrinsic_set_image_array(intrin, indices.image_array); 6528 nir_intrinsic_set_format(intrin, indices.format); 6529 nir_intrinsic_set_access(intrin, indices.access); 6530 6531 nir_builder_instr_insert(build, &intrin->instr); 6532 return &intrin->dest.ssa; 6533} 6534static inline nir_ssa_def * 6535_nir_build_image_deref_load(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_deref_load_indices indices) 6536{ 6537 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6538 build->shader, nir_intrinsic_image_deref_load); 6539 6540 intrin->num_components = num_components; 6541 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 6542 intrin->src[0] = nir_src_for_ssa(src0); 6543 intrin->src[1] = nir_src_for_ssa(src1); 6544 intrin->src[2] = nir_src_for_ssa(src2); 6545 intrin->src[3] = nir_src_for_ssa(src3); 6546 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 6547 nir_intrinsic_set_image_array(intrin, indices.image_array); 6548 nir_intrinsic_set_format(intrin, indices.format); 6549 nir_intrinsic_set_access(intrin, indices.access); 6550 nir_intrinsic_set_dest_type(intrin, indices.dest_type); 6551 6552 nir_builder_instr_insert(build, &intrin->instr); 6553 return &intrin->dest.ssa; 6554} 6555static inline nir_ssa_def * 6556_nir_build_image_deref_load_param_intel(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, struct _nir_image_deref_load_param_intel_indices indices) 6557{ 6558 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6559 build->shader, nir_intrinsic_image_deref_load_param_intel); 6560 6561 intrin->num_components = num_components; 6562 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 6563 intrin->src[0] = nir_src_for_ssa(src0); 6564 nir_intrinsic_set_base(intrin, indices.base); 6565 6566 nir_builder_instr_insert(build, &intrin->instr); 6567 return &intrin->dest.ssa; 6568} 6569static inline nir_ssa_def * 6570_nir_build_image_deref_load_raw_intel(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_image_deref_load_raw_intel_indices indices) 6571{ 6572 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6573 build->shader, nir_intrinsic_image_deref_load_raw_intel); 6574 6575 intrin->num_components = num_components; 6576 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 6577 intrin->src[0] = nir_src_for_ssa(src0); 6578 intrin->src[1] = nir_src_for_ssa(src1); 6579 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 6580 nir_intrinsic_set_image_array(intrin, indices.image_array); 6581 nir_intrinsic_set_format(intrin, indices.format); 6582 nir_intrinsic_set_access(intrin, indices.access); 6583 6584 nir_builder_instr_insert(build, &intrin->instr); 6585 return &intrin->dest.ssa; 6586} 6587static inline nir_ssa_def * 6588_nir_build_image_deref_order(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, struct _nir_image_deref_order_indices indices) 6589{ 6590 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6591 build->shader, nir_intrinsic_image_deref_order); 6592 6593 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 6594 intrin->src[0] = nir_src_for_ssa(src0); 6595 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 6596 nir_intrinsic_set_image_array(intrin, indices.image_array); 6597 nir_intrinsic_set_format(intrin, indices.format); 6598 nir_intrinsic_set_access(intrin, indices.access); 6599 6600 nir_builder_instr_insert(build, &intrin->instr); 6601 return &intrin->dest.ssa; 6602} 6603static inline nir_ssa_def * 6604_nir_build_image_deref_samples(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, struct _nir_image_deref_samples_indices indices) 6605{ 6606 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6607 build->shader, nir_intrinsic_image_deref_samples); 6608 6609 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 6610 intrin->src[0] = nir_src_for_ssa(src0); 6611 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 6612 nir_intrinsic_set_image_array(intrin, indices.image_array); 6613 nir_intrinsic_set_format(intrin, indices.format); 6614 nir_intrinsic_set_access(intrin, indices.access); 6615 6616 nir_builder_instr_insert(build, &intrin->instr); 6617 return &intrin->dest.ssa; 6618} 6619static inline nir_ssa_def * 6620_nir_build_image_deref_size(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_image_deref_size_indices indices) 6621{ 6622 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6623 build->shader, nir_intrinsic_image_deref_size); 6624 6625 intrin->num_components = num_components; 6626 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 6627 intrin->src[0] = nir_src_for_ssa(src0); 6628 intrin->src[1] = nir_src_for_ssa(src1); 6629 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 6630 nir_intrinsic_set_image_array(intrin, indices.image_array); 6631 nir_intrinsic_set_format(intrin, indices.format); 6632 nir_intrinsic_set_access(intrin, indices.access); 6633 6634 nir_builder_instr_insert(build, &intrin->instr); 6635 return &intrin->dest.ssa; 6636} 6637static inline nir_ssa_def * 6638_nir_build_image_deref_sparse_load(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_deref_sparse_load_indices indices) 6639{ 6640 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6641 build->shader, nir_intrinsic_image_deref_sparse_load); 6642 6643 intrin->num_components = num_components; 6644 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 6645 intrin->src[0] = nir_src_for_ssa(src0); 6646 intrin->src[1] = nir_src_for_ssa(src1); 6647 intrin->src[2] = nir_src_for_ssa(src2); 6648 intrin->src[3] = nir_src_for_ssa(src3); 6649 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 6650 nir_intrinsic_set_image_array(intrin, indices.image_array); 6651 nir_intrinsic_set_format(intrin, indices.format); 6652 nir_intrinsic_set_access(intrin, indices.access); 6653 nir_intrinsic_set_dest_type(intrin, indices.dest_type); 6654 6655 nir_builder_instr_insert(build, &intrin->instr); 6656 return &intrin->dest.ssa; 6657} 6658static inline nir_intrinsic_instr * 6659_nir_build_image_deref_store(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, nir_ssa_def *src4, struct _nir_image_deref_store_indices indices) 6660{ 6661 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6662 build->shader, nir_intrinsic_image_deref_store); 6663 6664 intrin->num_components = src3->num_components; 6665 intrin->src[0] = nir_src_for_ssa(src0); 6666 intrin->src[1] = nir_src_for_ssa(src1); 6667 intrin->src[2] = nir_src_for_ssa(src2); 6668 intrin->src[3] = nir_src_for_ssa(src3); 6669 intrin->src[4] = nir_src_for_ssa(src4); 6670 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 6671 nir_intrinsic_set_image_array(intrin, indices.image_array); 6672 nir_intrinsic_set_format(intrin, indices.format); 6673 nir_intrinsic_set_access(intrin, indices.access); 6674 nir_intrinsic_set_src_type(intrin, indices.src_type); 6675 6676 nir_builder_instr_insert(build, &intrin->instr); 6677 return intrin; 6678} 6679static inline nir_intrinsic_instr * 6680_nir_build_image_deref_store_raw_intel(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_image_deref_store_raw_intel_indices indices) 6681{ 6682 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6683 build->shader, nir_intrinsic_image_deref_store_raw_intel); 6684 6685 intrin->num_components = src2->num_components; 6686 intrin->src[0] = nir_src_for_ssa(src0); 6687 intrin->src[1] = nir_src_for_ssa(src1); 6688 intrin->src[2] = nir_src_for_ssa(src2); 6689 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 6690 nir_intrinsic_set_image_array(intrin, indices.image_array); 6691 nir_intrinsic_set_format(intrin, indices.format); 6692 nir_intrinsic_set_access(intrin, indices.access); 6693 6694 nir_builder_instr_insert(build, &intrin->instr); 6695 return intrin; 6696} 6697static inline nir_ssa_def * 6698_nir_build_image_format(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, struct _nir_image_format_indices indices) 6699{ 6700 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6701 build->shader, nir_intrinsic_image_format); 6702 6703 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 6704 intrin->src[0] = nir_src_for_ssa(src0); 6705 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 6706 nir_intrinsic_set_image_array(intrin, indices.image_array); 6707 nir_intrinsic_set_format(intrin, indices.format); 6708 nir_intrinsic_set_access(intrin, indices.access); 6709 6710 nir_builder_instr_insert(build, &intrin->instr); 6711 return &intrin->dest.ssa; 6712} 6713static inline nir_ssa_def * 6714_nir_build_image_load(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_load_indices indices) 6715{ 6716 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6717 build->shader, nir_intrinsic_image_load); 6718 6719 intrin->num_components = num_components; 6720 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 6721 intrin->src[0] = nir_src_for_ssa(src0); 6722 intrin->src[1] = nir_src_for_ssa(src1); 6723 intrin->src[2] = nir_src_for_ssa(src2); 6724 intrin->src[3] = nir_src_for_ssa(src3); 6725 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 6726 nir_intrinsic_set_image_array(intrin, indices.image_array); 6727 nir_intrinsic_set_format(intrin, indices.format); 6728 nir_intrinsic_set_access(intrin, indices.access); 6729 nir_intrinsic_set_dest_type(intrin, indices.dest_type); 6730 6731 nir_builder_instr_insert(build, &intrin->instr); 6732 return &intrin->dest.ssa; 6733} 6734static inline nir_ssa_def * 6735_nir_build_image_load_raw_intel(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_image_load_raw_intel_indices indices) 6736{ 6737 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6738 build->shader, nir_intrinsic_image_load_raw_intel); 6739 6740 intrin->num_components = num_components; 6741 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 6742 intrin->src[0] = nir_src_for_ssa(src0); 6743 intrin->src[1] = nir_src_for_ssa(src1); 6744 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 6745 nir_intrinsic_set_image_array(intrin, indices.image_array); 6746 nir_intrinsic_set_format(intrin, indices.format); 6747 nir_intrinsic_set_access(intrin, indices.access); 6748 6749 nir_builder_instr_insert(build, &intrin->instr); 6750 return &intrin->dest.ssa; 6751} 6752static inline nir_ssa_def * 6753_nir_build_image_order(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, struct _nir_image_order_indices indices) 6754{ 6755 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6756 build->shader, nir_intrinsic_image_order); 6757 6758 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 6759 intrin->src[0] = nir_src_for_ssa(src0); 6760 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 6761 nir_intrinsic_set_image_array(intrin, indices.image_array); 6762 nir_intrinsic_set_format(intrin, indices.format); 6763 nir_intrinsic_set_access(intrin, indices.access); 6764 6765 nir_builder_instr_insert(build, &intrin->instr); 6766 return &intrin->dest.ssa; 6767} 6768static inline nir_ssa_def * 6769_nir_build_image_samples(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, struct _nir_image_samples_indices indices) 6770{ 6771 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6772 build->shader, nir_intrinsic_image_samples); 6773 6774 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 6775 intrin->src[0] = nir_src_for_ssa(src0); 6776 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 6777 nir_intrinsic_set_image_array(intrin, indices.image_array); 6778 nir_intrinsic_set_format(intrin, indices.format); 6779 nir_intrinsic_set_access(intrin, indices.access); 6780 6781 nir_builder_instr_insert(build, &intrin->instr); 6782 return &intrin->dest.ssa; 6783} 6784static inline nir_ssa_def * 6785_nir_build_image_size(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_image_size_indices indices) 6786{ 6787 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6788 build->shader, nir_intrinsic_image_size); 6789 6790 intrin->num_components = num_components; 6791 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 6792 intrin->src[0] = nir_src_for_ssa(src0); 6793 intrin->src[1] = nir_src_for_ssa(src1); 6794 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 6795 nir_intrinsic_set_image_array(intrin, indices.image_array); 6796 nir_intrinsic_set_format(intrin, indices.format); 6797 nir_intrinsic_set_access(intrin, indices.access); 6798 6799 nir_builder_instr_insert(build, &intrin->instr); 6800 return &intrin->dest.ssa; 6801} 6802static inline nir_ssa_def * 6803_nir_build_image_sparse_load(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_sparse_load_indices indices) 6804{ 6805 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6806 build->shader, nir_intrinsic_image_sparse_load); 6807 6808 intrin->num_components = num_components; 6809 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 6810 intrin->src[0] = nir_src_for_ssa(src0); 6811 intrin->src[1] = nir_src_for_ssa(src1); 6812 intrin->src[2] = nir_src_for_ssa(src2); 6813 intrin->src[3] = nir_src_for_ssa(src3); 6814 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 6815 nir_intrinsic_set_image_array(intrin, indices.image_array); 6816 nir_intrinsic_set_format(intrin, indices.format); 6817 nir_intrinsic_set_access(intrin, indices.access); 6818 nir_intrinsic_set_dest_type(intrin, indices.dest_type); 6819 6820 nir_builder_instr_insert(build, &intrin->instr); 6821 return &intrin->dest.ssa; 6822} 6823static inline nir_intrinsic_instr * 6824_nir_build_image_store(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, nir_ssa_def *src4, struct _nir_image_store_indices indices) 6825{ 6826 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6827 build->shader, nir_intrinsic_image_store); 6828 6829 intrin->num_components = src3->num_components; 6830 intrin->src[0] = nir_src_for_ssa(src0); 6831 intrin->src[1] = nir_src_for_ssa(src1); 6832 intrin->src[2] = nir_src_for_ssa(src2); 6833 intrin->src[3] = nir_src_for_ssa(src3); 6834 intrin->src[4] = nir_src_for_ssa(src4); 6835 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 6836 nir_intrinsic_set_image_array(intrin, indices.image_array); 6837 nir_intrinsic_set_format(intrin, indices.format); 6838 nir_intrinsic_set_access(intrin, indices.access); 6839 nir_intrinsic_set_src_type(intrin, indices.src_type); 6840 6841 nir_builder_instr_insert(build, &intrin->instr); 6842 return intrin; 6843} 6844static inline nir_intrinsic_instr * 6845_nir_build_image_store_raw_intel(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_image_store_raw_intel_indices indices) 6846{ 6847 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6848 build->shader, nir_intrinsic_image_store_raw_intel); 6849 6850 intrin->num_components = src2->num_components; 6851 intrin->src[0] = nir_src_for_ssa(src0); 6852 intrin->src[1] = nir_src_for_ssa(src1); 6853 intrin->src[2] = nir_src_for_ssa(src2); 6854 nir_intrinsic_set_image_dim(intrin, indices.image_dim); 6855 nir_intrinsic_set_image_array(intrin, indices.image_array); 6856 nir_intrinsic_set_format(intrin, indices.format); 6857 nir_intrinsic_set_access(intrin, indices.access); 6858 6859 nir_builder_instr_insert(build, &intrin->instr); 6860 return intrin; 6861} 6862static inline nir_ssa_def * 6863_nir_build_inclusive_scan(nir_builder *build, nir_ssa_def *src0, struct _nir_inclusive_scan_indices indices) 6864{ 6865 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6866 build->shader, nir_intrinsic_inclusive_scan); 6867 6868 intrin->num_components = src0->num_components; 6869 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, src0->bit_size, NULL); 6870 intrin->src[0] = nir_src_for_ssa(src0); 6871 nir_intrinsic_set_reduction_op(intrin, indices.reduction_op); 6872 6873 nir_builder_instr_insert(build, &intrin->instr); 6874 return &intrin->dest.ssa; 6875} 6876static inline nir_ssa_def * 6877_nir_build_interp_deref_at_centroid(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0) 6878{ 6879 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6880 build->shader, nir_intrinsic_interp_deref_at_centroid); 6881 6882 intrin->num_components = num_components; 6883 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 6884 intrin->src[0] = nir_src_for_ssa(src0); 6885 6886 nir_builder_instr_insert(build, &intrin->instr); 6887 return &intrin->dest.ssa; 6888} 6889static inline nir_ssa_def * 6890_nir_build_interp_deref_at_offset(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1) 6891{ 6892 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6893 build->shader, nir_intrinsic_interp_deref_at_offset); 6894 6895 intrin->num_components = num_components; 6896 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 6897 intrin->src[0] = nir_src_for_ssa(src0); 6898 intrin->src[1] = nir_src_for_ssa(src1); 6899 6900 nir_builder_instr_insert(build, &intrin->instr); 6901 return &intrin->dest.ssa; 6902} 6903static inline nir_ssa_def * 6904_nir_build_interp_deref_at_sample(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1) 6905{ 6906 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6907 build->shader, nir_intrinsic_interp_deref_at_sample); 6908 6909 intrin->num_components = num_components; 6910 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 6911 intrin->src[0] = nir_src_for_ssa(src0); 6912 intrin->src[1] = nir_src_for_ssa(src1); 6913 6914 nir_builder_instr_insert(build, &intrin->instr); 6915 return &intrin->dest.ssa; 6916} 6917static inline nir_ssa_def * 6918_nir_build_interp_deref_at_vertex(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1) 6919{ 6920 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6921 build->shader, nir_intrinsic_interp_deref_at_vertex); 6922 6923 intrin->num_components = num_components; 6924 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 6925 intrin->src[0] = nir_src_for_ssa(src0); 6926 intrin->src[1] = nir_src_for_ssa(src1); 6927 6928 nir_builder_instr_insert(build, &intrin->instr); 6929 return &intrin->dest.ssa; 6930} 6931static inline nir_ssa_def * 6932_nir_build_is_helper_invocation(nir_builder *build, unsigned bit_size) 6933{ 6934 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6935 build->shader, nir_intrinsic_is_helper_invocation); 6936 6937 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 6938 6939 nir_builder_instr_insert(build, &intrin->instr); 6940 return &intrin->dest.ssa; 6941} 6942static inline nir_ssa_def * 6943_nir_build_is_sparse_texels_resident(nir_builder *build, nir_ssa_def *src0) 6944{ 6945 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6946 build->shader, nir_intrinsic_is_sparse_texels_resident); 6947 6948 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 1, NULL); 6949 intrin->src[0] = nir_src_for_ssa(src0); 6950 6951 nir_builder_instr_insert(build, &intrin->instr); 6952 return &intrin->dest.ssa; 6953} 6954static inline nir_ssa_def * 6955_nir_build_lane_permute_16_amd(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2) 6956{ 6957 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6958 build->shader, nir_intrinsic_lane_permute_16_amd); 6959 6960 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 6961 intrin->src[0] = nir_src_for_ssa(src0); 6962 intrin->src[1] = nir_src_for_ssa(src1); 6963 intrin->src[2] = nir_src_for_ssa(src2); 6964 6965 nir_builder_instr_insert(build, &intrin->instr); 6966 return &intrin->dest.ssa; 6967} 6968static inline nir_ssa_def * 6969_nir_build_last_invocation(nir_builder *build) 6970{ 6971 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6972 build->shader, nir_intrinsic_last_invocation); 6973 6974 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 6975 6976 nir_builder_instr_insert(build, &intrin->instr); 6977 return &intrin->dest.ssa; 6978} 6979static inline nir_ssa_def * 6980_nir_build_load_aa_line_width(nir_builder *build) 6981{ 6982 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6983 build->shader, nir_intrinsic_load_aa_line_width); 6984 6985 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 6986 6987 nir_builder_instr_insert(build, &intrin->instr); 6988 return &intrin->dest.ssa; 6989} 6990static inline nir_ssa_def * 6991_nir_build_load_back_face_agx(nir_builder *build, unsigned bit_size) 6992{ 6993 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 6994 build->shader, nir_intrinsic_load_back_face_agx); 6995 6996 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 6997 6998 nir_builder_instr_insert(build, &intrin->instr); 6999 return &intrin->dest.ssa; 7000} 7001static inline nir_ssa_def * 7002_nir_build_load_barycentric_at_offset(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, struct _nir_load_barycentric_at_offset_indices indices) 7003{ 7004 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7005 build->shader, nir_intrinsic_load_barycentric_at_offset); 7006 7007 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 2, bit_size, NULL); 7008 intrin->src[0] = nir_src_for_ssa(src0); 7009 nir_intrinsic_set_interp_mode(intrin, indices.interp_mode); 7010 7011 nir_builder_instr_insert(build, &intrin->instr); 7012 return &intrin->dest.ssa; 7013} 7014static inline nir_ssa_def * 7015_nir_build_load_barycentric_at_sample(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, struct _nir_load_barycentric_at_sample_indices indices) 7016{ 7017 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7018 build->shader, nir_intrinsic_load_barycentric_at_sample); 7019 7020 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 2, bit_size, NULL); 7021 intrin->src[0] = nir_src_for_ssa(src0); 7022 nir_intrinsic_set_interp_mode(intrin, indices.interp_mode); 7023 7024 nir_builder_instr_insert(build, &intrin->instr); 7025 return &intrin->dest.ssa; 7026} 7027static inline nir_ssa_def * 7028_nir_build_load_barycentric_centroid(nir_builder *build, unsigned bit_size, struct _nir_load_barycentric_centroid_indices indices) 7029{ 7030 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7031 build->shader, nir_intrinsic_load_barycentric_centroid); 7032 7033 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 2, bit_size, NULL); 7034 nir_intrinsic_set_interp_mode(intrin, indices.interp_mode); 7035 7036 nir_builder_instr_insert(build, &intrin->instr); 7037 return &intrin->dest.ssa; 7038} 7039static inline nir_ssa_def * 7040_nir_build_load_barycentric_model(nir_builder *build, unsigned bit_size, struct _nir_load_barycentric_model_indices indices) 7041{ 7042 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7043 build->shader, nir_intrinsic_load_barycentric_model); 7044 7045 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 3, bit_size, NULL); 7046 nir_intrinsic_set_interp_mode(intrin, indices.interp_mode); 7047 7048 nir_builder_instr_insert(build, &intrin->instr); 7049 return &intrin->dest.ssa; 7050} 7051static inline nir_ssa_def * 7052_nir_build_load_barycentric_pixel(nir_builder *build, unsigned bit_size, struct _nir_load_barycentric_pixel_indices indices) 7053{ 7054 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7055 build->shader, nir_intrinsic_load_barycentric_pixel); 7056 7057 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 2, bit_size, NULL); 7058 nir_intrinsic_set_interp_mode(intrin, indices.interp_mode); 7059 7060 nir_builder_instr_insert(build, &intrin->instr); 7061 return &intrin->dest.ssa; 7062} 7063static inline nir_ssa_def * 7064_nir_build_load_barycentric_sample(nir_builder *build, unsigned bit_size, struct _nir_load_barycentric_sample_indices indices) 7065{ 7066 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7067 build->shader, nir_intrinsic_load_barycentric_sample); 7068 7069 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 2, bit_size, NULL); 7070 nir_intrinsic_set_interp_mode(intrin, indices.interp_mode); 7071 7072 nir_builder_instr_insert(build, &intrin->instr); 7073 return &intrin->dest.ssa; 7074} 7075static inline nir_ssa_def * 7076_nir_build_load_base_global_invocation_id(nir_builder *build, unsigned bit_size) 7077{ 7078 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7079 build->shader, nir_intrinsic_load_base_global_invocation_id); 7080 7081 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 3, bit_size, NULL); 7082 7083 nir_builder_instr_insert(build, &intrin->instr); 7084 return &intrin->dest.ssa; 7085} 7086static inline nir_ssa_def * 7087_nir_build_load_base_instance(nir_builder *build) 7088{ 7089 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7090 build->shader, nir_intrinsic_load_base_instance); 7091 7092 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 7093 7094 nir_builder_instr_insert(build, &intrin->instr); 7095 return &intrin->dest.ssa; 7096} 7097static inline nir_ssa_def * 7098_nir_build_load_base_vertex(nir_builder *build) 7099{ 7100 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7101 build->shader, nir_intrinsic_load_base_vertex); 7102 7103 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 7104 7105 nir_builder_instr_insert(build, &intrin->instr); 7106 return &intrin->dest.ssa; 7107} 7108static inline nir_ssa_def * 7109_nir_build_load_base_workgroup_id(nir_builder *build, unsigned bit_size) 7110{ 7111 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7112 build->shader, nir_intrinsic_load_base_workgroup_id); 7113 7114 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 3, bit_size, NULL); 7115 7116 nir_builder_instr_insert(build, &intrin->instr); 7117 return &intrin->dest.ssa; 7118} 7119static inline nir_ssa_def * 7120_nir_build_load_blend_const_color_a_float(nir_builder *build) 7121{ 7122 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7123 build->shader, nir_intrinsic_load_blend_const_color_a_float); 7124 7125 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 7126 7127 nir_builder_instr_insert(build, &intrin->instr); 7128 return &intrin->dest.ssa; 7129} 7130static inline nir_ssa_def * 7131_nir_build_load_blend_const_color_aaaa8888_unorm(nir_builder *build) 7132{ 7133 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7134 build->shader, nir_intrinsic_load_blend_const_color_aaaa8888_unorm); 7135 7136 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 7137 7138 nir_builder_instr_insert(build, &intrin->instr); 7139 return &intrin->dest.ssa; 7140} 7141static inline nir_ssa_def * 7142_nir_build_load_blend_const_color_b_float(nir_builder *build) 7143{ 7144 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7145 build->shader, nir_intrinsic_load_blend_const_color_b_float); 7146 7147 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 7148 7149 nir_builder_instr_insert(build, &intrin->instr); 7150 return &intrin->dest.ssa; 7151} 7152static inline nir_ssa_def * 7153_nir_build_load_blend_const_color_g_float(nir_builder *build) 7154{ 7155 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7156 build->shader, nir_intrinsic_load_blend_const_color_g_float); 7157 7158 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 7159 7160 nir_builder_instr_insert(build, &intrin->instr); 7161 return &intrin->dest.ssa; 7162} 7163static inline nir_ssa_def * 7164_nir_build_load_blend_const_color_r_float(nir_builder *build) 7165{ 7166 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7167 build->shader, nir_intrinsic_load_blend_const_color_r_float); 7168 7169 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 7170 7171 nir_builder_instr_insert(build, &intrin->instr); 7172 return &intrin->dest.ssa; 7173} 7174static inline nir_ssa_def * 7175_nir_build_load_blend_const_color_rgba(nir_builder *build) 7176{ 7177 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7178 build->shader, nir_intrinsic_load_blend_const_color_rgba); 7179 7180 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 4, 32, NULL); 7181 7182 nir_builder_instr_insert(build, &intrin->instr); 7183 return &intrin->dest.ssa; 7184} 7185static inline nir_ssa_def * 7186_nir_build_load_blend_const_color_rgba8888_unorm(nir_builder *build) 7187{ 7188 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7189 build->shader, nir_intrinsic_load_blend_const_color_rgba8888_unorm); 7190 7191 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 7192 7193 nir_builder_instr_insert(build, &intrin->instr); 7194 return &intrin->dest.ssa; 7195} 7196static inline nir_ssa_def * 7197_nir_build_load_btd_dss_id_intel(nir_builder *build) 7198{ 7199 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7200 build->shader, nir_intrinsic_load_btd_dss_id_intel); 7201 7202 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 7203 7204 nir_builder_instr_insert(build, &intrin->instr); 7205 return &intrin->dest.ssa; 7206} 7207static inline nir_ssa_def * 7208_nir_build_load_btd_global_arg_addr_intel(nir_builder *build) 7209{ 7210 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7211 build->shader, nir_intrinsic_load_btd_global_arg_addr_intel); 7212 7213 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 64, NULL); 7214 7215 nir_builder_instr_insert(build, &intrin->instr); 7216 return &intrin->dest.ssa; 7217} 7218static inline nir_ssa_def * 7219_nir_build_load_btd_local_arg_addr_intel(nir_builder *build) 7220{ 7221 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7222 build->shader, nir_intrinsic_load_btd_local_arg_addr_intel); 7223 7224 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 64, NULL); 7225 7226 nir_builder_instr_insert(build, &intrin->instr); 7227 return &intrin->dest.ssa; 7228} 7229static inline nir_ssa_def * 7230_nir_build_load_btd_resume_sbt_addr_intel(nir_builder *build) 7231{ 7232 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7233 build->shader, nir_intrinsic_load_btd_resume_sbt_addr_intel); 7234 7235 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 64, NULL); 7236 7237 nir_builder_instr_insert(build, &intrin->instr); 7238 return &intrin->dest.ssa; 7239} 7240static inline nir_ssa_def * 7241_nir_build_load_btd_stack_id_intel(nir_builder *build) 7242{ 7243 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7244 build->shader, nir_intrinsic_load_btd_stack_id_intel); 7245 7246 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 7247 7248 nir_builder_instr_insert(build, &intrin->instr); 7249 return &intrin->dest.ssa; 7250} 7251static inline nir_ssa_def * 7252_nir_build_load_buffer_amd(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_load_buffer_amd_indices indices) 7253{ 7254 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7255 build->shader, nir_intrinsic_load_buffer_amd); 7256 7257 intrin->num_components = num_components; 7258 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 7259 intrin->src[0] = nir_src_for_ssa(src0); 7260 intrin->src[1] = nir_src_for_ssa(src1); 7261 intrin->src[2] = nir_src_for_ssa(src2); 7262 nir_intrinsic_set_base(intrin, indices.base); 7263 nir_intrinsic_set_is_swizzled(intrin, indices.is_swizzled); 7264 nir_intrinsic_set_slc_amd(intrin, indices.slc_amd); 7265 nir_intrinsic_set_memory_modes(intrin, indices.memory_modes); 7266 7267 nir_builder_instr_insert(build, &intrin->instr); 7268 return &intrin->dest.ssa; 7269} 7270static inline nir_ssa_def * 7271_nir_build_load_callable_sbt_addr_intel(nir_builder *build) 7272{ 7273 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7274 build->shader, nir_intrinsic_load_callable_sbt_addr_intel); 7275 7276 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 64, NULL); 7277 7278 nir_builder_instr_insert(build, &intrin->instr); 7279 return &intrin->dest.ssa; 7280} 7281static inline nir_ssa_def * 7282_nir_build_load_callable_sbt_stride_intel(nir_builder *build) 7283{ 7284 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7285 build->shader, nir_intrinsic_load_callable_sbt_stride_intel); 7286 7287 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 16, NULL); 7288 7289 nir_builder_instr_insert(build, &intrin->instr); 7290 return &intrin->dest.ssa; 7291} 7292static inline nir_ssa_def * 7293_nir_build_load_color0(nir_builder *build) 7294{ 7295 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7296 build->shader, nir_intrinsic_load_color0); 7297 7298 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 4, 32, NULL); 7299 7300 nir_builder_instr_insert(build, &intrin->instr); 7301 return &intrin->dest.ssa; 7302} 7303static inline nir_ssa_def * 7304_nir_build_load_color1(nir_builder *build) 7305{ 7306 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7307 build->shader, nir_intrinsic_load_color1); 7308 7309 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 4, 32, NULL); 7310 7311 nir_builder_instr_insert(build, &intrin->instr); 7312 return &intrin->dest.ssa; 7313} 7314static inline nir_ssa_def * 7315_nir_build_load_constant(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, struct _nir_load_constant_indices indices) 7316{ 7317 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7318 build->shader, nir_intrinsic_load_constant); 7319 7320 intrin->num_components = num_components; 7321 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 7322 intrin->src[0] = nir_src_for_ssa(src0); 7323 nir_intrinsic_set_base(intrin, indices.base); 7324 nir_intrinsic_set_range(intrin, indices.range); 7325 nir_intrinsic_set_align_mul(intrin, indices.align_mul); 7326 nir_intrinsic_set_align_offset(intrin, indices.align_offset); 7327 7328 nir_builder_instr_insert(build, &intrin->instr); 7329 return &intrin->dest.ssa; 7330} 7331static inline nir_ssa_def * 7332_nir_build_load_constant_base_ptr(nir_builder *build, unsigned num_components, unsigned bit_size) 7333{ 7334 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7335 build->shader, nir_intrinsic_load_constant_base_ptr); 7336 7337 intrin->num_components = num_components; 7338 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 7339 7340 nir_builder_instr_insert(build, &intrin->instr); 7341 return &intrin->dest.ssa; 7342} 7343static inline nir_ssa_def * 7344_nir_build_load_cull_any_enabled_amd(nir_builder *build) 7345{ 7346 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7347 build->shader, nir_intrinsic_load_cull_any_enabled_amd); 7348 7349 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 1, NULL); 7350 7351 nir_builder_instr_insert(build, &intrin->instr); 7352 return &intrin->dest.ssa; 7353} 7354static inline nir_ssa_def * 7355_nir_build_load_cull_back_face_enabled_amd(nir_builder *build) 7356{ 7357 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7358 build->shader, nir_intrinsic_load_cull_back_face_enabled_amd); 7359 7360 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 1, NULL); 7361 7362 nir_builder_instr_insert(build, &intrin->instr); 7363 return &intrin->dest.ssa; 7364} 7365static inline nir_ssa_def * 7366_nir_build_load_cull_ccw_amd(nir_builder *build) 7367{ 7368 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7369 build->shader, nir_intrinsic_load_cull_ccw_amd); 7370 7371 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 1, NULL); 7372 7373 nir_builder_instr_insert(build, &intrin->instr); 7374 return &intrin->dest.ssa; 7375} 7376static inline nir_ssa_def * 7377_nir_build_load_cull_front_face_enabled_amd(nir_builder *build) 7378{ 7379 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7380 build->shader, nir_intrinsic_load_cull_front_face_enabled_amd); 7381 7382 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 1, NULL); 7383 7384 nir_builder_instr_insert(build, &intrin->instr); 7385 return &intrin->dest.ssa; 7386} 7387static inline nir_ssa_def * 7388_nir_build_load_cull_small_prim_precision_amd(nir_builder *build) 7389{ 7390 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7391 build->shader, nir_intrinsic_load_cull_small_prim_precision_amd); 7392 7393 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 7394 7395 nir_builder_instr_insert(build, &intrin->instr); 7396 return &intrin->dest.ssa; 7397} 7398static inline nir_ssa_def * 7399_nir_build_load_cull_small_primitives_enabled_amd(nir_builder *build) 7400{ 7401 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7402 build->shader, nir_intrinsic_load_cull_small_primitives_enabled_amd); 7403 7404 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 1, NULL); 7405 7406 nir_builder_instr_insert(build, &intrin->instr); 7407 return &intrin->dest.ssa; 7408} 7409static inline nir_ssa_def * 7410_nir_build_load_deref(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, struct _nir_load_deref_indices indices) 7411{ 7412 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7413 build->shader, nir_intrinsic_load_deref); 7414 7415 intrin->num_components = num_components; 7416 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 7417 intrin->src[0] = nir_src_for_ssa(src0); 7418 nir_intrinsic_set_access(intrin, indices.access); 7419 7420 nir_builder_instr_insert(build, &intrin->instr); 7421 return &intrin->dest.ssa; 7422} 7423static inline nir_ssa_def * 7424_nir_build_load_deref_block_intel(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, struct _nir_load_deref_block_intel_indices indices) 7425{ 7426 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7427 build->shader, nir_intrinsic_load_deref_block_intel); 7428 7429 intrin->num_components = num_components; 7430 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 7431 intrin->src[0] = nir_src_for_ssa(src0); 7432 nir_intrinsic_set_access(intrin, indices.access); 7433 7434 nir_builder_instr_insert(build, &intrin->instr); 7435 return &intrin->dest.ssa; 7436} 7437static inline nir_ssa_def * 7438_nir_build_load_desc_set_address_intel(nir_builder *build, nir_ssa_def *src0) 7439{ 7440 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7441 build->shader, nir_intrinsic_load_desc_set_address_intel); 7442 7443 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 64, NULL); 7444 intrin->src[0] = nir_src_for_ssa(src0); 7445 7446 nir_builder_instr_insert(build, &intrin->instr); 7447 return &intrin->dest.ssa; 7448} 7449static inline nir_ssa_def * 7450_nir_build_load_draw_id(nir_builder *build) 7451{ 7452 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7453 build->shader, nir_intrinsic_load_draw_id); 7454 7455 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 7456 7457 nir_builder_instr_insert(build, &intrin->instr); 7458 return &intrin->dest.ssa; 7459} 7460static inline nir_ssa_def * 7461_nir_build_load_fb_layers_v3d(nir_builder *build, unsigned bit_size) 7462{ 7463 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7464 build->shader, nir_intrinsic_load_fb_layers_v3d); 7465 7466 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 7467 7468 nir_builder_instr_insert(build, &intrin->instr); 7469 return &intrin->dest.ssa; 7470} 7471static inline nir_ssa_def * 7472_nir_build_load_first_vertex(nir_builder *build) 7473{ 7474 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7475 build->shader, nir_intrinsic_load_first_vertex); 7476 7477 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 7478 7479 nir_builder_instr_insert(build, &intrin->instr); 7480 return &intrin->dest.ssa; 7481} 7482static inline nir_ssa_def * 7483_nir_build_load_frag_coord(nir_builder *build) 7484{ 7485 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7486 build->shader, nir_intrinsic_load_frag_coord); 7487 7488 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 4, 32, NULL); 7489 7490 nir_builder_instr_insert(build, &intrin->instr); 7491 return &intrin->dest.ssa; 7492} 7493static inline nir_ssa_def * 7494_nir_build_load_frag_shading_rate(nir_builder *build) 7495{ 7496 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7497 build->shader, nir_intrinsic_load_frag_shading_rate); 7498 7499 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 7500 7501 nir_builder_instr_insert(build, &intrin->instr); 7502 return &intrin->dest.ssa; 7503} 7504static inline nir_ssa_def * 7505_nir_build_load_front_face(nir_builder *build, unsigned bit_size) 7506{ 7507 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7508 build->shader, nir_intrinsic_load_front_face); 7509 7510 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 7511 7512 nir_builder_instr_insert(build, &intrin->instr); 7513 return &intrin->dest.ssa; 7514} 7515static inline nir_ssa_def * 7516_nir_build_load_fs_input_interp_deltas(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, struct _nir_load_fs_input_interp_deltas_indices indices) 7517{ 7518 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7519 build->shader, nir_intrinsic_load_fs_input_interp_deltas); 7520 7521 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 3, bit_size, NULL); 7522 intrin->src[0] = nir_src_for_ssa(src0); 7523 nir_intrinsic_set_base(intrin, indices.base); 7524 nir_intrinsic_set_component(intrin, indices.component); 7525 nir_intrinsic_set_io_semantics(intrin, indices.io_semantics); 7526 7527 nir_builder_instr_insert(build, &intrin->instr); 7528 return &intrin->dest.ssa; 7529} 7530static inline nir_ssa_def * 7531_nir_build_load_global(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, struct _nir_load_global_indices indices) 7532{ 7533 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7534 build->shader, nir_intrinsic_load_global); 7535 7536 intrin->num_components = num_components; 7537 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 7538 intrin->src[0] = nir_src_for_ssa(src0); 7539 nir_intrinsic_set_access(intrin, indices.access); 7540 nir_intrinsic_set_align_mul(intrin, indices.align_mul); 7541 nir_intrinsic_set_align_offset(intrin, indices.align_offset); 7542 7543 nir_builder_instr_insert(build, &intrin->instr); 7544 return &intrin->dest.ssa; 7545} 7546static inline nir_ssa_def * 7547_nir_build_load_global_block_intel(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, struct _nir_load_global_block_intel_indices indices) 7548{ 7549 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7550 build->shader, nir_intrinsic_load_global_block_intel); 7551 7552 intrin->num_components = num_components; 7553 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 7554 intrin->src[0] = nir_src_for_ssa(src0); 7555 nir_intrinsic_set_access(intrin, indices.access); 7556 nir_intrinsic_set_align_mul(intrin, indices.align_mul); 7557 nir_intrinsic_set_align_offset(intrin, indices.align_offset); 7558 7559 nir_builder_instr_insert(build, &intrin->instr); 7560 return &intrin->dest.ssa; 7561} 7562static inline nir_ssa_def * 7563_nir_build_load_global_const_block_intel(nir_builder *build, unsigned num_components, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_load_global_const_block_intel_indices indices) 7564{ 7565 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7566 build->shader, nir_intrinsic_load_global_const_block_intel); 7567 7568 intrin->num_components = num_components; 7569 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, 32, NULL); 7570 intrin->src[0] = nir_src_for_ssa(src0); 7571 intrin->src[1] = nir_src_for_ssa(src1); 7572 nir_intrinsic_set_base(intrin, indices.base); 7573 7574 nir_builder_instr_insert(build, &intrin->instr); 7575 return &intrin->dest.ssa; 7576} 7577static inline nir_ssa_def * 7578_nir_build_load_global_constant(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, struct _nir_load_global_constant_indices indices) 7579{ 7580 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7581 build->shader, nir_intrinsic_load_global_constant); 7582 7583 intrin->num_components = num_components; 7584 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 7585 intrin->src[0] = nir_src_for_ssa(src0); 7586 nir_intrinsic_set_access(intrin, indices.access); 7587 nir_intrinsic_set_align_mul(intrin, indices.align_mul); 7588 nir_intrinsic_set_align_offset(intrin, indices.align_offset); 7589 7590 nir_builder_instr_insert(build, &intrin->instr); 7591 return &intrin->dest.ssa; 7592} 7593static inline nir_ssa_def * 7594_nir_build_load_global_constant_bounded(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_load_global_constant_bounded_indices indices) 7595{ 7596 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7597 build->shader, nir_intrinsic_load_global_constant_bounded); 7598 7599 intrin->num_components = num_components; 7600 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 7601 intrin->src[0] = nir_src_for_ssa(src0); 7602 intrin->src[1] = nir_src_for_ssa(src1); 7603 intrin->src[2] = nir_src_for_ssa(src2); 7604 nir_intrinsic_set_access(intrin, indices.access); 7605 nir_intrinsic_set_align_mul(intrin, indices.align_mul); 7606 nir_intrinsic_set_align_offset(intrin, indices.align_offset); 7607 7608 nir_builder_instr_insert(build, &intrin->instr); 7609 return &intrin->dest.ssa; 7610} 7611static inline nir_ssa_def * 7612_nir_build_load_global_constant_offset(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_load_global_constant_offset_indices indices) 7613{ 7614 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7615 build->shader, nir_intrinsic_load_global_constant_offset); 7616 7617 intrin->num_components = num_components; 7618 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 7619 intrin->src[0] = nir_src_for_ssa(src0); 7620 intrin->src[1] = nir_src_for_ssa(src1); 7621 nir_intrinsic_set_access(intrin, indices.access); 7622 nir_intrinsic_set_align_mul(intrin, indices.align_mul); 7623 nir_intrinsic_set_align_offset(intrin, indices.align_offset); 7624 7625 nir_builder_instr_insert(build, &intrin->instr); 7626 return &intrin->dest.ssa; 7627} 7628static inline nir_ssa_def * 7629_nir_build_load_global_invocation_id(nir_builder *build, unsigned bit_size) 7630{ 7631 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7632 build->shader, nir_intrinsic_load_global_invocation_id); 7633 7634 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 3, bit_size, NULL); 7635 7636 nir_builder_instr_insert(build, &intrin->instr); 7637 return &intrin->dest.ssa; 7638} 7639static inline nir_ssa_def * 7640_nir_build_load_global_invocation_id_zero_base(nir_builder *build, unsigned bit_size) 7641{ 7642 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7643 build->shader, nir_intrinsic_load_global_invocation_id_zero_base); 7644 7645 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 3, bit_size, NULL); 7646 7647 nir_builder_instr_insert(build, &intrin->instr); 7648 return &intrin->dest.ssa; 7649} 7650static inline nir_ssa_def * 7651_nir_build_load_global_invocation_index(nir_builder *build, unsigned bit_size) 7652{ 7653 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7654 build->shader, nir_intrinsic_load_global_invocation_index); 7655 7656 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 7657 7658 nir_builder_instr_insert(build, &intrin->instr); 7659 return &intrin->dest.ssa; 7660} 7661static inline nir_ssa_def * 7662_nir_build_load_global_ir3(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_load_global_ir3_indices indices) 7663{ 7664 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7665 build->shader, nir_intrinsic_load_global_ir3); 7666 7667 intrin->num_components = num_components; 7668 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 7669 intrin->src[0] = nir_src_for_ssa(src0); 7670 intrin->src[1] = nir_src_for_ssa(src1); 7671 nir_intrinsic_set_access(intrin, indices.access); 7672 nir_intrinsic_set_align_mul(intrin, indices.align_mul); 7673 nir_intrinsic_set_align_offset(intrin, indices.align_offset); 7674 7675 nir_builder_instr_insert(build, &intrin->instr); 7676 return &intrin->dest.ssa; 7677} 7678static inline nir_ssa_def * 7679_nir_build_load_gs_header_ir3(nir_builder *build) 7680{ 7681 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7682 build->shader, nir_intrinsic_load_gs_header_ir3); 7683 7684 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 7685 7686 nir_builder_instr_insert(build, &intrin->instr); 7687 return &intrin->dest.ssa; 7688} 7689static inline nir_ssa_def * 7690_nir_build_load_gs_vertex_offset_amd(nir_builder *build, struct _nir_load_gs_vertex_offset_amd_indices indices) 7691{ 7692 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7693 build->shader, nir_intrinsic_load_gs_vertex_offset_amd); 7694 7695 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 7696 nir_intrinsic_set_base(intrin, indices.base); 7697 7698 nir_builder_instr_insert(build, &intrin->instr); 7699 return &intrin->dest.ssa; 7700} 7701static inline nir_ssa_def * 7702_nir_build_load_helper_invocation(nir_builder *build, unsigned bit_size) 7703{ 7704 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7705 build->shader, nir_intrinsic_load_helper_invocation); 7706 7707 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 7708 7709 nir_builder_instr_insert(build, &intrin->instr); 7710 return &intrin->dest.ssa; 7711} 7712static inline nir_ssa_def * 7713_nir_build_load_hs_patch_stride_ir3(nir_builder *build) 7714{ 7715 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7716 build->shader, nir_intrinsic_load_hs_patch_stride_ir3); 7717 7718 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 7719 7720 nir_builder_instr_insert(build, &intrin->instr); 7721 return &intrin->dest.ssa; 7722} 7723static inline nir_ssa_def * 7724_nir_build_load_initial_edgeflags_amd(nir_builder *build) 7725{ 7726 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7727 build->shader, nir_intrinsic_load_initial_edgeflags_amd); 7728 7729 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 7730 7731 nir_builder_instr_insert(build, &intrin->instr); 7732 return &intrin->dest.ssa; 7733} 7734static inline nir_ssa_def * 7735_nir_build_load_input(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, struct _nir_load_input_indices indices) 7736{ 7737 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7738 build->shader, nir_intrinsic_load_input); 7739 7740 intrin->num_components = num_components; 7741 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 7742 intrin->src[0] = nir_src_for_ssa(src0); 7743 nir_intrinsic_set_base(intrin, indices.base); 7744 nir_intrinsic_set_component(intrin, indices.component); 7745 nir_intrinsic_set_dest_type(intrin, indices.dest_type); 7746 nir_intrinsic_set_io_semantics(intrin, indices.io_semantics); 7747 7748 nir_builder_instr_insert(build, &intrin->instr); 7749 return &intrin->dest.ssa; 7750} 7751static inline nir_ssa_def * 7752_nir_build_load_input_vertex(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_load_input_vertex_indices indices) 7753{ 7754 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7755 build->shader, nir_intrinsic_load_input_vertex); 7756 7757 intrin->num_components = num_components; 7758 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 7759 intrin->src[0] = nir_src_for_ssa(src0); 7760 intrin->src[1] = nir_src_for_ssa(src1); 7761 nir_intrinsic_set_base(intrin, indices.base); 7762 nir_intrinsic_set_component(intrin, indices.component); 7763 nir_intrinsic_set_dest_type(intrin, indices.dest_type); 7764 nir_intrinsic_set_io_semantics(intrin, indices.io_semantics); 7765 7766 nir_builder_instr_insert(build, &intrin->instr); 7767 return &intrin->dest.ssa; 7768} 7769static inline nir_ssa_def * 7770_nir_build_load_instance_id(nir_builder *build) 7771{ 7772 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7773 build->shader, nir_intrinsic_load_instance_id); 7774 7775 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 7776 7777 nir_builder_instr_insert(build, &intrin->instr); 7778 return &intrin->dest.ssa; 7779} 7780static inline nir_ssa_def * 7781_nir_build_load_interpolated_input(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_load_interpolated_input_indices indices) 7782{ 7783 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7784 build->shader, nir_intrinsic_load_interpolated_input); 7785 7786 intrin->num_components = num_components; 7787 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 7788 intrin->src[0] = nir_src_for_ssa(src0); 7789 intrin->src[1] = nir_src_for_ssa(src1); 7790 nir_intrinsic_set_base(intrin, indices.base); 7791 nir_intrinsic_set_component(intrin, indices.component); 7792 nir_intrinsic_set_dest_type(intrin, indices.dest_type); 7793 nir_intrinsic_set_io_semantics(intrin, indices.io_semantics); 7794 7795 nir_builder_instr_insert(build, &intrin->instr); 7796 return &intrin->dest.ssa; 7797} 7798static inline nir_ssa_def * 7799_nir_build_load_intersection_opaque_amd(nir_builder *build) 7800{ 7801 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7802 build->shader, nir_intrinsic_load_intersection_opaque_amd); 7803 7804 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 1, NULL); 7805 7806 nir_builder_instr_insert(build, &intrin->instr); 7807 return &intrin->dest.ssa; 7808} 7809static inline nir_ssa_def * 7810_nir_build_load_invocation_id(nir_builder *build) 7811{ 7812 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7813 build->shader, nir_intrinsic_load_invocation_id); 7814 7815 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 7816 7817 nir_builder_instr_insert(build, &intrin->instr); 7818 return &intrin->dest.ssa; 7819} 7820static inline nir_ssa_def * 7821_nir_build_load_is_indexed_draw(nir_builder *build) 7822{ 7823 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7824 build->shader, nir_intrinsic_load_is_indexed_draw); 7825 7826 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 7827 7828 nir_builder_instr_insert(build, &intrin->instr); 7829 return &intrin->dest.ssa; 7830} 7831static inline nir_ssa_def * 7832_nir_build_load_kernel_input(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, struct _nir_load_kernel_input_indices indices) 7833{ 7834 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7835 build->shader, nir_intrinsic_load_kernel_input); 7836 7837 intrin->num_components = num_components; 7838 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 7839 intrin->src[0] = nir_src_for_ssa(src0); 7840 nir_intrinsic_set_base(intrin, indices.base); 7841 nir_intrinsic_set_range(intrin, indices.range); 7842 nir_intrinsic_set_align_mul(intrin, indices.align_mul); 7843 nir_intrinsic_set_align_offset(intrin, indices.align_offset); 7844 7845 nir_builder_instr_insert(build, &intrin->instr); 7846 return &intrin->dest.ssa; 7847} 7848static inline nir_ssa_def * 7849_nir_build_load_layer_id(nir_builder *build) 7850{ 7851 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7852 build->shader, nir_intrinsic_load_layer_id); 7853 7854 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 7855 7856 nir_builder_instr_insert(build, &intrin->instr); 7857 return &intrin->dest.ssa; 7858} 7859static inline nir_ssa_def * 7860_nir_build_load_leaf_opaque_intel(nir_builder *build) 7861{ 7862 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7863 build->shader, nir_intrinsic_load_leaf_opaque_intel); 7864 7865 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 1, NULL); 7866 7867 nir_builder_instr_insert(build, &intrin->instr); 7868 return &intrin->dest.ssa; 7869} 7870static inline nir_ssa_def * 7871_nir_build_load_leaf_procedural_intel(nir_builder *build) 7872{ 7873 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7874 build->shader, nir_intrinsic_load_leaf_procedural_intel); 7875 7876 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 1, NULL); 7877 7878 nir_builder_instr_insert(build, &intrin->instr); 7879 return &intrin->dest.ssa; 7880} 7881static inline nir_ssa_def * 7882_nir_build_load_line_coord(nir_builder *build) 7883{ 7884 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7885 build->shader, nir_intrinsic_load_line_coord); 7886 7887 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 7888 7889 nir_builder_instr_insert(build, &intrin->instr); 7890 return &intrin->dest.ssa; 7891} 7892static inline nir_ssa_def * 7893_nir_build_load_line_width(nir_builder *build) 7894{ 7895 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7896 build->shader, nir_intrinsic_load_line_width); 7897 7898 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 7899 7900 nir_builder_instr_insert(build, &intrin->instr); 7901 return &intrin->dest.ssa; 7902} 7903static inline nir_ssa_def * 7904_nir_build_load_local_invocation_id(nir_builder *build) 7905{ 7906 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7907 build->shader, nir_intrinsic_load_local_invocation_id); 7908 7909 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 3, 32, NULL); 7910 7911 nir_builder_instr_insert(build, &intrin->instr); 7912 return &intrin->dest.ssa; 7913} 7914static inline nir_ssa_def * 7915_nir_build_load_local_invocation_index(nir_builder *build) 7916{ 7917 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7918 build->shader, nir_intrinsic_load_local_invocation_index); 7919 7920 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 7921 7922 nir_builder_instr_insert(build, &intrin->instr); 7923 return &intrin->dest.ssa; 7924} 7925static inline nir_ssa_def * 7926_nir_build_load_local_shared_r600(nir_builder *build, unsigned bit_size, nir_ssa_def *src0) 7927{ 7928 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7929 build->shader, nir_intrinsic_load_local_shared_r600); 7930 7931 intrin->num_components = src0->num_components; 7932 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 7933 intrin->src[0] = nir_src_for_ssa(src0); 7934 7935 nir_builder_instr_insert(build, &intrin->instr); 7936 return &intrin->dest.ssa; 7937} 7938static inline nir_ssa_def * 7939_nir_build_load_num_subgroups(nir_builder *build) 7940{ 7941 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7942 build->shader, nir_intrinsic_load_num_subgroups); 7943 7944 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 7945 7946 nir_builder_instr_insert(build, &intrin->instr); 7947 return &intrin->dest.ssa; 7948} 7949static inline nir_ssa_def * 7950_nir_build_load_num_workgroups(nir_builder *build, unsigned bit_size) 7951{ 7952 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7953 build->shader, nir_intrinsic_load_num_workgroups); 7954 7955 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 3, bit_size, NULL); 7956 7957 nir_builder_instr_insert(build, &intrin->instr); 7958 return &intrin->dest.ssa; 7959} 7960static inline nir_ssa_def * 7961_nir_build_load_output(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, struct _nir_load_output_indices indices) 7962{ 7963 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7964 build->shader, nir_intrinsic_load_output); 7965 7966 intrin->num_components = num_components; 7967 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 7968 intrin->src[0] = nir_src_for_ssa(src0); 7969 nir_intrinsic_set_base(intrin, indices.base); 7970 nir_intrinsic_set_component(intrin, indices.component); 7971 nir_intrinsic_set_dest_type(intrin, indices.dest_type); 7972 nir_intrinsic_set_io_semantics(intrin, indices.io_semantics); 7973 7974 nir_builder_instr_insert(build, &intrin->instr); 7975 return &intrin->dest.ssa; 7976} 7977static inline nir_ssa_def * 7978_nir_build_load_packed_passthrough_primitive_amd(nir_builder *build) 7979{ 7980 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7981 build->shader, nir_intrinsic_load_packed_passthrough_primitive_amd); 7982 7983 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 7984 7985 nir_builder_instr_insert(build, &intrin->instr); 7986 return &intrin->dest.ssa; 7987} 7988static inline nir_ssa_def * 7989_nir_build_load_param(nir_builder *build, unsigned num_components, unsigned bit_size, struct _nir_load_param_indices indices) 7990{ 7991 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 7992 build->shader, nir_intrinsic_load_param); 7993 7994 intrin->num_components = num_components; 7995 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 7996 nir_intrinsic_set_param_idx(intrin, indices.param_idx); 7997 7998 nir_builder_instr_insert(build, &intrin->instr); 7999 return &intrin->dest.ssa; 8000} 8001static inline nir_ssa_def * 8002_nir_build_load_patch_vertices_in(nir_builder *build) 8003{ 8004 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8005 build->shader, nir_intrinsic_load_patch_vertices_in); 8006 8007 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 8008 8009 nir_builder_instr_insert(build, &intrin->instr); 8010 return &intrin->dest.ssa; 8011} 8012static inline nir_ssa_def * 8013_nir_build_load_per_primitive_output(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_load_per_primitive_output_indices indices) 8014{ 8015 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8016 build->shader, nir_intrinsic_load_per_primitive_output); 8017 8018 intrin->num_components = num_components; 8019 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 8020 intrin->src[0] = nir_src_for_ssa(src0); 8021 intrin->src[1] = nir_src_for_ssa(src1); 8022 nir_intrinsic_set_base(intrin, indices.base); 8023 nir_intrinsic_set_component(intrin, indices.component); 8024 nir_intrinsic_set_dest_type(intrin, indices.dest_type); 8025 nir_intrinsic_set_io_semantics(intrin, indices.io_semantics); 8026 8027 nir_builder_instr_insert(build, &intrin->instr); 8028 return &intrin->dest.ssa; 8029} 8030static inline nir_ssa_def * 8031_nir_build_load_per_vertex_input(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_load_per_vertex_input_indices indices) 8032{ 8033 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8034 build->shader, nir_intrinsic_load_per_vertex_input); 8035 8036 intrin->num_components = num_components; 8037 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 8038 intrin->src[0] = nir_src_for_ssa(src0); 8039 intrin->src[1] = nir_src_for_ssa(src1); 8040 nir_intrinsic_set_base(intrin, indices.base); 8041 nir_intrinsic_set_component(intrin, indices.component); 8042 nir_intrinsic_set_dest_type(intrin, indices.dest_type); 8043 nir_intrinsic_set_io_semantics(intrin, indices.io_semantics); 8044 8045 nir_builder_instr_insert(build, &intrin->instr); 8046 return &intrin->dest.ssa; 8047} 8048static inline nir_ssa_def * 8049_nir_build_load_per_vertex_output(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_load_per_vertex_output_indices indices) 8050{ 8051 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8052 build->shader, nir_intrinsic_load_per_vertex_output); 8053 8054 intrin->num_components = num_components; 8055 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 8056 intrin->src[0] = nir_src_for_ssa(src0); 8057 intrin->src[1] = nir_src_for_ssa(src1); 8058 nir_intrinsic_set_base(intrin, indices.base); 8059 nir_intrinsic_set_component(intrin, indices.component); 8060 nir_intrinsic_set_dest_type(intrin, indices.dest_type); 8061 nir_intrinsic_set_io_semantics(intrin, indices.io_semantics); 8062 8063 nir_builder_instr_insert(build, &intrin->instr); 8064 return &intrin->dest.ssa; 8065} 8066static inline nir_ssa_def * 8067_nir_build_load_point_coord(nir_builder *build) 8068{ 8069 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8070 build->shader, nir_intrinsic_load_point_coord); 8071 8072 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 2, 32, NULL); 8073 8074 nir_builder_instr_insert(build, &intrin->instr); 8075 return &intrin->dest.ssa; 8076} 8077static inline nir_ssa_def * 8078_nir_build_load_primitive_id(nir_builder *build) 8079{ 8080 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8081 build->shader, nir_intrinsic_load_primitive_id); 8082 8083 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 8084 8085 nir_builder_instr_insert(build, &intrin->instr); 8086 return &intrin->dest.ssa; 8087} 8088static inline nir_ssa_def * 8089_nir_build_load_primitive_location_ir3(nir_builder *build, struct _nir_load_primitive_location_ir3_indices indices) 8090{ 8091 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8092 build->shader, nir_intrinsic_load_primitive_location_ir3); 8093 8094 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 8095 nir_intrinsic_set_driver_location(intrin, indices.driver_location); 8096 8097 nir_builder_instr_insert(build, &intrin->instr); 8098 return &intrin->dest.ssa; 8099} 8100static inline nir_ssa_def * 8101_nir_build_load_printf_buffer_address(nir_builder *build, unsigned bit_size) 8102{ 8103 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8104 build->shader, nir_intrinsic_load_printf_buffer_address); 8105 8106 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 8107 8108 nir_builder_instr_insert(build, &intrin->instr); 8109 return &intrin->dest.ssa; 8110} 8111static inline nir_ssa_def * 8112_nir_build_load_ptr_dxil(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1) 8113{ 8114 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8115 build->shader, nir_intrinsic_load_ptr_dxil); 8116 8117 intrin->num_components = num_components; 8118 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 8119 intrin->src[0] = nir_src_for_ssa(src0); 8120 intrin->src[1] = nir_src_for_ssa(src1); 8121 8122 nir_builder_instr_insert(build, &intrin->instr); 8123 return &intrin->dest.ssa; 8124} 8125static inline nir_ssa_def * 8126_nir_build_load_push_constant(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, struct _nir_load_push_constant_indices indices) 8127{ 8128 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8129 build->shader, nir_intrinsic_load_push_constant); 8130 8131 intrin->num_components = num_components; 8132 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 8133 intrin->src[0] = nir_src_for_ssa(src0); 8134 nir_intrinsic_set_base(intrin, indices.base); 8135 nir_intrinsic_set_range(intrin, indices.range); 8136 8137 nir_builder_instr_insert(build, &intrin->instr); 8138 return &intrin->dest.ssa; 8139} 8140static inline nir_ssa_def * 8141_nir_build_load_raw_output_pan(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, struct _nir_load_raw_output_pan_indices indices) 8142{ 8143 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8144 build->shader, nir_intrinsic_load_raw_output_pan); 8145 8146 intrin->num_components = num_components; 8147 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 8148 intrin->src[0] = nir_src_for_ssa(src0); 8149 nir_intrinsic_set_base(intrin, indices.base); 8150 8151 nir_builder_instr_insert(build, &intrin->instr); 8152 return &intrin->dest.ssa; 8153} 8154static inline nir_ssa_def * 8155_nir_build_load_ray_base_mem_addr_intel(nir_builder *build) 8156{ 8157 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8158 build->shader, nir_intrinsic_load_ray_base_mem_addr_intel); 8159 8160 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 64, NULL); 8161 8162 nir_builder_instr_insert(build, &intrin->instr); 8163 return &intrin->dest.ssa; 8164} 8165static inline nir_ssa_def * 8166_nir_build_load_ray_flags(nir_builder *build) 8167{ 8168 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8169 build->shader, nir_intrinsic_load_ray_flags); 8170 8171 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 8172 8173 nir_builder_instr_insert(build, &intrin->instr); 8174 return &intrin->dest.ssa; 8175} 8176static inline nir_ssa_def * 8177_nir_build_load_ray_geometry_index(nir_builder *build) 8178{ 8179 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8180 build->shader, nir_intrinsic_load_ray_geometry_index); 8181 8182 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 8183 8184 nir_builder_instr_insert(build, &intrin->instr); 8185 return &intrin->dest.ssa; 8186} 8187static inline nir_ssa_def * 8188_nir_build_load_ray_hit_kind(nir_builder *build) 8189{ 8190 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8191 build->shader, nir_intrinsic_load_ray_hit_kind); 8192 8193 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 8194 8195 nir_builder_instr_insert(build, &intrin->instr); 8196 return &intrin->dest.ssa; 8197} 8198static inline nir_ssa_def * 8199_nir_build_load_ray_hit_sbt_addr_intel(nir_builder *build) 8200{ 8201 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8202 build->shader, nir_intrinsic_load_ray_hit_sbt_addr_intel); 8203 8204 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 64, NULL); 8205 8206 nir_builder_instr_insert(build, &intrin->instr); 8207 return &intrin->dest.ssa; 8208} 8209static inline nir_ssa_def * 8210_nir_build_load_ray_hit_sbt_stride_intel(nir_builder *build) 8211{ 8212 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8213 build->shader, nir_intrinsic_load_ray_hit_sbt_stride_intel); 8214 8215 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 16, NULL); 8216 8217 nir_builder_instr_insert(build, &intrin->instr); 8218 return &intrin->dest.ssa; 8219} 8220static inline nir_ssa_def * 8221_nir_build_load_ray_hw_stack_size_intel(nir_builder *build) 8222{ 8223 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8224 build->shader, nir_intrinsic_load_ray_hw_stack_size_intel); 8225 8226 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 8227 8228 nir_builder_instr_insert(build, &intrin->instr); 8229 return &intrin->dest.ssa; 8230} 8231static inline nir_ssa_def * 8232_nir_build_load_ray_instance_custom_index(nir_builder *build) 8233{ 8234 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8235 build->shader, nir_intrinsic_load_ray_instance_custom_index); 8236 8237 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 8238 8239 nir_builder_instr_insert(build, &intrin->instr); 8240 return &intrin->dest.ssa; 8241} 8242static inline nir_ssa_def * 8243_nir_build_load_ray_launch_id(nir_builder *build) 8244{ 8245 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8246 build->shader, nir_intrinsic_load_ray_launch_id); 8247 8248 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 3, 32, NULL); 8249 8250 nir_builder_instr_insert(build, &intrin->instr); 8251 return &intrin->dest.ssa; 8252} 8253static inline nir_ssa_def * 8254_nir_build_load_ray_launch_size(nir_builder *build) 8255{ 8256 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8257 build->shader, nir_intrinsic_load_ray_launch_size); 8258 8259 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 3, 32, NULL); 8260 8261 nir_builder_instr_insert(build, &intrin->instr); 8262 return &intrin->dest.ssa; 8263} 8264static inline nir_ssa_def * 8265_nir_build_load_ray_miss_sbt_addr_intel(nir_builder *build) 8266{ 8267 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8268 build->shader, nir_intrinsic_load_ray_miss_sbt_addr_intel); 8269 8270 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 64, NULL); 8271 8272 nir_builder_instr_insert(build, &intrin->instr); 8273 return &intrin->dest.ssa; 8274} 8275static inline nir_ssa_def * 8276_nir_build_load_ray_miss_sbt_stride_intel(nir_builder *build) 8277{ 8278 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8279 build->shader, nir_intrinsic_load_ray_miss_sbt_stride_intel); 8280 8281 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 16, NULL); 8282 8283 nir_builder_instr_insert(build, &intrin->instr); 8284 return &intrin->dest.ssa; 8285} 8286static inline nir_ssa_def * 8287_nir_build_load_ray_num_dss_rt_stacks_intel(nir_builder *build) 8288{ 8289 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8290 build->shader, nir_intrinsic_load_ray_num_dss_rt_stacks_intel); 8291 8292 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 8293 8294 nir_builder_instr_insert(build, &intrin->instr); 8295 return &intrin->dest.ssa; 8296} 8297static inline nir_ssa_def * 8298_nir_build_load_ray_object_direction(nir_builder *build) 8299{ 8300 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8301 build->shader, nir_intrinsic_load_ray_object_direction); 8302 8303 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 3, 32, NULL); 8304 8305 nir_builder_instr_insert(build, &intrin->instr); 8306 return &intrin->dest.ssa; 8307} 8308static inline nir_ssa_def * 8309_nir_build_load_ray_object_origin(nir_builder *build) 8310{ 8311 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8312 build->shader, nir_intrinsic_load_ray_object_origin); 8313 8314 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 3, 32, NULL); 8315 8316 nir_builder_instr_insert(build, &intrin->instr); 8317 return &intrin->dest.ssa; 8318} 8319static inline nir_ssa_def * 8320_nir_build_load_ray_object_to_world(nir_builder *build, struct _nir_load_ray_object_to_world_indices indices) 8321{ 8322 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8323 build->shader, nir_intrinsic_load_ray_object_to_world); 8324 8325 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 3, 32, NULL); 8326 nir_intrinsic_set_column(intrin, indices.column); 8327 8328 nir_builder_instr_insert(build, &intrin->instr); 8329 return &intrin->dest.ssa; 8330} 8331static inline nir_ssa_def * 8332_nir_build_load_ray_sw_stack_size_intel(nir_builder *build) 8333{ 8334 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8335 build->shader, nir_intrinsic_load_ray_sw_stack_size_intel); 8336 8337 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 8338 8339 nir_builder_instr_insert(build, &intrin->instr); 8340 return &intrin->dest.ssa; 8341} 8342static inline nir_ssa_def * 8343_nir_build_load_ray_t_max(nir_builder *build) 8344{ 8345 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8346 build->shader, nir_intrinsic_load_ray_t_max); 8347 8348 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 8349 8350 nir_builder_instr_insert(build, &intrin->instr); 8351 return &intrin->dest.ssa; 8352} 8353static inline nir_ssa_def * 8354_nir_build_load_ray_t_min(nir_builder *build) 8355{ 8356 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8357 build->shader, nir_intrinsic_load_ray_t_min); 8358 8359 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 8360 8361 nir_builder_instr_insert(build, &intrin->instr); 8362 return &intrin->dest.ssa; 8363} 8364static inline nir_ssa_def * 8365_nir_build_load_ray_world_direction(nir_builder *build) 8366{ 8367 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8368 build->shader, nir_intrinsic_load_ray_world_direction); 8369 8370 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 3, 32, NULL); 8371 8372 nir_builder_instr_insert(build, &intrin->instr); 8373 return &intrin->dest.ssa; 8374} 8375static inline nir_ssa_def * 8376_nir_build_load_ray_world_origin(nir_builder *build) 8377{ 8378 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8379 build->shader, nir_intrinsic_load_ray_world_origin); 8380 8381 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 3, 32, NULL); 8382 8383 nir_builder_instr_insert(build, &intrin->instr); 8384 return &intrin->dest.ssa; 8385} 8386static inline nir_ssa_def * 8387_nir_build_load_ray_world_to_object(nir_builder *build, struct _nir_load_ray_world_to_object_indices indices) 8388{ 8389 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8390 build->shader, nir_intrinsic_load_ray_world_to_object); 8391 8392 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 3, 32, NULL); 8393 nir_intrinsic_set_column(intrin, indices.column); 8394 8395 nir_builder_instr_insert(build, &intrin->instr); 8396 return &intrin->dest.ssa; 8397} 8398static inline nir_ssa_def * 8399_nir_build_load_rel_patch_id_ir3(nir_builder *build) 8400{ 8401 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8402 build->shader, nir_intrinsic_load_rel_patch_id_ir3); 8403 8404 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 8405 8406 nir_builder_instr_insert(build, &intrin->instr); 8407 return &intrin->dest.ssa; 8408} 8409static inline nir_ssa_def * 8410_nir_build_load_reloc_const_intel(nir_builder *build, struct _nir_load_reloc_const_intel_indices indices) 8411{ 8412 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8413 build->shader, nir_intrinsic_load_reloc_const_intel); 8414 8415 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 8416 nir_intrinsic_set_param_idx(intrin, indices.param_idx); 8417 8418 nir_builder_instr_insert(build, &intrin->instr); 8419 return &intrin->dest.ssa; 8420} 8421static inline nir_ssa_def * 8422_nir_build_load_ring_es2gs_offset_amd(nir_builder *build) 8423{ 8424 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8425 build->shader, nir_intrinsic_load_ring_es2gs_offset_amd); 8426 8427 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 8428 8429 nir_builder_instr_insert(build, &intrin->instr); 8430 return &intrin->dest.ssa; 8431} 8432static inline nir_ssa_def * 8433_nir_build_load_ring_esgs_amd(nir_builder *build) 8434{ 8435 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8436 build->shader, nir_intrinsic_load_ring_esgs_amd); 8437 8438 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 4, 32, NULL); 8439 8440 nir_builder_instr_insert(build, &intrin->instr); 8441 return &intrin->dest.ssa; 8442} 8443static inline nir_ssa_def * 8444_nir_build_load_ring_tess_factors_amd(nir_builder *build) 8445{ 8446 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8447 build->shader, nir_intrinsic_load_ring_tess_factors_amd); 8448 8449 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 4, 32, NULL); 8450 8451 nir_builder_instr_insert(build, &intrin->instr); 8452 return &intrin->dest.ssa; 8453} 8454static inline nir_ssa_def * 8455_nir_build_load_ring_tess_factors_offset_amd(nir_builder *build) 8456{ 8457 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8458 build->shader, nir_intrinsic_load_ring_tess_factors_offset_amd); 8459 8460 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 8461 8462 nir_builder_instr_insert(build, &intrin->instr); 8463 return &intrin->dest.ssa; 8464} 8465static inline nir_ssa_def * 8466_nir_build_load_ring_tess_offchip_amd(nir_builder *build) 8467{ 8468 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8469 build->shader, nir_intrinsic_load_ring_tess_offchip_amd); 8470 8471 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 4, 32, NULL); 8472 8473 nir_builder_instr_insert(build, &intrin->instr); 8474 return &intrin->dest.ssa; 8475} 8476static inline nir_ssa_def * 8477_nir_build_load_ring_tess_offchip_offset_amd(nir_builder *build) 8478{ 8479 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8480 build->shader, nir_intrinsic_load_ring_tess_offchip_offset_amd); 8481 8482 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 8483 8484 nir_builder_instr_insert(build, &intrin->instr); 8485 return &intrin->dest.ssa; 8486} 8487static inline nir_ssa_def * 8488_nir_build_load_rt_arg_scratch_offset_amd(nir_builder *build) 8489{ 8490 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8491 build->shader, nir_intrinsic_load_rt_arg_scratch_offset_amd); 8492 8493 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 8494 8495 nir_builder_instr_insert(build, &intrin->instr); 8496 return &intrin->dest.ssa; 8497} 8498static inline nir_ssa_def * 8499_nir_build_load_sample_id(nir_builder *build) 8500{ 8501 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8502 build->shader, nir_intrinsic_load_sample_id); 8503 8504 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 8505 8506 nir_builder_instr_insert(build, &intrin->instr); 8507 return &intrin->dest.ssa; 8508} 8509static inline nir_ssa_def * 8510_nir_build_load_sample_id_no_per_sample(nir_builder *build) 8511{ 8512 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8513 build->shader, nir_intrinsic_load_sample_id_no_per_sample); 8514 8515 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 8516 8517 nir_builder_instr_insert(build, &intrin->instr); 8518 return &intrin->dest.ssa; 8519} 8520static inline nir_ssa_def * 8521_nir_build_load_sample_mask_in(nir_builder *build) 8522{ 8523 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8524 build->shader, nir_intrinsic_load_sample_mask_in); 8525 8526 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 8527 8528 nir_builder_instr_insert(build, &intrin->instr); 8529 return &intrin->dest.ssa; 8530} 8531static inline nir_ssa_def * 8532_nir_build_load_sample_pos(nir_builder *build) 8533{ 8534 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8535 build->shader, nir_intrinsic_load_sample_pos); 8536 8537 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 2, 32, NULL); 8538 8539 nir_builder_instr_insert(build, &intrin->instr); 8540 return &intrin->dest.ssa; 8541} 8542static inline nir_ssa_def * 8543_nir_build_load_sample_pos_from_id(nir_builder *build, unsigned bit_size, nir_ssa_def *src0) 8544{ 8545 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8546 build->shader, nir_intrinsic_load_sample_pos_from_id); 8547 8548 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 2, bit_size, NULL); 8549 intrin->src[0] = nir_src_for_ssa(src0); 8550 8551 nir_builder_instr_insert(build, &intrin->instr); 8552 return &intrin->dest.ssa; 8553} 8554static inline nir_ssa_def * 8555_nir_build_load_sample_positions_pan(nir_builder *build) 8556{ 8557 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8558 build->shader, nir_intrinsic_load_sample_positions_pan); 8559 8560 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 64, NULL); 8561 8562 nir_builder_instr_insert(build, &intrin->instr); 8563 return &intrin->dest.ssa; 8564} 8565static inline nir_ssa_def * 8566_nir_build_load_sampler_lod_parameters_pan(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0) 8567{ 8568 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8569 build->shader, nir_intrinsic_load_sampler_lod_parameters_pan); 8570 8571 intrin->num_components = num_components; 8572 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 8573 intrin->src[0] = nir_src_for_ssa(src0); 8574 8575 nir_builder_instr_insert(build, &intrin->instr); 8576 return &intrin->dest.ssa; 8577} 8578static inline nir_ssa_def * 8579_nir_build_load_sbt_amd(nir_builder *build, struct _nir_load_sbt_amd_indices indices) 8580{ 8581 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8582 build->shader, nir_intrinsic_load_sbt_amd); 8583 8584 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 4, 32, NULL); 8585 nir_intrinsic_set_binding(intrin, indices.binding); 8586 8587 nir_builder_instr_insert(build, &intrin->instr); 8588 return &intrin->dest.ssa; 8589} 8590static inline nir_ssa_def * 8591_nir_build_load_scratch(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, struct _nir_load_scratch_indices indices) 8592{ 8593 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8594 build->shader, nir_intrinsic_load_scratch); 8595 8596 intrin->num_components = num_components; 8597 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 8598 intrin->src[0] = nir_src_for_ssa(src0); 8599 nir_intrinsic_set_align_mul(intrin, indices.align_mul); 8600 nir_intrinsic_set_align_offset(intrin, indices.align_offset); 8601 8602 nir_builder_instr_insert(build, &intrin->instr); 8603 return &intrin->dest.ssa; 8604} 8605static inline nir_ssa_def * 8606_nir_build_load_scratch_base_ptr(nir_builder *build, unsigned num_components, unsigned bit_size, struct _nir_load_scratch_base_ptr_indices indices) 8607{ 8608 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8609 build->shader, nir_intrinsic_load_scratch_base_ptr); 8610 8611 intrin->num_components = num_components; 8612 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 8613 nir_intrinsic_set_base(intrin, indices.base); 8614 8615 nir_builder_instr_insert(build, &intrin->instr); 8616 return &intrin->dest.ssa; 8617} 8618static inline nir_ssa_def * 8619_nir_build_load_scratch_dxil(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0) 8620{ 8621 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8622 build->shader, nir_intrinsic_load_scratch_dxil); 8623 8624 intrin->num_components = num_components; 8625 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 8626 intrin->src[0] = nir_src_for_ssa(src0); 8627 8628 nir_builder_instr_insert(build, &intrin->instr); 8629 return &intrin->dest.ssa; 8630} 8631static inline nir_ssa_def * 8632_nir_build_load_shader_query_enabled_amd(nir_builder *build) 8633{ 8634 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8635 build->shader, nir_intrinsic_load_shader_query_enabled_amd); 8636 8637 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 1, NULL); 8638 8639 nir_builder_instr_insert(build, &intrin->instr); 8640 return &intrin->dest.ssa; 8641} 8642static inline nir_ssa_def * 8643_nir_build_load_shader_record_ptr(nir_builder *build) 8644{ 8645 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8646 build->shader, nir_intrinsic_load_shader_record_ptr); 8647 8648 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 64, NULL); 8649 8650 nir_builder_instr_insert(build, &intrin->instr); 8651 return &intrin->dest.ssa; 8652} 8653static inline nir_ssa_def * 8654_nir_build_load_shared(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, struct _nir_load_shared_indices indices) 8655{ 8656 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8657 build->shader, nir_intrinsic_load_shared); 8658 8659 intrin->num_components = num_components; 8660 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 8661 intrin->src[0] = nir_src_for_ssa(src0); 8662 nir_intrinsic_set_base(intrin, indices.base); 8663 nir_intrinsic_set_align_mul(intrin, indices.align_mul); 8664 nir_intrinsic_set_align_offset(intrin, indices.align_offset); 8665 8666 nir_builder_instr_insert(build, &intrin->instr); 8667 return &intrin->dest.ssa; 8668} 8669static inline nir_ssa_def * 8670_nir_build_load_shared_base_ptr(nir_builder *build, unsigned num_components, unsigned bit_size) 8671{ 8672 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8673 build->shader, nir_intrinsic_load_shared_base_ptr); 8674 8675 intrin->num_components = num_components; 8676 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 8677 8678 nir_builder_instr_insert(build, &intrin->instr); 8679 return &intrin->dest.ssa; 8680} 8681static inline nir_ssa_def * 8682_nir_build_load_shared_block_intel(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, struct _nir_load_shared_block_intel_indices indices) 8683{ 8684 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8685 build->shader, nir_intrinsic_load_shared_block_intel); 8686 8687 intrin->num_components = num_components; 8688 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 8689 intrin->src[0] = nir_src_for_ssa(src0); 8690 nir_intrinsic_set_base(intrin, indices.base); 8691 nir_intrinsic_set_align_mul(intrin, indices.align_mul); 8692 nir_intrinsic_set_align_offset(intrin, indices.align_offset); 8693 8694 nir_builder_instr_insert(build, &intrin->instr); 8695 return &intrin->dest.ssa; 8696} 8697static inline nir_ssa_def * 8698_nir_build_load_shared_dxil(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0) 8699{ 8700 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8701 build->shader, nir_intrinsic_load_shared_dxil); 8702 8703 intrin->num_components = num_components; 8704 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 8705 intrin->src[0] = nir_src_for_ssa(src0); 8706 8707 nir_builder_instr_insert(build, &intrin->instr); 8708 return &intrin->dest.ssa; 8709} 8710static inline nir_ssa_def * 8711_nir_build_load_shared_ir3(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, struct _nir_load_shared_ir3_indices indices) 8712{ 8713 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8714 build->shader, nir_intrinsic_load_shared_ir3); 8715 8716 intrin->num_components = num_components; 8717 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 8718 intrin->src[0] = nir_src_for_ssa(src0); 8719 nir_intrinsic_set_base(intrin, indices.base); 8720 nir_intrinsic_set_align_mul(intrin, indices.align_mul); 8721 nir_intrinsic_set_align_offset(intrin, indices.align_offset); 8722 8723 nir_builder_instr_insert(build, &intrin->instr); 8724 return &intrin->dest.ssa; 8725} 8726static inline nir_ssa_def * 8727_nir_build_load_simd_width_intel(nir_builder *build) 8728{ 8729 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8730 build->shader, nir_intrinsic_load_simd_width_intel); 8731 8732 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 8733 8734 nir_builder_instr_insert(build, &intrin->instr); 8735 return &intrin->dest.ssa; 8736} 8737static inline nir_ssa_def * 8738_nir_build_load_size_ir3(nir_builder *build, unsigned bit_size) 8739{ 8740 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8741 build->shader, nir_intrinsic_load_size_ir3); 8742 8743 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 8744 8745 nir_builder_instr_insert(build, &intrin->instr); 8746 return &intrin->dest.ssa; 8747} 8748static inline nir_ssa_def * 8749_nir_build_load_ssbo(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_load_ssbo_indices indices) 8750{ 8751 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8752 build->shader, nir_intrinsic_load_ssbo); 8753 8754 intrin->num_components = num_components; 8755 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 8756 intrin->src[0] = nir_src_for_ssa(src0); 8757 intrin->src[1] = nir_src_for_ssa(src1); 8758 nir_intrinsic_set_access(intrin, indices.access); 8759 nir_intrinsic_set_align_mul(intrin, indices.align_mul); 8760 nir_intrinsic_set_align_offset(intrin, indices.align_offset); 8761 8762 nir_builder_instr_insert(build, &intrin->instr); 8763 return &intrin->dest.ssa; 8764} 8765static inline nir_ssa_def * 8766_nir_build_load_ssbo_address(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0) 8767{ 8768 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8769 build->shader, nir_intrinsic_load_ssbo_address); 8770 8771 intrin->num_components = num_components; 8772 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 8773 intrin->src[0] = nir_src_for_ssa(src0); 8774 8775 nir_builder_instr_insert(build, &intrin->instr); 8776 return &intrin->dest.ssa; 8777} 8778static inline nir_ssa_def * 8779_nir_build_load_ssbo_block_intel(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_load_ssbo_block_intel_indices indices) 8780{ 8781 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8782 build->shader, nir_intrinsic_load_ssbo_block_intel); 8783 8784 intrin->num_components = num_components; 8785 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 8786 intrin->src[0] = nir_src_for_ssa(src0); 8787 intrin->src[1] = nir_src_for_ssa(src1); 8788 nir_intrinsic_set_access(intrin, indices.access); 8789 nir_intrinsic_set_align_mul(intrin, indices.align_mul); 8790 nir_intrinsic_set_align_offset(intrin, indices.align_offset); 8791 8792 nir_builder_instr_insert(build, &intrin->instr); 8793 return &intrin->dest.ssa; 8794} 8795static inline nir_ssa_def * 8796_nir_build_load_ssbo_ir3(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_load_ssbo_ir3_indices indices) 8797{ 8798 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8799 build->shader, nir_intrinsic_load_ssbo_ir3); 8800 8801 intrin->num_components = num_components; 8802 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 8803 intrin->src[0] = nir_src_for_ssa(src0); 8804 intrin->src[1] = nir_src_for_ssa(src1); 8805 intrin->src[2] = nir_src_for_ssa(src2); 8806 nir_intrinsic_set_access(intrin, indices.access); 8807 nir_intrinsic_set_align_mul(intrin, indices.align_mul); 8808 nir_intrinsic_set_align_offset(intrin, indices.align_offset); 8809 8810 nir_builder_instr_insert(build, &intrin->instr); 8811 return &intrin->dest.ssa; 8812} 8813static inline nir_ssa_def * 8814_nir_build_load_subgroup_eq_mask(nir_builder *build, unsigned num_components, unsigned bit_size) 8815{ 8816 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8817 build->shader, nir_intrinsic_load_subgroup_eq_mask); 8818 8819 intrin->num_components = num_components; 8820 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 8821 8822 nir_builder_instr_insert(build, &intrin->instr); 8823 return &intrin->dest.ssa; 8824} 8825static inline nir_ssa_def * 8826_nir_build_load_subgroup_ge_mask(nir_builder *build, unsigned num_components, unsigned bit_size) 8827{ 8828 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8829 build->shader, nir_intrinsic_load_subgroup_ge_mask); 8830 8831 intrin->num_components = num_components; 8832 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 8833 8834 nir_builder_instr_insert(build, &intrin->instr); 8835 return &intrin->dest.ssa; 8836} 8837static inline nir_ssa_def * 8838_nir_build_load_subgroup_gt_mask(nir_builder *build, unsigned num_components, unsigned bit_size) 8839{ 8840 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8841 build->shader, nir_intrinsic_load_subgroup_gt_mask); 8842 8843 intrin->num_components = num_components; 8844 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 8845 8846 nir_builder_instr_insert(build, &intrin->instr); 8847 return &intrin->dest.ssa; 8848} 8849static inline nir_ssa_def * 8850_nir_build_load_subgroup_id(nir_builder *build) 8851{ 8852 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8853 build->shader, nir_intrinsic_load_subgroup_id); 8854 8855 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 8856 8857 nir_builder_instr_insert(build, &intrin->instr); 8858 return &intrin->dest.ssa; 8859} 8860static inline nir_ssa_def * 8861_nir_build_load_subgroup_id_shift_ir3(nir_builder *build) 8862{ 8863 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8864 build->shader, nir_intrinsic_load_subgroup_id_shift_ir3); 8865 8866 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 8867 8868 nir_builder_instr_insert(build, &intrin->instr); 8869 return &intrin->dest.ssa; 8870} 8871static inline nir_ssa_def * 8872_nir_build_load_subgroup_invocation(nir_builder *build) 8873{ 8874 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8875 build->shader, nir_intrinsic_load_subgroup_invocation); 8876 8877 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 8878 8879 nir_builder_instr_insert(build, &intrin->instr); 8880 return &intrin->dest.ssa; 8881} 8882static inline nir_ssa_def * 8883_nir_build_load_subgroup_le_mask(nir_builder *build, unsigned num_components, unsigned bit_size) 8884{ 8885 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8886 build->shader, nir_intrinsic_load_subgroup_le_mask); 8887 8888 intrin->num_components = num_components; 8889 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 8890 8891 nir_builder_instr_insert(build, &intrin->instr); 8892 return &intrin->dest.ssa; 8893} 8894static inline nir_ssa_def * 8895_nir_build_load_subgroup_lt_mask(nir_builder *build, unsigned num_components, unsigned bit_size) 8896{ 8897 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8898 build->shader, nir_intrinsic_load_subgroup_lt_mask); 8899 8900 intrin->num_components = num_components; 8901 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 8902 8903 nir_builder_instr_insert(build, &intrin->instr); 8904 return &intrin->dest.ssa; 8905} 8906static inline nir_ssa_def * 8907_nir_build_load_subgroup_size(nir_builder *build) 8908{ 8909 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8910 build->shader, nir_intrinsic_load_subgroup_size); 8911 8912 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 8913 8914 nir_builder_instr_insert(build, &intrin->instr); 8915 return &intrin->dest.ssa; 8916} 8917static inline nir_ssa_def * 8918_nir_build_load_tcs_header_ir3(nir_builder *build) 8919{ 8920 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8921 build->shader, nir_intrinsic_load_tcs_header_ir3); 8922 8923 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 8924 8925 nir_builder_instr_insert(build, &intrin->instr); 8926 return &intrin->dest.ssa; 8927} 8928static inline nir_ssa_def * 8929_nir_build_load_tcs_in_param_base_r600(nir_builder *build) 8930{ 8931 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8932 build->shader, nir_intrinsic_load_tcs_in_param_base_r600); 8933 8934 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 4, 32, NULL); 8935 8936 nir_builder_instr_insert(build, &intrin->instr); 8937 return &intrin->dest.ssa; 8938} 8939static inline nir_ssa_def * 8940_nir_build_load_tcs_num_patches_amd(nir_builder *build) 8941{ 8942 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8943 build->shader, nir_intrinsic_load_tcs_num_patches_amd); 8944 8945 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 8946 8947 nir_builder_instr_insert(build, &intrin->instr); 8948 return &intrin->dest.ssa; 8949} 8950static inline nir_ssa_def * 8951_nir_build_load_tcs_out_param_base_r600(nir_builder *build) 8952{ 8953 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8954 build->shader, nir_intrinsic_load_tcs_out_param_base_r600); 8955 8956 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 4, 32, NULL); 8957 8958 nir_builder_instr_insert(build, &intrin->instr); 8959 return &intrin->dest.ssa; 8960} 8961static inline nir_ssa_def * 8962_nir_build_load_tcs_rel_patch_id_r600(nir_builder *build) 8963{ 8964 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8965 build->shader, nir_intrinsic_load_tcs_rel_patch_id_r600); 8966 8967 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 8968 8969 nir_builder_instr_insert(build, &intrin->instr); 8970 return &intrin->dest.ssa; 8971} 8972static inline nir_ssa_def * 8973_nir_build_load_tcs_tess_factor_base_r600(nir_builder *build) 8974{ 8975 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8976 build->shader, nir_intrinsic_load_tcs_tess_factor_base_r600); 8977 8978 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 8979 8980 nir_builder_instr_insert(build, &intrin->instr); 8981 return &intrin->dest.ssa; 8982} 8983static inline nir_ssa_def * 8984_nir_build_load_tess_coord(nir_builder *build) 8985{ 8986 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8987 build->shader, nir_intrinsic_load_tess_coord); 8988 8989 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 3, 32, NULL); 8990 8991 nir_builder_instr_insert(build, &intrin->instr); 8992 return &intrin->dest.ssa; 8993} 8994static inline nir_ssa_def * 8995_nir_build_load_tess_coord_r600(nir_builder *build) 8996{ 8997 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 8998 build->shader, nir_intrinsic_load_tess_coord_r600); 8999 9000 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 2, 32, NULL); 9001 9002 nir_builder_instr_insert(build, &intrin->instr); 9003 return &intrin->dest.ssa; 9004} 9005static inline nir_ssa_def * 9006_nir_build_load_tess_factor_base_ir3(nir_builder *build) 9007{ 9008 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9009 build->shader, nir_intrinsic_load_tess_factor_base_ir3); 9010 9011 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 2, 32, NULL); 9012 9013 nir_builder_instr_insert(build, &intrin->instr); 9014 return &intrin->dest.ssa; 9015} 9016static inline nir_ssa_def * 9017_nir_build_load_tess_level_inner(nir_builder *build) 9018{ 9019 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9020 build->shader, nir_intrinsic_load_tess_level_inner); 9021 9022 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 2, 32, NULL); 9023 9024 nir_builder_instr_insert(build, &intrin->instr); 9025 return &intrin->dest.ssa; 9026} 9027static inline nir_ssa_def * 9028_nir_build_load_tess_level_inner_default(nir_builder *build) 9029{ 9030 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9031 build->shader, nir_intrinsic_load_tess_level_inner_default); 9032 9033 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 2, 32, NULL); 9034 9035 nir_builder_instr_insert(build, &intrin->instr); 9036 return &intrin->dest.ssa; 9037} 9038static inline nir_ssa_def * 9039_nir_build_load_tess_level_outer(nir_builder *build) 9040{ 9041 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9042 build->shader, nir_intrinsic_load_tess_level_outer); 9043 9044 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 4, 32, NULL); 9045 9046 nir_builder_instr_insert(build, &intrin->instr); 9047 return &intrin->dest.ssa; 9048} 9049static inline nir_ssa_def * 9050_nir_build_load_tess_level_outer_default(nir_builder *build) 9051{ 9052 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9053 build->shader, nir_intrinsic_load_tess_level_outer_default); 9054 9055 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 4, 32, NULL); 9056 9057 nir_builder_instr_insert(build, &intrin->instr); 9058 return &intrin->dest.ssa; 9059} 9060static inline nir_ssa_def * 9061_nir_build_load_tess_param_base_ir3(nir_builder *build) 9062{ 9063 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9064 build->shader, nir_intrinsic_load_tess_param_base_ir3); 9065 9066 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 2, 32, NULL); 9067 9068 nir_builder_instr_insert(build, &intrin->instr); 9069 return &intrin->dest.ssa; 9070} 9071static inline nir_ssa_def * 9072_nir_build_load_tess_rel_patch_id_amd(nir_builder *build) 9073{ 9074 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9075 build->shader, nir_intrinsic_load_tess_rel_patch_id_amd); 9076 9077 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 9078 9079 nir_builder_instr_insert(build, &intrin->instr); 9080 return &intrin->dest.ssa; 9081} 9082static inline nir_ssa_def * 9083_nir_build_load_texture_rect_scaling(nir_builder *build, unsigned bit_size, nir_ssa_def *src0) 9084{ 9085 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9086 build->shader, nir_intrinsic_load_texture_rect_scaling); 9087 9088 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 2, bit_size, NULL); 9089 intrin->src[0] = nir_src_for_ssa(src0); 9090 9091 nir_builder_instr_insert(build, &intrin->instr); 9092 return &intrin->dest.ssa; 9093} 9094static inline nir_ssa_def * 9095_nir_build_load_tlb_color_v3d(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, struct _nir_load_tlb_color_v3d_indices indices) 9096{ 9097 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9098 build->shader, nir_intrinsic_load_tlb_color_v3d); 9099 9100 intrin->num_components = num_components; 9101 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 9102 intrin->src[0] = nir_src_for_ssa(src0); 9103 nir_intrinsic_set_base(intrin, indices.base); 9104 nir_intrinsic_set_component(intrin, indices.component); 9105 9106 nir_builder_instr_insert(build, &intrin->instr); 9107 return &intrin->dest.ssa; 9108} 9109static inline nir_ssa_def * 9110_nir_build_load_ubo(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_load_ubo_indices indices) 9111{ 9112 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9113 build->shader, nir_intrinsic_load_ubo); 9114 9115 intrin->num_components = num_components; 9116 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 9117 intrin->src[0] = nir_src_for_ssa(src0); 9118 intrin->src[1] = nir_src_for_ssa(src1); 9119 nir_intrinsic_set_access(intrin, indices.access); 9120 nir_intrinsic_set_align_mul(intrin, indices.align_mul); 9121 nir_intrinsic_set_align_offset(intrin, indices.align_offset); 9122 nir_intrinsic_set_range_base(intrin, indices.range_base); 9123 nir_intrinsic_set_range(intrin, indices.range); 9124 9125 nir_builder_instr_insert(build, &intrin->instr); 9126 return &intrin->dest.ssa; 9127} 9128static inline nir_ssa_def * 9129_nir_build_load_ubo_dxil(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1) 9130{ 9131 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9132 build->shader, nir_intrinsic_load_ubo_dxil); 9133 9134 intrin->num_components = num_components; 9135 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 9136 intrin->src[0] = nir_src_for_ssa(src0); 9137 intrin->src[1] = nir_src_for_ssa(src1); 9138 9139 nir_builder_instr_insert(build, &intrin->instr); 9140 return &intrin->dest.ssa; 9141} 9142static inline nir_ssa_def * 9143_nir_build_load_ubo_vec4(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_load_ubo_vec4_indices indices) 9144{ 9145 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9146 build->shader, nir_intrinsic_load_ubo_vec4); 9147 9148 intrin->num_components = num_components; 9149 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 9150 intrin->src[0] = nir_src_for_ssa(src0); 9151 intrin->src[1] = nir_src_for_ssa(src1); 9152 nir_intrinsic_set_access(intrin, indices.access); 9153 nir_intrinsic_set_component(intrin, indices.component); 9154 9155 nir_builder_instr_insert(build, &intrin->instr); 9156 return &intrin->dest.ssa; 9157} 9158static inline nir_ssa_def * 9159_nir_build_load_uniform(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, struct _nir_load_uniform_indices indices) 9160{ 9161 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9162 build->shader, nir_intrinsic_load_uniform); 9163 9164 intrin->num_components = num_components; 9165 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 9166 intrin->src[0] = nir_src_for_ssa(src0); 9167 nir_intrinsic_set_base(intrin, indices.base); 9168 nir_intrinsic_set_range(intrin, indices.range); 9169 nir_intrinsic_set_dest_type(intrin, indices.dest_type); 9170 9171 nir_builder_instr_insert(build, &intrin->instr); 9172 return &intrin->dest.ssa; 9173} 9174static inline nir_ssa_def * 9175_nir_build_load_user_clip_plane(nir_builder *build, struct _nir_load_user_clip_plane_indices indices) 9176{ 9177 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9178 build->shader, nir_intrinsic_load_user_clip_plane); 9179 9180 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 4, 32, NULL); 9181 nir_intrinsic_set_ucp_id(intrin, indices.ucp_id); 9182 9183 nir_builder_instr_insert(build, &intrin->instr); 9184 return &intrin->dest.ssa; 9185} 9186static inline nir_ssa_def * 9187_nir_build_load_user_data_amd(nir_builder *build) 9188{ 9189 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9190 build->shader, nir_intrinsic_load_user_data_amd); 9191 9192 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 4, 32, NULL); 9193 9194 nir_builder_instr_insert(build, &intrin->instr); 9195 return &intrin->dest.ssa; 9196} 9197static inline nir_ssa_def * 9198_nir_build_load_vertex_id(nir_builder *build) 9199{ 9200 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9201 build->shader, nir_intrinsic_load_vertex_id); 9202 9203 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 9204 9205 nir_builder_instr_insert(build, &intrin->instr); 9206 return &intrin->dest.ssa; 9207} 9208static inline nir_ssa_def * 9209_nir_build_load_vertex_id_zero_base(nir_builder *build) 9210{ 9211 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9212 build->shader, nir_intrinsic_load_vertex_id_zero_base); 9213 9214 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 9215 9216 nir_builder_instr_insert(build, &intrin->instr); 9217 return &intrin->dest.ssa; 9218} 9219static inline nir_ssa_def * 9220_nir_build_load_view_index(nir_builder *build) 9221{ 9222 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9223 build->shader, nir_intrinsic_load_view_index); 9224 9225 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 9226 9227 nir_builder_instr_insert(build, &intrin->instr); 9228 return &intrin->dest.ssa; 9229} 9230static inline nir_ssa_def * 9231_nir_build_load_viewport_offset(nir_builder *build) 9232{ 9233 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9234 build->shader, nir_intrinsic_load_viewport_offset); 9235 9236 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 3, 32, NULL); 9237 9238 nir_builder_instr_insert(build, &intrin->instr); 9239 return &intrin->dest.ssa; 9240} 9241static inline nir_ssa_def * 9242_nir_build_load_viewport_scale(nir_builder *build) 9243{ 9244 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9245 build->shader, nir_intrinsic_load_viewport_scale); 9246 9247 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 3, 32, NULL); 9248 9249 nir_builder_instr_insert(build, &intrin->instr); 9250 return &intrin->dest.ssa; 9251} 9252static inline nir_ssa_def * 9253_nir_build_load_viewport_x_offset(nir_builder *build) 9254{ 9255 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9256 build->shader, nir_intrinsic_load_viewport_x_offset); 9257 9258 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 9259 9260 nir_builder_instr_insert(build, &intrin->instr); 9261 return &intrin->dest.ssa; 9262} 9263static inline nir_ssa_def * 9264_nir_build_load_viewport_x_scale(nir_builder *build) 9265{ 9266 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9267 build->shader, nir_intrinsic_load_viewport_x_scale); 9268 9269 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 9270 9271 nir_builder_instr_insert(build, &intrin->instr); 9272 return &intrin->dest.ssa; 9273} 9274static inline nir_ssa_def * 9275_nir_build_load_viewport_y_offset(nir_builder *build) 9276{ 9277 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9278 build->shader, nir_intrinsic_load_viewport_y_offset); 9279 9280 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 9281 9282 nir_builder_instr_insert(build, &intrin->instr); 9283 return &intrin->dest.ssa; 9284} 9285static inline nir_ssa_def * 9286_nir_build_load_viewport_y_scale(nir_builder *build) 9287{ 9288 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9289 build->shader, nir_intrinsic_load_viewport_y_scale); 9290 9291 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 9292 9293 nir_builder_instr_insert(build, &intrin->instr); 9294 return &intrin->dest.ssa; 9295} 9296static inline nir_ssa_def * 9297_nir_build_load_viewport_z_offset(nir_builder *build) 9298{ 9299 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9300 build->shader, nir_intrinsic_load_viewport_z_offset); 9301 9302 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 9303 9304 nir_builder_instr_insert(build, &intrin->instr); 9305 return &intrin->dest.ssa; 9306} 9307static inline nir_ssa_def * 9308_nir_build_load_viewport_z_scale(nir_builder *build) 9309{ 9310 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9311 build->shader, nir_intrinsic_load_viewport_z_scale); 9312 9313 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 9314 9315 nir_builder_instr_insert(build, &intrin->instr); 9316 return &intrin->dest.ssa; 9317} 9318static inline nir_ssa_def * 9319_nir_build_load_vs_primitive_stride_ir3(nir_builder *build) 9320{ 9321 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9322 build->shader, nir_intrinsic_load_vs_primitive_stride_ir3); 9323 9324 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 9325 9326 nir_builder_instr_insert(build, &intrin->instr); 9327 return &intrin->dest.ssa; 9328} 9329static inline nir_ssa_def * 9330_nir_build_load_vs_vertex_stride_ir3(nir_builder *build) 9331{ 9332 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9333 build->shader, nir_intrinsic_load_vs_vertex_stride_ir3); 9334 9335 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 9336 9337 nir_builder_instr_insert(build, &intrin->instr); 9338 return &intrin->dest.ssa; 9339} 9340static inline nir_ssa_def * 9341_nir_build_load_vulkan_descriptor(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, struct _nir_load_vulkan_descriptor_indices indices) 9342{ 9343 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9344 build->shader, nir_intrinsic_load_vulkan_descriptor); 9345 9346 intrin->num_components = num_components; 9347 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 9348 intrin->src[0] = nir_src_for_ssa(src0); 9349 nir_intrinsic_set_desc_type(intrin, indices.desc_type); 9350 9351 nir_builder_instr_insert(build, &intrin->instr); 9352 return &intrin->dest.ssa; 9353} 9354static inline nir_ssa_def * 9355_nir_build_load_work_dim(nir_builder *build) 9356{ 9357 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9358 build->shader, nir_intrinsic_load_work_dim); 9359 9360 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 9361 9362 nir_builder_instr_insert(build, &intrin->instr); 9363 return &intrin->dest.ssa; 9364} 9365static inline nir_ssa_def * 9366_nir_build_load_workgroup_id(nir_builder *build, unsigned bit_size) 9367{ 9368 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9369 build->shader, nir_intrinsic_load_workgroup_id); 9370 9371 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 3, bit_size, NULL); 9372 9373 nir_builder_instr_insert(build, &intrin->instr); 9374 return &intrin->dest.ssa; 9375} 9376static inline nir_ssa_def * 9377_nir_build_load_workgroup_id_zero_base(nir_builder *build) 9378{ 9379 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9380 build->shader, nir_intrinsic_load_workgroup_id_zero_base); 9381 9382 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 3, 32, NULL); 9383 9384 nir_builder_instr_insert(build, &intrin->instr); 9385 return &intrin->dest.ssa; 9386} 9387static inline nir_ssa_def * 9388_nir_build_load_workgroup_num_input_primitives_amd(nir_builder *build) 9389{ 9390 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9391 build->shader, nir_intrinsic_load_workgroup_num_input_primitives_amd); 9392 9393 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 9394 9395 nir_builder_instr_insert(build, &intrin->instr); 9396 return &intrin->dest.ssa; 9397} 9398static inline nir_ssa_def * 9399_nir_build_load_workgroup_num_input_vertices_amd(nir_builder *build) 9400{ 9401 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9402 build->shader, nir_intrinsic_load_workgroup_num_input_vertices_amd); 9403 9404 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 9405 9406 nir_builder_instr_insert(build, &intrin->instr); 9407 return &intrin->dest.ssa; 9408} 9409static inline nir_ssa_def * 9410_nir_build_load_workgroup_size(nir_builder *build) 9411{ 9412 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9413 build->shader, nir_intrinsic_load_workgroup_size); 9414 9415 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 3, 32, NULL); 9416 9417 nir_builder_instr_insert(build, &intrin->instr); 9418 return &intrin->dest.ssa; 9419} 9420static inline nir_ssa_def * 9421_nir_build_masked_swizzle_amd(nir_builder *build, nir_ssa_def *src0, struct _nir_masked_swizzle_amd_indices indices) 9422{ 9423 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9424 build->shader, nir_intrinsic_masked_swizzle_amd); 9425 9426 intrin->num_components = src0->num_components; 9427 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, src0->bit_size, NULL); 9428 intrin->src[0] = nir_src_for_ssa(src0); 9429 nir_intrinsic_set_swizzle_mask(intrin, indices.swizzle_mask); 9430 9431 nir_builder_instr_insert(build, &intrin->instr); 9432 return &intrin->dest.ssa; 9433} 9434static inline nir_ssa_def * 9435_nir_build_mbcnt_amd(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 9436{ 9437 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9438 build->shader, nir_intrinsic_mbcnt_amd); 9439 9440 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 9441 intrin->src[0] = nir_src_for_ssa(src0); 9442 intrin->src[1] = nir_src_for_ssa(src1); 9443 9444 nir_builder_instr_insert(build, &intrin->instr); 9445 return &intrin->dest.ssa; 9446} 9447static inline nir_intrinsic_instr * 9448_nir_build_memcpy_deref(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_memcpy_deref_indices indices) 9449{ 9450 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9451 build->shader, nir_intrinsic_memcpy_deref); 9452 9453 intrin->src[0] = nir_src_for_ssa(src0); 9454 intrin->src[1] = nir_src_for_ssa(src1); 9455 intrin->src[2] = nir_src_for_ssa(src2); 9456 nir_intrinsic_set_dst_access(intrin, indices.dst_access); 9457 nir_intrinsic_set_src_access(intrin, indices.src_access); 9458 9459 nir_builder_instr_insert(build, &intrin->instr); 9460 return intrin; 9461} 9462static inline nir_intrinsic_instr * 9463_nir_build_memory_barrier(nir_builder *build) 9464{ 9465 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9466 build->shader, nir_intrinsic_memory_barrier); 9467 9468 9469 nir_builder_instr_insert(build, &intrin->instr); 9470 return intrin; 9471} 9472static inline nir_intrinsic_instr * 9473_nir_build_memory_barrier_atomic_counter(nir_builder *build) 9474{ 9475 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9476 build->shader, nir_intrinsic_memory_barrier_atomic_counter); 9477 9478 9479 nir_builder_instr_insert(build, &intrin->instr); 9480 return intrin; 9481} 9482static inline nir_intrinsic_instr * 9483_nir_build_memory_barrier_buffer(nir_builder *build) 9484{ 9485 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9486 build->shader, nir_intrinsic_memory_barrier_buffer); 9487 9488 9489 nir_builder_instr_insert(build, &intrin->instr); 9490 return intrin; 9491} 9492static inline nir_intrinsic_instr * 9493_nir_build_memory_barrier_image(nir_builder *build) 9494{ 9495 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9496 build->shader, nir_intrinsic_memory_barrier_image); 9497 9498 9499 nir_builder_instr_insert(build, &intrin->instr); 9500 return intrin; 9501} 9502static inline nir_intrinsic_instr * 9503_nir_build_memory_barrier_shared(nir_builder *build) 9504{ 9505 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9506 build->shader, nir_intrinsic_memory_barrier_shared); 9507 9508 9509 nir_builder_instr_insert(build, &intrin->instr); 9510 return intrin; 9511} 9512static inline nir_intrinsic_instr * 9513_nir_build_memory_barrier_tcs_patch(nir_builder *build) 9514{ 9515 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9516 build->shader, nir_intrinsic_memory_barrier_tcs_patch); 9517 9518 9519 nir_builder_instr_insert(build, &intrin->instr); 9520 return intrin; 9521} 9522static inline nir_intrinsic_instr * 9523_nir_build_nop(nir_builder *build) 9524{ 9525 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9526 build->shader, nir_intrinsic_nop); 9527 9528 9529 nir_builder_instr_insert(build, &intrin->instr); 9530 return intrin; 9531} 9532static inline nir_intrinsic_instr * 9533_nir_build_overwrite_tes_arguments_amd(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3) 9534{ 9535 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9536 build->shader, nir_intrinsic_overwrite_tes_arguments_amd); 9537 9538 intrin->src[0] = nir_src_for_ssa(src0); 9539 intrin->src[1] = nir_src_for_ssa(src1); 9540 intrin->src[2] = nir_src_for_ssa(src2); 9541 intrin->src[3] = nir_src_for_ssa(src3); 9542 9543 nir_builder_instr_insert(build, &intrin->instr); 9544 return intrin; 9545} 9546static inline nir_intrinsic_instr * 9547_nir_build_overwrite_vs_arguments_amd(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 9548{ 9549 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9550 build->shader, nir_intrinsic_overwrite_vs_arguments_amd); 9551 9552 intrin->src[0] = nir_src_for_ssa(src0); 9553 intrin->src[1] = nir_src_for_ssa(src1); 9554 9555 nir_builder_instr_insert(build, &intrin->instr); 9556 return intrin; 9557} 9558static inline nir_ssa_def * 9559_nir_build_printf(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 9560{ 9561 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9562 build->shader, nir_intrinsic_printf); 9563 9564 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 9565 intrin->src[0] = nir_src_for_ssa(src0); 9566 intrin->src[1] = nir_src_for_ssa(src1); 9567 9568 nir_builder_instr_insert(build, &intrin->instr); 9569 return &intrin->dest.ssa; 9570} 9571static inline nir_ssa_def * 9572_nir_build_quad_broadcast(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1) 9573{ 9574 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9575 build->shader, nir_intrinsic_quad_broadcast); 9576 9577 intrin->num_components = src0->num_components; 9578 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 9579 intrin->src[0] = nir_src_for_ssa(src0); 9580 intrin->src[1] = nir_src_for_ssa(src1); 9581 9582 nir_builder_instr_insert(build, &intrin->instr); 9583 return &intrin->dest.ssa; 9584} 9585static inline nir_ssa_def * 9586_nir_build_quad_swap_diagonal(nir_builder *build, unsigned bit_size, nir_ssa_def *src0) 9587{ 9588 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9589 build->shader, nir_intrinsic_quad_swap_diagonal); 9590 9591 intrin->num_components = src0->num_components; 9592 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 9593 intrin->src[0] = nir_src_for_ssa(src0); 9594 9595 nir_builder_instr_insert(build, &intrin->instr); 9596 return &intrin->dest.ssa; 9597} 9598static inline nir_ssa_def * 9599_nir_build_quad_swap_horizontal(nir_builder *build, unsigned bit_size, nir_ssa_def *src0) 9600{ 9601 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9602 build->shader, nir_intrinsic_quad_swap_horizontal); 9603 9604 intrin->num_components = src0->num_components; 9605 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 9606 intrin->src[0] = nir_src_for_ssa(src0); 9607 9608 nir_builder_instr_insert(build, &intrin->instr); 9609 return &intrin->dest.ssa; 9610} 9611static inline nir_ssa_def * 9612_nir_build_quad_swap_vertical(nir_builder *build, unsigned bit_size, nir_ssa_def *src0) 9613{ 9614 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9615 build->shader, nir_intrinsic_quad_swap_vertical); 9616 9617 intrin->num_components = src0->num_components; 9618 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 9619 intrin->src[0] = nir_src_for_ssa(src0); 9620 9621 nir_builder_instr_insert(build, &intrin->instr); 9622 return &intrin->dest.ssa; 9623} 9624static inline nir_ssa_def * 9625_nir_build_quad_swizzle_amd(nir_builder *build, nir_ssa_def *src0, struct _nir_quad_swizzle_amd_indices indices) 9626{ 9627 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9628 build->shader, nir_intrinsic_quad_swizzle_amd); 9629 9630 intrin->num_components = src0->num_components; 9631 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, src0->bit_size, NULL); 9632 intrin->src[0] = nir_src_for_ssa(src0); 9633 nir_intrinsic_set_swizzle_mask(intrin, indices.swizzle_mask); 9634 9635 nir_builder_instr_insert(build, &intrin->instr); 9636 return &intrin->dest.ssa; 9637} 9638static inline nir_ssa_def * 9639_nir_build_read_first_invocation(nir_builder *build, nir_ssa_def *src0) 9640{ 9641 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9642 build->shader, nir_intrinsic_read_first_invocation); 9643 9644 intrin->num_components = src0->num_components; 9645 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, src0->bit_size, NULL); 9646 intrin->src[0] = nir_src_for_ssa(src0); 9647 9648 nir_builder_instr_insert(build, &intrin->instr); 9649 return &intrin->dest.ssa; 9650} 9651static inline nir_ssa_def * 9652_nir_build_read_invocation(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 9653{ 9654 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9655 build->shader, nir_intrinsic_read_invocation); 9656 9657 intrin->num_components = src0->num_components; 9658 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, src0->bit_size, NULL); 9659 intrin->src[0] = nir_src_for_ssa(src0); 9660 intrin->src[1] = nir_src_for_ssa(src1); 9661 9662 nir_builder_instr_insert(build, &intrin->instr); 9663 return &intrin->dest.ssa; 9664} 9665static inline nir_ssa_def * 9666_nir_build_read_invocation_cond_ir3(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1) 9667{ 9668 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9669 build->shader, nir_intrinsic_read_invocation_cond_ir3); 9670 9671 intrin->num_components = src0->num_components; 9672 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 9673 intrin->src[0] = nir_src_for_ssa(src0); 9674 intrin->src[1] = nir_src_for_ssa(src1); 9675 9676 nir_builder_instr_insert(build, &intrin->instr); 9677 return &intrin->dest.ssa; 9678} 9679static inline nir_ssa_def * 9680_nir_build_reduce(nir_builder *build, nir_ssa_def *src0, struct _nir_reduce_indices indices) 9681{ 9682 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9683 build->shader, nir_intrinsic_reduce); 9684 9685 intrin->num_components = src0->num_components; 9686 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, src0->bit_size, NULL); 9687 intrin->src[0] = nir_src_for_ssa(src0); 9688 nir_intrinsic_set_reduction_op(intrin, indices.reduction_op); 9689 nir_intrinsic_set_cluster_size(intrin, indices.cluster_size); 9690 9691 nir_builder_instr_insert(build, &intrin->instr); 9692 return &intrin->dest.ssa; 9693} 9694static inline nir_ssa_def * 9695_nir_build_report_ray_intersection(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1) 9696{ 9697 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9698 build->shader, nir_intrinsic_report_ray_intersection); 9699 9700 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 9701 intrin->src[0] = nir_src_for_ssa(src0); 9702 intrin->src[1] = nir_src_for_ssa(src1); 9703 9704 nir_builder_instr_insert(build, &intrin->instr); 9705 return &intrin->dest.ssa; 9706} 9707static inline nir_intrinsic_instr * 9708_nir_build_rt_execute_callable(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_rt_execute_callable_indices indices) 9709{ 9710 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9711 build->shader, nir_intrinsic_rt_execute_callable); 9712 9713 intrin->src[0] = nir_src_for_ssa(src0); 9714 intrin->src[1] = nir_src_for_ssa(src1); 9715 nir_intrinsic_set_call_idx(intrin, indices.call_idx); 9716 nir_intrinsic_set_stack_size(intrin, indices.stack_size); 9717 9718 nir_builder_instr_insert(build, &intrin->instr); 9719 return intrin; 9720} 9721static inline nir_intrinsic_instr * 9722_nir_build_rt_resume(nir_builder *build, struct _nir_rt_resume_indices indices) 9723{ 9724 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9725 build->shader, nir_intrinsic_rt_resume); 9726 9727 nir_intrinsic_set_call_idx(intrin, indices.call_idx); 9728 nir_intrinsic_set_stack_size(intrin, indices.stack_size); 9729 9730 nir_builder_instr_insert(build, &intrin->instr); 9731 return intrin; 9732} 9733static inline nir_intrinsic_instr * 9734_nir_build_rt_return_amd(nir_builder *build) 9735{ 9736 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9737 build->shader, nir_intrinsic_rt_return_amd); 9738 9739 9740 nir_builder_instr_insert(build, &intrin->instr); 9741 return intrin; 9742} 9743static inline nir_intrinsic_instr * 9744_nir_build_rt_trace_ray(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, nir_ssa_def *src4, nir_ssa_def *src5, nir_ssa_def *src6, nir_ssa_def *src7, nir_ssa_def *src8, nir_ssa_def *src9, nir_ssa_def *src10, struct _nir_rt_trace_ray_indices indices) 9745{ 9746 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9747 build->shader, nir_intrinsic_rt_trace_ray); 9748 9749 intrin->src[0] = nir_src_for_ssa(src0); 9750 intrin->src[1] = nir_src_for_ssa(src1); 9751 intrin->src[2] = nir_src_for_ssa(src2); 9752 intrin->src[3] = nir_src_for_ssa(src3); 9753 intrin->src[4] = nir_src_for_ssa(src4); 9754 intrin->src[5] = nir_src_for_ssa(src5); 9755 intrin->src[6] = nir_src_for_ssa(src6); 9756 intrin->src[7] = nir_src_for_ssa(src7); 9757 intrin->src[8] = nir_src_for_ssa(src8); 9758 intrin->src[9] = nir_src_for_ssa(src9); 9759 intrin->src[10] = nir_src_for_ssa(src10); 9760 nir_intrinsic_set_call_idx(intrin, indices.call_idx); 9761 nir_intrinsic_set_stack_size(intrin, indices.stack_size); 9762 9763 nir_builder_instr_insert(build, &intrin->instr); 9764 return intrin; 9765} 9766static inline nir_intrinsic_instr * 9767_nir_build_scoped_barrier(nir_builder *build, struct _nir_scoped_barrier_indices indices) 9768{ 9769 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9770 build->shader, nir_intrinsic_scoped_barrier); 9771 9772 nir_intrinsic_set_execution_scope(intrin, indices.execution_scope); 9773 nir_intrinsic_set_memory_scope(intrin, indices.memory_scope); 9774 nir_intrinsic_set_memory_semantics(intrin, indices.memory_semantics); 9775 nir_intrinsic_set_memory_modes(intrin, indices.memory_modes); 9776 9777 nir_builder_instr_insert(build, &intrin->instr); 9778 return intrin; 9779} 9780static inline nir_intrinsic_instr * 9781_nir_build_set_vertex_and_primitive_count(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_set_vertex_and_primitive_count_indices indices) 9782{ 9783 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9784 build->shader, nir_intrinsic_set_vertex_and_primitive_count); 9785 9786 intrin->src[0] = nir_src_for_ssa(src0); 9787 intrin->src[1] = nir_src_for_ssa(src1); 9788 nir_intrinsic_set_stream_id(intrin, indices.stream_id); 9789 9790 nir_builder_instr_insert(build, &intrin->instr); 9791 return intrin; 9792} 9793static inline nir_ssa_def * 9794_nir_build_shader_clock(nir_builder *build, struct _nir_shader_clock_indices indices) 9795{ 9796 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9797 build->shader, nir_intrinsic_shader_clock); 9798 9799 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 2, 32, NULL); 9800 nir_intrinsic_set_memory_scope(intrin, indices.memory_scope); 9801 9802 nir_builder_instr_insert(build, &intrin->instr); 9803 return &intrin->dest.ssa; 9804} 9805static inline nir_ssa_def * 9806_nir_build_shared_atomic_add(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_shared_atomic_add_indices indices) 9807{ 9808 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9809 build->shader, nir_intrinsic_shared_atomic_add); 9810 9811 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 9812 intrin->src[0] = nir_src_for_ssa(src0); 9813 intrin->src[1] = nir_src_for_ssa(src1); 9814 nir_intrinsic_set_base(intrin, indices.base); 9815 9816 nir_builder_instr_insert(build, &intrin->instr); 9817 return &intrin->dest.ssa; 9818} 9819static inline nir_ssa_def * 9820_nir_build_shared_atomic_add_dxil(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1) 9821{ 9822 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9823 build->shader, nir_intrinsic_shared_atomic_add_dxil); 9824 9825 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 9826 intrin->src[0] = nir_src_for_ssa(src0); 9827 intrin->src[1] = nir_src_for_ssa(src1); 9828 9829 nir_builder_instr_insert(build, &intrin->instr); 9830 return &intrin->dest.ssa; 9831} 9832static inline nir_ssa_def * 9833_nir_build_shared_atomic_and(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_shared_atomic_and_indices indices) 9834{ 9835 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9836 build->shader, nir_intrinsic_shared_atomic_and); 9837 9838 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 9839 intrin->src[0] = nir_src_for_ssa(src0); 9840 intrin->src[1] = nir_src_for_ssa(src1); 9841 nir_intrinsic_set_base(intrin, indices.base); 9842 9843 nir_builder_instr_insert(build, &intrin->instr); 9844 return &intrin->dest.ssa; 9845} 9846static inline nir_ssa_def * 9847_nir_build_shared_atomic_and_dxil(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1) 9848{ 9849 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9850 build->shader, nir_intrinsic_shared_atomic_and_dxil); 9851 9852 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 9853 intrin->src[0] = nir_src_for_ssa(src0); 9854 intrin->src[1] = nir_src_for_ssa(src1); 9855 9856 nir_builder_instr_insert(build, &intrin->instr); 9857 return &intrin->dest.ssa; 9858} 9859static inline nir_ssa_def * 9860_nir_build_shared_atomic_comp_swap(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_shared_atomic_comp_swap_indices indices) 9861{ 9862 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9863 build->shader, nir_intrinsic_shared_atomic_comp_swap); 9864 9865 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 9866 intrin->src[0] = nir_src_for_ssa(src0); 9867 intrin->src[1] = nir_src_for_ssa(src1); 9868 intrin->src[2] = nir_src_for_ssa(src2); 9869 nir_intrinsic_set_base(intrin, indices.base); 9870 9871 nir_builder_instr_insert(build, &intrin->instr); 9872 return &intrin->dest.ssa; 9873} 9874static inline nir_ssa_def * 9875_nir_build_shared_atomic_comp_swap_dxil(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2) 9876{ 9877 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9878 build->shader, nir_intrinsic_shared_atomic_comp_swap_dxil); 9879 9880 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 9881 intrin->src[0] = nir_src_for_ssa(src0); 9882 intrin->src[1] = nir_src_for_ssa(src1); 9883 intrin->src[2] = nir_src_for_ssa(src2); 9884 9885 nir_builder_instr_insert(build, &intrin->instr); 9886 return &intrin->dest.ssa; 9887} 9888static inline nir_ssa_def * 9889_nir_build_shared_atomic_exchange(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_shared_atomic_exchange_indices indices) 9890{ 9891 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9892 build->shader, nir_intrinsic_shared_atomic_exchange); 9893 9894 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 9895 intrin->src[0] = nir_src_for_ssa(src0); 9896 intrin->src[1] = nir_src_for_ssa(src1); 9897 nir_intrinsic_set_base(intrin, indices.base); 9898 9899 nir_builder_instr_insert(build, &intrin->instr); 9900 return &intrin->dest.ssa; 9901} 9902static inline nir_ssa_def * 9903_nir_build_shared_atomic_exchange_dxil(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1) 9904{ 9905 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9906 build->shader, nir_intrinsic_shared_atomic_exchange_dxil); 9907 9908 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 9909 intrin->src[0] = nir_src_for_ssa(src0); 9910 intrin->src[1] = nir_src_for_ssa(src1); 9911 9912 nir_builder_instr_insert(build, &intrin->instr); 9913 return &intrin->dest.ssa; 9914} 9915static inline nir_ssa_def * 9916_nir_build_shared_atomic_fadd(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_shared_atomic_fadd_indices indices) 9917{ 9918 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9919 build->shader, nir_intrinsic_shared_atomic_fadd); 9920 9921 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 9922 intrin->src[0] = nir_src_for_ssa(src0); 9923 intrin->src[1] = nir_src_for_ssa(src1); 9924 nir_intrinsic_set_base(intrin, indices.base); 9925 9926 nir_builder_instr_insert(build, &intrin->instr); 9927 return &intrin->dest.ssa; 9928} 9929static inline nir_ssa_def * 9930_nir_build_shared_atomic_fcomp_swap(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_shared_atomic_fcomp_swap_indices indices) 9931{ 9932 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9933 build->shader, nir_intrinsic_shared_atomic_fcomp_swap); 9934 9935 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 9936 intrin->src[0] = nir_src_for_ssa(src0); 9937 intrin->src[1] = nir_src_for_ssa(src1); 9938 intrin->src[2] = nir_src_for_ssa(src2); 9939 nir_intrinsic_set_base(intrin, indices.base); 9940 9941 nir_builder_instr_insert(build, &intrin->instr); 9942 return &intrin->dest.ssa; 9943} 9944static inline nir_ssa_def * 9945_nir_build_shared_atomic_fmax(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_shared_atomic_fmax_indices indices) 9946{ 9947 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9948 build->shader, nir_intrinsic_shared_atomic_fmax); 9949 9950 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 9951 intrin->src[0] = nir_src_for_ssa(src0); 9952 intrin->src[1] = nir_src_for_ssa(src1); 9953 nir_intrinsic_set_base(intrin, indices.base); 9954 9955 nir_builder_instr_insert(build, &intrin->instr); 9956 return &intrin->dest.ssa; 9957} 9958static inline nir_ssa_def * 9959_nir_build_shared_atomic_fmin(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_shared_atomic_fmin_indices indices) 9960{ 9961 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9962 build->shader, nir_intrinsic_shared_atomic_fmin); 9963 9964 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 9965 intrin->src[0] = nir_src_for_ssa(src0); 9966 intrin->src[1] = nir_src_for_ssa(src1); 9967 nir_intrinsic_set_base(intrin, indices.base); 9968 9969 nir_builder_instr_insert(build, &intrin->instr); 9970 return &intrin->dest.ssa; 9971} 9972static inline nir_ssa_def * 9973_nir_build_shared_atomic_imax(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_shared_atomic_imax_indices indices) 9974{ 9975 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9976 build->shader, nir_intrinsic_shared_atomic_imax); 9977 9978 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 9979 intrin->src[0] = nir_src_for_ssa(src0); 9980 intrin->src[1] = nir_src_for_ssa(src1); 9981 nir_intrinsic_set_base(intrin, indices.base); 9982 9983 nir_builder_instr_insert(build, &intrin->instr); 9984 return &intrin->dest.ssa; 9985} 9986static inline nir_ssa_def * 9987_nir_build_shared_atomic_imax_dxil(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1) 9988{ 9989 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 9990 build->shader, nir_intrinsic_shared_atomic_imax_dxil); 9991 9992 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 9993 intrin->src[0] = nir_src_for_ssa(src0); 9994 intrin->src[1] = nir_src_for_ssa(src1); 9995 9996 nir_builder_instr_insert(build, &intrin->instr); 9997 return &intrin->dest.ssa; 9998} 9999static inline nir_ssa_def * 10000_nir_build_shared_atomic_imin(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_shared_atomic_imin_indices indices) 10001{ 10002 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10003 build->shader, nir_intrinsic_shared_atomic_imin); 10004 10005 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 10006 intrin->src[0] = nir_src_for_ssa(src0); 10007 intrin->src[1] = nir_src_for_ssa(src1); 10008 nir_intrinsic_set_base(intrin, indices.base); 10009 10010 nir_builder_instr_insert(build, &intrin->instr); 10011 return &intrin->dest.ssa; 10012} 10013static inline nir_ssa_def * 10014_nir_build_shared_atomic_imin_dxil(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1) 10015{ 10016 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10017 build->shader, nir_intrinsic_shared_atomic_imin_dxil); 10018 10019 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 10020 intrin->src[0] = nir_src_for_ssa(src0); 10021 intrin->src[1] = nir_src_for_ssa(src1); 10022 10023 nir_builder_instr_insert(build, &intrin->instr); 10024 return &intrin->dest.ssa; 10025} 10026static inline nir_ssa_def * 10027_nir_build_shared_atomic_or(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_shared_atomic_or_indices indices) 10028{ 10029 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10030 build->shader, nir_intrinsic_shared_atomic_or); 10031 10032 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 10033 intrin->src[0] = nir_src_for_ssa(src0); 10034 intrin->src[1] = nir_src_for_ssa(src1); 10035 nir_intrinsic_set_base(intrin, indices.base); 10036 10037 nir_builder_instr_insert(build, &intrin->instr); 10038 return &intrin->dest.ssa; 10039} 10040static inline nir_ssa_def * 10041_nir_build_shared_atomic_or_dxil(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1) 10042{ 10043 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10044 build->shader, nir_intrinsic_shared_atomic_or_dxil); 10045 10046 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 10047 intrin->src[0] = nir_src_for_ssa(src0); 10048 intrin->src[1] = nir_src_for_ssa(src1); 10049 10050 nir_builder_instr_insert(build, &intrin->instr); 10051 return &intrin->dest.ssa; 10052} 10053static inline nir_ssa_def * 10054_nir_build_shared_atomic_umax(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_shared_atomic_umax_indices indices) 10055{ 10056 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10057 build->shader, nir_intrinsic_shared_atomic_umax); 10058 10059 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 10060 intrin->src[0] = nir_src_for_ssa(src0); 10061 intrin->src[1] = nir_src_for_ssa(src1); 10062 nir_intrinsic_set_base(intrin, indices.base); 10063 10064 nir_builder_instr_insert(build, &intrin->instr); 10065 return &intrin->dest.ssa; 10066} 10067static inline nir_ssa_def * 10068_nir_build_shared_atomic_umax_dxil(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1) 10069{ 10070 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10071 build->shader, nir_intrinsic_shared_atomic_umax_dxil); 10072 10073 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 10074 intrin->src[0] = nir_src_for_ssa(src0); 10075 intrin->src[1] = nir_src_for_ssa(src1); 10076 10077 nir_builder_instr_insert(build, &intrin->instr); 10078 return &intrin->dest.ssa; 10079} 10080static inline nir_ssa_def * 10081_nir_build_shared_atomic_umin(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_shared_atomic_umin_indices indices) 10082{ 10083 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10084 build->shader, nir_intrinsic_shared_atomic_umin); 10085 10086 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 10087 intrin->src[0] = nir_src_for_ssa(src0); 10088 intrin->src[1] = nir_src_for_ssa(src1); 10089 nir_intrinsic_set_base(intrin, indices.base); 10090 10091 nir_builder_instr_insert(build, &intrin->instr); 10092 return &intrin->dest.ssa; 10093} 10094static inline nir_ssa_def * 10095_nir_build_shared_atomic_umin_dxil(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1) 10096{ 10097 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10098 build->shader, nir_intrinsic_shared_atomic_umin_dxil); 10099 10100 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 10101 intrin->src[0] = nir_src_for_ssa(src0); 10102 intrin->src[1] = nir_src_for_ssa(src1); 10103 10104 nir_builder_instr_insert(build, &intrin->instr); 10105 return &intrin->dest.ssa; 10106} 10107static inline nir_ssa_def * 10108_nir_build_shared_atomic_xor(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_shared_atomic_xor_indices indices) 10109{ 10110 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10111 build->shader, nir_intrinsic_shared_atomic_xor); 10112 10113 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 10114 intrin->src[0] = nir_src_for_ssa(src0); 10115 intrin->src[1] = nir_src_for_ssa(src1); 10116 nir_intrinsic_set_base(intrin, indices.base); 10117 10118 nir_builder_instr_insert(build, &intrin->instr); 10119 return &intrin->dest.ssa; 10120} 10121static inline nir_ssa_def * 10122_nir_build_shared_atomic_xor_dxil(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1) 10123{ 10124 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10125 build->shader, nir_intrinsic_shared_atomic_xor_dxil); 10126 10127 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 10128 intrin->src[0] = nir_src_for_ssa(src0); 10129 intrin->src[1] = nir_src_for_ssa(src1); 10130 10131 nir_builder_instr_insert(build, &intrin->instr); 10132 return &intrin->dest.ssa; 10133} 10134static inline nir_ssa_def * 10135_nir_build_shuffle(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 10136{ 10137 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10138 build->shader, nir_intrinsic_shuffle); 10139 10140 intrin->num_components = src0->num_components; 10141 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, src0->bit_size, NULL); 10142 intrin->src[0] = nir_src_for_ssa(src0); 10143 intrin->src[1] = nir_src_for_ssa(src1); 10144 10145 nir_builder_instr_insert(build, &intrin->instr); 10146 return &intrin->dest.ssa; 10147} 10148static inline nir_ssa_def * 10149_nir_build_shuffle_down(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 10150{ 10151 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10152 build->shader, nir_intrinsic_shuffle_down); 10153 10154 intrin->num_components = src0->num_components; 10155 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, src0->bit_size, NULL); 10156 intrin->src[0] = nir_src_for_ssa(src0); 10157 intrin->src[1] = nir_src_for_ssa(src1); 10158 10159 nir_builder_instr_insert(build, &intrin->instr); 10160 return &intrin->dest.ssa; 10161} 10162static inline nir_ssa_def * 10163_nir_build_shuffle_up(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 10164{ 10165 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10166 build->shader, nir_intrinsic_shuffle_up); 10167 10168 intrin->num_components = src0->num_components; 10169 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, src0->bit_size, NULL); 10170 intrin->src[0] = nir_src_for_ssa(src0); 10171 intrin->src[1] = nir_src_for_ssa(src1); 10172 10173 nir_builder_instr_insert(build, &intrin->instr); 10174 return &intrin->dest.ssa; 10175} 10176static inline nir_ssa_def * 10177_nir_build_shuffle_xor(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 10178{ 10179 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10180 build->shader, nir_intrinsic_shuffle_xor); 10181 10182 intrin->num_components = src0->num_components; 10183 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, src0->bit_size, NULL); 10184 intrin->src[0] = nir_src_for_ssa(src0); 10185 intrin->src[1] = nir_src_for_ssa(src1); 10186 10187 nir_builder_instr_insert(build, &intrin->instr); 10188 return &intrin->dest.ssa; 10189} 10190static inline nir_ssa_def * 10191_nir_build_sparse_residency_code_and(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 10192{ 10193 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10194 build->shader, nir_intrinsic_sparse_residency_code_and); 10195 10196 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL); 10197 intrin->src[0] = nir_src_for_ssa(src0); 10198 intrin->src[1] = nir_src_for_ssa(src1); 10199 10200 nir_builder_instr_insert(build, &intrin->instr); 10201 return &intrin->dest.ssa; 10202} 10203static inline nir_ssa_def * 10204_nir_build_ssbo_atomic_add(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_ssbo_atomic_add_indices indices) 10205{ 10206 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10207 build->shader, nir_intrinsic_ssbo_atomic_add); 10208 10209 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 10210 intrin->src[0] = nir_src_for_ssa(src0); 10211 intrin->src[1] = nir_src_for_ssa(src1); 10212 intrin->src[2] = nir_src_for_ssa(src2); 10213 nir_intrinsic_set_access(intrin, indices.access); 10214 10215 nir_builder_instr_insert(build, &intrin->instr); 10216 return &intrin->dest.ssa; 10217} 10218static inline nir_ssa_def * 10219_nir_build_ssbo_atomic_add_ir3(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_ssbo_atomic_add_ir3_indices indices) 10220{ 10221 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10222 build->shader, nir_intrinsic_ssbo_atomic_add_ir3); 10223 10224 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 10225 intrin->src[0] = nir_src_for_ssa(src0); 10226 intrin->src[1] = nir_src_for_ssa(src1); 10227 intrin->src[2] = nir_src_for_ssa(src2); 10228 intrin->src[3] = nir_src_for_ssa(src3); 10229 nir_intrinsic_set_access(intrin, indices.access); 10230 10231 nir_builder_instr_insert(build, &intrin->instr); 10232 return &intrin->dest.ssa; 10233} 10234static inline nir_ssa_def * 10235_nir_build_ssbo_atomic_and(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_ssbo_atomic_and_indices indices) 10236{ 10237 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10238 build->shader, nir_intrinsic_ssbo_atomic_and); 10239 10240 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 10241 intrin->src[0] = nir_src_for_ssa(src0); 10242 intrin->src[1] = nir_src_for_ssa(src1); 10243 intrin->src[2] = nir_src_for_ssa(src2); 10244 nir_intrinsic_set_access(intrin, indices.access); 10245 10246 nir_builder_instr_insert(build, &intrin->instr); 10247 return &intrin->dest.ssa; 10248} 10249static inline nir_ssa_def * 10250_nir_build_ssbo_atomic_and_ir3(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_ssbo_atomic_and_ir3_indices indices) 10251{ 10252 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10253 build->shader, nir_intrinsic_ssbo_atomic_and_ir3); 10254 10255 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 10256 intrin->src[0] = nir_src_for_ssa(src0); 10257 intrin->src[1] = nir_src_for_ssa(src1); 10258 intrin->src[2] = nir_src_for_ssa(src2); 10259 intrin->src[3] = nir_src_for_ssa(src3); 10260 nir_intrinsic_set_access(intrin, indices.access); 10261 10262 nir_builder_instr_insert(build, &intrin->instr); 10263 return &intrin->dest.ssa; 10264} 10265static inline nir_ssa_def * 10266_nir_build_ssbo_atomic_comp_swap(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_ssbo_atomic_comp_swap_indices indices) 10267{ 10268 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10269 build->shader, nir_intrinsic_ssbo_atomic_comp_swap); 10270 10271 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 10272 intrin->src[0] = nir_src_for_ssa(src0); 10273 intrin->src[1] = nir_src_for_ssa(src1); 10274 intrin->src[2] = nir_src_for_ssa(src2); 10275 intrin->src[3] = nir_src_for_ssa(src3); 10276 nir_intrinsic_set_access(intrin, indices.access); 10277 10278 nir_builder_instr_insert(build, &intrin->instr); 10279 return &intrin->dest.ssa; 10280} 10281static inline nir_ssa_def * 10282_nir_build_ssbo_atomic_comp_swap_ir3(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, nir_ssa_def *src4, struct _nir_ssbo_atomic_comp_swap_ir3_indices indices) 10283{ 10284 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10285 build->shader, nir_intrinsic_ssbo_atomic_comp_swap_ir3); 10286 10287 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 10288 intrin->src[0] = nir_src_for_ssa(src0); 10289 intrin->src[1] = nir_src_for_ssa(src1); 10290 intrin->src[2] = nir_src_for_ssa(src2); 10291 intrin->src[3] = nir_src_for_ssa(src3); 10292 intrin->src[4] = nir_src_for_ssa(src4); 10293 nir_intrinsic_set_access(intrin, indices.access); 10294 10295 nir_builder_instr_insert(build, &intrin->instr); 10296 return &intrin->dest.ssa; 10297} 10298static inline nir_ssa_def * 10299_nir_build_ssbo_atomic_exchange(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_ssbo_atomic_exchange_indices indices) 10300{ 10301 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10302 build->shader, nir_intrinsic_ssbo_atomic_exchange); 10303 10304 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 10305 intrin->src[0] = nir_src_for_ssa(src0); 10306 intrin->src[1] = nir_src_for_ssa(src1); 10307 intrin->src[2] = nir_src_for_ssa(src2); 10308 nir_intrinsic_set_access(intrin, indices.access); 10309 10310 nir_builder_instr_insert(build, &intrin->instr); 10311 return &intrin->dest.ssa; 10312} 10313static inline nir_ssa_def * 10314_nir_build_ssbo_atomic_exchange_ir3(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_ssbo_atomic_exchange_ir3_indices indices) 10315{ 10316 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10317 build->shader, nir_intrinsic_ssbo_atomic_exchange_ir3); 10318 10319 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 10320 intrin->src[0] = nir_src_for_ssa(src0); 10321 intrin->src[1] = nir_src_for_ssa(src1); 10322 intrin->src[2] = nir_src_for_ssa(src2); 10323 intrin->src[3] = nir_src_for_ssa(src3); 10324 nir_intrinsic_set_access(intrin, indices.access); 10325 10326 nir_builder_instr_insert(build, &intrin->instr); 10327 return &intrin->dest.ssa; 10328} 10329static inline nir_ssa_def * 10330_nir_build_ssbo_atomic_fadd(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_ssbo_atomic_fadd_indices indices) 10331{ 10332 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10333 build->shader, nir_intrinsic_ssbo_atomic_fadd); 10334 10335 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 10336 intrin->src[0] = nir_src_for_ssa(src0); 10337 intrin->src[1] = nir_src_for_ssa(src1); 10338 intrin->src[2] = nir_src_for_ssa(src2); 10339 nir_intrinsic_set_access(intrin, indices.access); 10340 10341 nir_builder_instr_insert(build, &intrin->instr); 10342 return &intrin->dest.ssa; 10343} 10344static inline nir_ssa_def * 10345_nir_build_ssbo_atomic_fcomp_swap(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_ssbo_atomic_fcomp_swap_indices indices) 10346{ 10347 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10348 build->shader, nir_intrinsic_ssbo_atomic_fcomp_swap); 10349 10350 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 10351 intrin->src[0] = nir_src_for_ssa(src0); 10352 intrin->src[1] = nir_src_for_ssa(src1); 10353 intrin->src[2] = nir_src_for_ssa(src2); 10354 intrin->src[3] = nir_src_for_ssa(src3); 10355 nir_intrinsic_set_access(intrin, indices.access); 10356 10357 nir_builder_instr_insert(build, &intrin->instr); 10358 return &intrin->dest.ssa; 10359} 10360static inline nir_ssa_def * 10361_nir_build_ssbo_atomic_fmax(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_ssbo_atomic_fmax_indices indices) 10362{ 10363 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10364 build->shader, nir_intrinsic_ssbo_atomic_fmax); 10365 10366 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 10367 intrin->src[0] = nir_src_for_ssa(src0); 10368 intrin->src[1] = nir_src_for_ssa(src1); 10369 intrin->src[2] = nir_src_for_ssa(src2); 10370 nir_intrinsic_set_access(intrin, indices.access); 10371 10372 nir_builder_instr_insert(build, &intrin->instr); 10373 return &intrin->dest.ssa; 10374} 10375static inline nir_ssa_def * 10376_nir_build_ssbo_atomic_fmin(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_ssbo_atomic_fmin_indices indices) 10377{ 10378 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10379 build->shader, nir_intrinsic_ssbo_atomic_fmin); 10380 10381 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 10382 intrin->src[0] = nir_src_for_ssa(src0); 10383 intrin->src[1] = nir_src_for_ssa(src1); 10384 intrin->src[2] = nir_src_for_ssa(src2); 10385 nir_intrinsic_set_access(intrin, indices.access); 10386 10387 nir_builder_instr_insert(build, &intrin->instr); 10388 return &intrin->dest.ssa; 10389} 10390static inline nir_ssa_def * 10391_nir_build_ssbo_atomic_imax(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_ssbo_atomic_imax_indices indices) 10392{ 10393 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10394 build->shader, nir_intrinsic_ssbo_atomic_imax); 10395 10396 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 10397 intrin->src[0] = nir_src_for_ssa(src0); 10398 intrin->src[1] = nir_src_for_ssa(src1); 10399 intrin->src[2] = nir_src_for_ssa(src2); 10400 nir_intrinsic_set_access(intrin, indices.access); 10401 10402 nir_builder_instr_insert(build, &intrin->instr); 10403 return &intrin->dest.ssa; 10404} 10405static inline nir_ssa_def * 10406_nir_build_ssbo_atomic_imax_ir3(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_ssbo_atomic_imax_ir3_indices indices) 10407{ 10408 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10409 build->shader, nir_intrinsic_ssbo_atomic_imax_ir3); 10410 10411 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 10412 intrin->src[0] = nir_src_for_ssa(src0); 10413 intrin->src[1] = nir_src_for_ssa(src1); 10414 intrin->src[2] = nir_src_for_ssa(src2); 10415 intrin->src[3] = nir_src_for_ssa(src3); 10416 nir_intrinsic_set_access(intrin, indices.access); 10417 10418 nir_builder_instr_insert(build, &intrin->instr); 10419 return &intrin->dest.ssa; 10420} 10421static inline nir_ssa_def * 10422_nir_build_ssbo_atomic_imin(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_ssbo_atomic_imin_indices indices) 10423{ 10424 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10425 build->shader, nir_intrinsic_ssbo_atomic_imin); 10426 10427 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 10428 intrin->src[0] = nir_src_for_ssa(src0); 10429 intrin->src[1] = nir_src_for_ssa(src1); 10430 intrin->src[2] = nir_src_for_ssa(src2); 10431 nir_intrinsic_set_access(intrin, indices.access); 10432 10433 nir_builder_instr_insert(build, &intrin->instr); 10434 return &intrin->dest.ssa; 10435} 10436static inline nir_ssa_def * 10437_nir_build_ssbo_atomic_imin_ir3(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_ssbo_atomic_imin_ir3_indices indices) 10438{ 10439 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10440 build->shader, nir_intrinsic_ssbo_atomic_imin_ir3); 10441 10442 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 10443 intrin->src[0] = nir_src_for_ssa(src0); 10444 intrin->src[1] = nir_src_for_ssa(src1); 10445 intrin->src[2] = nir_src_for_ssa(src2); 10446 intrin->src[3] = nir_src_for_ssa(src3); 10447 nir_intrinsic_set_access(intrin, indices.access); 10448 10449 nir_builder_instr_insert(build, &intrin->instr); 10450 return &intrin->dest.ssa; 10451} 10452static inline nir_ssa_def * 10453_nir_build_ssbo_atomic_or(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_ssbo_atomic_or_indices indices) 10454{ 10455 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10456 build->shader, nir_intrinsic_ssbo_atomic_or); 10457 10458 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 10459 intrin->src[0] = nir_src_for_ssa(src0); 10460 intrin->src[1] = nir_src_for_ssa(src1); 10461 intrin->src[2] = nir_src_for_ssa(src2); 10462 nir_intrinsic_set_access(intrin, indices.access); 10463 10464 nir_builder_instr_insert(build, &intrin->instr); 10465 return &intrin->dest.ssa; 10466} 10467static inline nir_ssa_def * 10468_nir_build_ssbo_atomic_or_ir3(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_ssbo_atomic_or_ir3_indices indices) 10469{ 10470 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10471 build->shader, nir_intrinsic_ssbo_atomic_or_ir3); 10472 10473 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 10474 intrin->src[0] = nir_src_for_ssa(src0); 10475 intrin->src[1] = nir_src_for_ssa(src1); 10476 intrin->src[2] = nir_src_for_ssa(src2); 10477 intrin->src[3] = nir_src_for_ssa(src3); 10478 nir_intrinsic_set_access(intrin, indices.access); 10479 10480 nir_builder_instr_insert(build, &intrin->instr); 10481 return &intrin->dest.ssa; 10482} 10483static inline nir_ssa_def * 10484_nir_build_ssbo_atomic_umax(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_ssbo_atomic_umax_indices indices) 10485{ 10486 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10487 build->shader, nir_intrinsic_ssbo_atomic_umax); 10488 10489 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 10490 intrin->src[0] = nir_src_for_ssa(src0); 10491 intrin->src[1] = nir_src_for_ssa(src1); 10492 intrin->src[2] = nir_src_for_ssa(src2); 10493 nir_intrinsic_set_access(intrin, indices.access); 10494 10495 nir_builder_instr_insert(build, &intrin->instr); 10496 return &intrin->dest.ssa; 10497} 10498static inline nir_ssa_def * 10499_nir_build_ssbo_atomic_umax_ir3(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_ssbo_atomic_umax_ir3_indices indices) 10500{ 10501 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10502 build->shader, nir_intrinsic_ssbo_atomic_umax_ir3); 10503 10504 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 10505 intrin->src[0] = nir_src_for_ssa(src0); 10506 intrin->src[1] = nir_src_for_ssa(src1); 10507 intrin->src[2] = nir_src_for_ssa(src2); 10508 intrin->src[3] = nir_src_for_ssa(src3); 10509 nir_intrinsic_set_access(intrin, indices.access); 10510 10511 nir_builder_instr_insert(build, &intrin->instr); 10512 return &intrin->dest.ssa; 10513} 10514static inline nir_ssa_def * 10515_nir_build_ssbo_atomic_umin(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_ssbo_atomic_umin_indices indices) 10516{ 10517 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10518 build->shader, nir_intrinsic_ssbo_atomic_umin); 10519 10520 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 10521 intrin->src[0] = nir_src_for_ssa(src0); 10522 intrin->src[1] = nir_src_for_ssa(src1); 10523 intrin->src[2] = nir_src_for_ssa(src2); 10524 nir_intrinsic_set_access(intrin, indices.access); 10525 10526 nir_builder_instr_insert(build, &intrin->instr); 10527 return &intrin->dest.ssa; 10528} 10529static inline nir_ssa_def * 10530_nir_build_ssbo_atomic_umin_ir3(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_ssbo_atomic_umin_ir3_indices indices) 10531{ 10532 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10533 build->shader, nir_intrinsic_ssbo_atomic_umin_ir3); 10534 10535 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 10536 intrin->src[0] = nir_src_for_ssa(src0); 10537 intrin->src[1] = nir_src_for_ssa(src1); 10538 intrin->src[2] = nir_src_for_ssa(src2); 10539 intrin->src[3] = nir_src_for_ssa(src3); 10540 nir_intrinsic_set_access(intrin, indices.access); 10541 10542 nir_builder_instr_insert(build, &intrin->instr); 10543 return &intrin->dest.ssa; 10544} 10545static inline nir_ssa_def * 10546_nir_build_ssbo_atomic_xor(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_ssbo_atomic_xor_indices indices) 10547{ 10548 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10549 build->shader, nir_intrinsic_ssbo_atomic_xor); 10550 10551 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 10552 intrin->src[0] = nir_src_for_ssa(src0); 10553 intrin->src[1] = nir_src_for_ssa(src1); 10554 intrin->src[2] = nir_src_for_ssa(src2); 10555 nir_intrinsic_set_access(intrin, indices.access); 10556 10557 nir_builder_instr_insert(build, &intrin->instr); 10558 return &intrin->dest.ssa; 10559} 10560static inline nir_ssa_def * 10561_nir_build_ssbo_atomic_xor_ir3(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_ssbo_atomic_xor_ir3_indices indices) 10562{ 10563 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10564 build->shader, nir_intrinsic_ssbo_atomic_xor_ir3); 10565 10566 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 10567 intrin->src[0] = nir_src_for_ssa(src0); 10568 intrin->src[1] = nir_src_for_ssa(src1); 10569 intrin->src[2] = nir_src_for_ssa(src2); 10570 intrin->src[3] = nir_src_for_ssa(src3); 10571 nir_intrinsic_set_access(intrin, indices.access); 10572 10573 nir_builder_instr_insert(build, &intrin->instr); 10574 return &intrin->dest.ssa; 10575} 10576static inline nir_intrinsic_instr * 10577_nir_build_store_buffer_amd(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_store_buffer_amd_indices indices) 10578{ 10579 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10580 build->shader, nir_intrinsic_store_buffer_amd); 10581 10582 intrin->num_components = src0->num_components; 10583 intrin->src[0] = nir_src_for_ssa(src0); 10584 intrin->src[1] = nir_src_for_ssa(src1); 10585 intrin->src[2] = nir_src_for_ssa(src2); 10586 intrin->src[3] = nir_src_for_ssa(src3); 10587 nir_intrinsic_set_base(intrin, indices.base); 10588 nir_intrinsic_set_write_mask(intrin, indices.write_mask); 10589 nir_intrinsic_set_is_swizzled(intrin, indices.is_swizzled); 10590 nir_intrinsic_set_slc_amd(intrin, indices.slc_amd); 10591 nir_intrinsic_set_memory_modes(intrin, indices.memory_modes); 10592 10593 nir_builder_instr_insert(build, &intrin->instr); 10594 return intrin; 10595} 10596static inline nir_intrinsic_instr * 10597_nir_build_store_combined_output_pan(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_store_combined_output_pan_indices indices) 10598{ 10599 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10600 build->shader, nir_intrinsic_store_combined_output_pan); 10601 10602 intrin->num_components = src0->num_components; 10603 intrin->src[0] = nir_src_for_ssa(src0); 10604 intrin->src[1] = nir_src_for_ssa(src1); 10605 intrin->src[2] = nir_src_for_ssa(src2); 10606 intrin->src[3] = nir_src_for_ssa(src3); 10607 nir_intrinsic_set_base(intrin, indices.base); 10608 nir_intrinsic_set_component(intrin, indices.component); 10609 nir_intrinsic_set_src_type(intrin, indices.src_type); 10610 10611 nir_builder_instr_insert(build, &intrin->instr); 10612 return intrin; 10613} 10614static inline nir_intrinsic_instr * 10615_nir_build_store_deref(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_store_deref_indices indices) 10616{ 10617 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10618 build->shader, nir_intrinsic_store_deref); 10619 10620 intrin->num_components = src1->num_components; 10621 intrin->src[0] = nir_src_for_ssa(src0); 10622 intrin->src[1] = nir_src_for_ssa(src1); 10623 nir_intrinsic_set_write_mask(intrin, indices.write_mask); 10624 nir_intrinsic_set_access(intrin, indices.access); 10625 10626 nir_builder_instr_insert(build, &intrin->instr); 10627 return intrin; 10628} 10629static inline nir_intrinsic_instr * 10630_nir_build_store_deref_block_intel(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_store_deref_block_intel_indices indices) 10631{ 10632 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10633 build->shader, nir_intrinsic_store_deref_block_intel); 10634 10635 intrin->num_components = src1->num_components; 10636 intrin->src[0] = nir_src_for_ssa(src0); 10637 intrin->src[1] = nir_src_for_ssa(src1); 10638 nir_intrinsic_set_write_mask(intrin, indices.write_mask); 10639 nir_intrinsic_set_access(intrin, indices.access); 10640 10641 nir_builder_instr_insert(build, &intrin->instr); 10642 return intrin; 10643} 10644static inline nir_intrinsic_instr * 10645_nir_build_store_global(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_store_global_indices indices) 10646{ 10647 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10648 build->shader, nir_intrinsic_store_global); 10649 10650 intrin->num_components = src0->num_components; 10651 intrin->src[0] = nir_src_for_ssa(src0); 10652 intrin->src[1] = nir_src_for_ssa(src1); 10653 nir_intrinsic_set_write_mask(intrin, indices.write_mask); 10654 nir_intrinsic_set_access(intrin, indices.access); 10655 nir_intrinsic_set_align_mul(intrin, indices.align_mul); 10656 nir_intrinsic_set_align_offset(intrin, indices.align_offset); 10657 10658 nir_builder_instr_insert(build, &intrin->instr); 10659 return intrin; 10660} 10661static inline nir_intrinsic_instr * 10662_nir_build_store_global_block_intel(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_store_global_block_intel_indices indices) 10663{ 10664 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10665 build->shader, nir_intrinsic_store_global_block_intel); 10666 10667 intrin->num_components = src0->num_components; 10668 intrin->src[0] = nir_src_for_ssa(src0); 10669 intrin->src[1] = nir_src_for_ssa(src1); 10670 nir_intrinsic_set_write_mask(intrin, indices.write_mask); 10671 nir_intrinsic_set_access(intrin, indices.access); 10672 nir_intrinsic_set_align_mul(intrin, indices.align_mul); 10673 nir_intrinsic_set_align_offset(intrin, indices.align_offset); 10674 10675 nir_builder_instr_insert(build, &intrin->instr); 10676 return intrin; 10677} 10678static inline nir_intrinsic_instr * 10679_nir_build_store_global_ir3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_store_global_ir3_indices indices) 10680{ 10681 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10682 build->shader, nir_intrinsic_store_global_ir3); 10683 10684 intrin->num_components = src0->num_components; 10685 intrin->src[0] = nir_src_for_ssa(src0); 10686 intrin->src[1] = nir_src_for_ssa(src1); 10687 intrin->src[2] = nir_src_for_ssa(src2); 10688 nir_intrinsic_set_access(intrin, indices.access); 10689 nir_intrinsic_set_align_mul(intrin, indices.align_mul); 10690 nir_intrinsic_set_align_offset(intrin, indices.align_offset); 10691 10692 nir_builder_instr_insert(build, &intrin->instr); 10693 return intrin; 10694} 10695static inline nir_intrinsic_instr * 10696_nir_build_store_local_shared_r600(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_store_local_shared_r600_indices indices) 10697{ 10698 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10699 build->shader, nir_intrinsic_store_local_shared_r600); 10700 10701 intrin->num_components = src0->num_components; 10702 intrin->src[0] = nir_src_for_ssa(src0); 10703 intrin->src[1] = nir_src_for_ssa(src1); 10704 nir_intrinsic_set_write_mask(intrin, indices.write_mask); 10705 10706 nir_builder_instr_insert(build, &intrin->instr); 10707 return intrin; 10708} 10709static inline nir_intrinsic_instr * 10710_nir_build_store_output(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_store_output_indices indices) 10711{ 10712 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10713 build->shader, nir_intrinsic_store_output); 10714 10715 intrin->num_components = src0->num_components; 10716 intrin->src[0] = nir_src_for_ssa(src0); 10717 intrin->src[1] = nir_src_for_ssa(src1); 10718 nir_intrinsic_set_base(intrin, indices.base); 10719 nir_intrinsic_set_write_mask(intrin, indices.write_mask); 10720 nir_intrinsic_set_component(intrin, indices.component); 10721 nir_intrinsic_set_src_type(intrin, indices.src_type); 10722 nir_intrinsic_set_io_semantics(intrin, indices.io_semantics); 10723 10724 nir_builder_instr_insert(build, &intrin->instr); 10725 return intrin; 10726} 10727static inline nir_intrinsic_instr * 10728_nir_build_store_per_primitive_output(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_store_per_primitive_output_indices indices) 10729{ 10730 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10731 build->shader, nir_intrinsic_store_per_primitive_output); 10732 10733 intrin->num_components = src0->num_components; 10734 intrin->src[0] = nir_src_for_ssa(src0); 10735 intrin->src[1] = nir_src_for_ssa(src1); 10736 intrin->src[2] = nir_src_for_ssa(src2); 10737 nir_intrinsic_set_base(intrin, indices.base); 10738 nir_intrinsic_set_write_mask(intrin, indices.write_mask); 10739 nir_intrinsic_set_component(intrin, indices.component); 10740 nir_intrinsic_set_src_type(intrin, indices.src_type); 10741 nir_intrinsic_set_io_semantics(intrin, indices.io_semantics); 10742 10743 nir_builder_instr_insert(build, &intrin->instr); 10744 return intrin; 10745} 10746static inline nir_intrinsic_instr * 10747_nir_build_store_per_vertex_output(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_store_per_vertex_output_indices indices) 10748{ 10749 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10750 build->shader, nir_intrinsic_store_per_vertex_output); 10751 10752 intrin->num_components = src0->num_components; 10753 intrin->src[0] = nir_src_for_ssa(src0); 10754 intrin->src[1] = nir_src_for_ssa(src1); 10755 intrin->src[2] = nir_src_for_ssa(src2); 10756 nir_intrinsic_set_base(intrin, indices.base); 10757 nir_intrinsic_set_write_mask(intrin, indices.write_mask); 10758 nir_intrinsic_set_component(intrin, indices.component); 10759 nir_intrinsic_set_src_type(intrin, indices.src_type); 10760 nir_intrinsic_set_io_semantics(intrin, indices.io_semantics); 10761 10762 nir_builder_instr_insert(build, &intrin->instr); 10763 return intrin; 10764} 10765static inline nir_intrinsic_instr * 10766_nir_build_store_raw_output_pan(nir_builder *build, nir_ssa_def *src0) 10767{ 10768 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10769 build->shader, nir_intrinsic_store_raw_output_pan); 10770 10771 intrin->num_components = src0->num_components; 10772 intrin->src[0] = nir_src_for_ssa(src0); 10773 10774 nir_builder_instr_insert(build, &intrin->instr); 10775 return intrin; 10776} 10777static inline nir_intrinsic_instr * 10778_nir_build_store_scratch(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_store_scratch_indices indices) 10779{ 10780 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10781 build->shader, nir_intrinsic_store_scratch); 10782 10783 intrin->num_components = src0->num_components; 10784 intrin->src[0] = nir_src_for_ssa(src0); 10785 intrin->src[1] = nir_src_for_ssa(src1); 10786 nir_intrinsic_set_align_mul(intrin, indices.align_mul); 10787 nir_intrinsic_set_align_offset(intrin, indices.align_offset); 10788 nir_intrinsic_set_write_mask(intrin, indices.write_mask); 10789 10790 nir_builder_instr_insert(build, &intrin->instr); 10791 return intrin; 10792} 10793static inline nir_intrinsic_instr * 10794_nir_build_store_scratch_dxil(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 10795{ 10796 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10797 build->shader, nir_intrinsic_store_scratch_dxil); 10798 10799 intrin->src[0] = nir_src_for_ssa(src0); 10800 intrin->src[1] = nir_src_for_ssa(src1); 10801 10802 nir_builder_instr_insert(build, &intrin->instr); 10803 return intrin; 10804} 10805static inline nir_intrinsic_instr * 10806_nir_build_store_shared(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_store_shared_indices indices) 10807{ 10808 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10809 build->shader, nir_intrinsic_store_shared); 10810 10811 intrin->num_components = src0->num_components; 10812 intrin->src[0] = nir_src_for_ssa(src0); 10813 intrin->src[1] = nir_src_for_ssa(src1); 10814 nir_intrinsic_set_base(intrin, indices.base); 10815 nir_intrinsic_set_write_mask(intrin, indices.write_mask); 10816 nir_intrinsic_set_align_mul(intrin, indices.align_mul); 10817 nir_intrinsic_set_align_offset(intrin, indices.align_offset); 10818 10819 nir_builder_instr_insert(build, &intrin->instr); 10820 return intrin; 10821} 10822static inline nir_intrinsic_instr * 10823_nir_build_store_shared_block_intel(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_store_shared_block_intel_indices indices) 10824{ 10825 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10826 build->shader, nir_intrinsic_store_shared_block_intel); 10827 10828 intrin->num_components = src0->num_components; 10829 intrin->src[0] = nir_src_for_ssa(src0); 10830 intrin->src[1] = nir_src_for_ssa(src1); 10831 nir_intrinsic_set_base(intrin, indices.base); 10832 nir_intrinsic_set_write_mask(intrin, indices.write_mask); 10833 nir_intrinsic_set_align_mul(intrin, indices.align_mul); 10834 nir_intrinsic_set_align_offset(intrin, indices.align_offset); 10835 10836 nir_builder_instr_insert(build, &intrin->instr); 10837 return intrin; 10838} 10839static inline nir_intrinsic_instr * 10840_nir_build_store_shared_dxil(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) 10841{ 10842 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10843 build->shader, nir_intrinsic_store_shared_dxil); 10844 10845 intrin->src[0] = nir_src_for_ssa(src0); 10846 intrin->src[1] = nir_src_for_ssa(src1); 10847 10848 nir_builder_instr_insert(build, &intrin->instr); 10849 return intrin; 10850} 10851static inline nir_intrinsic_instr * 10852_nir_build_store_shared_ir3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_store_shared_ir3_indices indices) 10853{ 10854 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10855 build->shader, nir_intrinsic_store_shared_ir3); 10856 10857 intrin->num_components = src0->num_components; 10858 intrin->src[0] = nir_src_for_ssa(src0); 10859 intrin->src[1] = nir_src_for_ssa(src1); 10860 nir_intrinsic_set_base(intrin, indices.base); 10861 nir_intrinsic_set_align_mul(intrin, indices.align_mul); 10862 nir_intrinsic_set_align_offset(intrin, indices.align_offset); 10863 10864 nir_builder_instr_insert(build, &intrin->instr); 10865 return intrin; 10866} 10867static inline nir_intrinsic_instr * 10868_nir_build_store_shared_masked_dxil(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2) 10869{ 10870 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10871 build->shader, nir_intrinsic_store_shared_masked_dxil); 10872 10873 intrin->src[0] = nir_src_for_ssa(src0); 10874 intrin->src[1] = nir_src_for_ssa(src1); 10875 intrin->src[2] = nir_src_for_ssa(src2); 10876 10877 nir_builder_instr_insert(build, &intrin->instr); 10878 return intrin; 10879} 10880static inline nir_intrinsic_instr * 10881_nir_build_store_ssbo(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_store_ssbo_indices indices) 10882{ 10883 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10884 build->shader, nir_intrinsic_store_ssbo); 10885 10886 intrin->num_components = src0->num_components; 10887 intrin->src[0] = nir_src_for_ssa(src0); 10888 intrin->src[1] = nir_src_for_ssa(src1); 10889 intrin->src[2] = nir_src_for_ssa(src2); 10890 nir_intrinsic_set_write_mask(intrin, indices.write_mask); 10891 nir_intrinsic_set_access(intrin, indices.access); 10892 nir_intrinsic_set_align_mul(intrin, indices.align_mul); 10893 nir_intrinsic_set_align_offset(intrin, indices.align_offset); 10894 10895 nir_builder_instr_insert(build, &intrin->instr); 10896 return intrin; 10897} 10898static inline nir_intrinsic_instr * 10899_nir_build_store_ssbo_block_intel(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_store_ssbo_block_intel_indices indices) 10900{ 10901 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10902 build->shader, nir_intrinsic_store_ssbo_block_intel); 10903 10904 intrin->num_components = src0->num_components; 10905 intrin->src[0] = nir_src_for_ssa(src0); 10906 intrin->src[1] = nir_src_for_ssa(src1); 10907 intrin->src[2] = nir_src_for_ssa(src2); 10908 nir_intrinsic_set_write_mask(intrin, indices.write_mask); 10909 nir_intrinsic_set_access(intrin, indices.access); 10910 nir_intrinsic_set_align_mul(intrin, indices.align_mul); 10911 nir_intrinsic_set_align_offset(intrin, indices.align_offset); 10912 10913 nir_builder_instr_insert(build, &intrin->instr); 10914 return intrin; 10915} 10916static inline nir_intrinsic_instr * 10917_nir_build_store_ssbo_ir3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_store_ssbo_ir3_indices indices) 10918{ 10919 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10920 build->shader, nir_intrinsic_store_ssbo_ir3); 10921 10922 intrin->num_components = src0->num_components; 10923 intrin->src[0] = nir_src_for_ssa(src0); 10924 intrin->src[1] = nir_src_for_ssa(src1); 10925 intrin->src[2] = nir_src_for_ssa(src2); 10926 intrin->src[3] = nir_src_for_ssa(src3); 10927 nir_intrinsic_set_write_mask(intrin, indices.write_mask); 10928 nir_intrinsic_set_access(intrin, indices.access); 10929 nir_intrinsic_set_align_mul(intrin, indices.align_mul); 10930 nir_intrinsic_set_align_offset(intrin, indices.align_offset); 10931 10932 nir_builder_instr_insert(build, &intrin->instr); 10933 return intrin; 10934} 10935static inline nir_intrinsic_instr * 10936_nir_build_store_ssbo_masked_dxil(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3) 10937{ 10938 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10939 build->shader, nir_intrinsic_store_ssbo_masked_dxil); 10940 10941 intrin->src[0] = nir_src_for_ssa(src0); 10942 intrin->src[1] = nir_src_for_ssa(src1); 10943 intrin->src[2] = nir_src_for_ssa(src2); 10944 intrin->src[3] = nir_src_for_ssa(src3); 10945 10946 nir_builder_instr_insert(build, &intrin->instr); 10947 return intrin; 10948} 10949static inline nir_intrinsic_instr * 10950_nir_build_store_tf_r600(nir_builder *build, nir_ssa_def *src0) 10951{ 10952 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10953 build->shader, nir_intrinsic_store_tf_r600); 10954 10955 intrin->num_components = src0->num_components; 10956 intrin->src[0] = nir_src_for_ssa(src0); 10957 10958 nir_builder_instr_insert(build, &intrin->instr); 10959 return intrin; 10960} 10961static inline nir_intrinsic_instr * 10962_nir_build_store_tlb_sample_color_v3d(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_store_tlb_sample_color_v3d_indices indices) 10963{ 10964 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10965 build->shader, nir_intrinsic_store_tlb_sample_color_v3d); 10966 10967 intrin->num_components = src0->num_components; 10968 intrin->src[0] = nir_src_for_ssa(src0); 10969 intrin->src[1] = nir_src_for_ssa(src1); 10970 nir_intrinsic_set_base(intrin, indices.base); 10971 nir_intrinsic_set_component(intrin, indices.component); 10972 nir_intrinsic_set_src_type(intrin, indices.src_type); 10973 10974 nir_builder_instr_insert(build, &intrin->instr); 10975 return intrin; 10976} 10977static inline nir_intrinsic_instr * 10978_nir_build_terminate(nir_builder *build) 10979{ 10980 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10981 build->shader, nir_intrinsic_terminate); 10982 10983 10984 nir_builder_instr_insert(build, &intrin->instr); 10985 return intrin; 10986} 10987static inline nir_intrinsic_instr * 10988_nir_build_terminate_if(nir_builder *build, nir_ssa_def *src0) 10989{ 10990 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 10991 build->shader, nir_intrinsic_terminate_if); 10992 10993 intrin->src[0] = nir_src_for_ssa(src0); 10994 10995 nir_builder_instr_insert(build, &intrin->instr); 10996 return intrin; 10997} 10998static inline nir_intrinsic_instr * 10999_nir_build_terminate_ray(nir_builder *build) 11000{ 11001 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 11002 build->shader, nir_intrinsic_terminate_ray); 11003 11004 11005 nir_builder_instr_insert(build, &intrin->instr); 11006 return intrin; 11007} 11008static inline nir_intrinsic_instr * 11009_nir_build_trace_ray(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, nir_ssa_def *src4, nir_ssa_def *src5, nir_ssa_def *src6, nir_ssa_def *src7, nir_ssa_def *src8, nir_ssa_def *src9, nir_ssa_def *src10) 11010{ 11011 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 11012 build->shader, nir_intrinsic_trace_ray); 11013 11014 intrin->src[0] = nir_src_for_ssa(src0); 11015 intrin->src[1] = nir_src_for_ssa(src1); 11016 intrin->src[2] = nir_src_for_ssa(src2); 11017 intrin->src[3] = nir_src_for_ssa(src3); 11018 intrin->src[4] = nir_src_for_ssa(src4); 11019 intrin->src[5] = nir_src_for_ssa(src5); 11020 intrin->src[6] = nir_src_for_ssa(src6); 11021 intrin->src[7] = nir_src_for_ssa(src7); 11022 intrin->src[8] = nir_src_for_ssa(src8); 11023 intrin->src[9] = nir_src_for_ssa(src9); 11024 intrin->src[10] = nir_src_for_ssa(src10); 11025 11026 nir_builder_instr_insert(build, &intrin->instr); 11027 return intrin; 11028} 11029static inline nir_intrinsic_instr * 11030_nir_build_trace_ray_commit_intel(nir_builder *build) 11031{ 11032 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 11033 build->shader, nir_intrinsic_trace_ray_commit_intel); 11034 11035 11036 nir_builder_instr_insert(build, &intrin->instr); 11037 return intrin; 11038} 11039static inline nir_intrinsic_instr * 11040_nir_build_trace_ray_continue_intel(nir_builder *build) 11041{ 11042 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 11043 build->shader, nir_intrinsic_trace_ray_continue_intel); 11044 11045 11046 nir_builder_instr_insert(build, &intrin->instr); 11047 return intrin; 11048} 11049static inline nir_intrinsic_instr * 11050_nir_build_trace_ray_initial_intel(nir_builder *build) 11051{ 11052 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 11053 build->shader, nir_intrinsic_trace_ray_initial_intel); 11054 11055 11056 nir_builder_instr_insert(build, &intrin->instr); 11057 return intrin; 11058} 11059static inline nir_ssa_def * 11060_nir_build_vote_all(nir_builder *build, unsigned bit_size, nir_ssa_def *src0) 11061{ 11062 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 11063 build->shader, nir_intrinsic_vote_all); 11064 11065 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 11066 intrin->src[0] = nir_src_for_ssa(src0); 11067 11068 nir_builder_instr_insert(build, &intrin->instr); 11069 return &intrin->dest.ssa; 11070} 11071static inline nir_ssa_def * 11072_nir_build_vote_any(nir_builder *build, unsigned bit_size, nir_ssa_def *src0) 11073{ 11074 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 11075 build->shader, nir_intrinsic_vote_any); 11076 11077 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 11078 intrin->src[0] = nir_src_for_ssa(src0); 11079 11080 nir_builder_instr_insert(build, &intrin->instr); 11081 return &intrin->dest.ssa; 11082} 11083static inline nir_ssa_def * 11084_nir_build_vote_feq(nir_builder *build, unsigned bit_size, nir_ssa_def *src0) 11085{ 11086 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 11087 build->shader, nir_intrinsic_vote_feq); 11088 11089 intrin->num_components = src0->num_components; 11090 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 11091 intrin->src[0] = nir_src_for_ssa(src0); 11092 11093 nir_builder_instr_insert(build, &intrin->instr); 11094 return &intrin->dest.ssa; 11095} 11096static inline nir_ssa_def * 11097_nir_build_vote_ieq(nir_builder *build, unsigned bit_size, nir_ssa_def *src0) 11098{ 11099 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 11100 build->shader, nir_intrinsic_vote_ieq); 11101 11102 intrin->num_components = src0->num_components; 11103 nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL); 11104 intrin->src[0] = nir_src_for_ssa(src0); 11105 11106 nir_builder_instr_insert(build, &intrin->instr); 11107 return &intrin->dest.ssa; 11108} 11109static inline nir_ssa_def * 11110_nir_build_vulkan_resource_index(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, struct _nir_vulkan_resource_index_indices indices) 11111{ 11112 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 11113 build->shader, nir_intrinsic_vulkan_resource_index); 11114 11115 intrin->num_components = num_components; 11116 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 11117 intrin->src[0] = nir_src_for_ssa(src0); 11118 nir_intrinsic_set_desc_set(intrin, indices.desc_set); 11119 nir_intrinsic_set_binding(intrin, indices.binding); 11120 nir_intrinsic_set_desc_type(intrin, indices.desc_type); 11121 11122 nir_builder_instr_insert(build, &intrin->instr); 11123 return &intrin->dest.ssa; 11124} 11125static inline nir_ssa_def * 11126_nir_build_vulkan_resource_reindex(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_vulkan_resource_reindex_indices indices) 11127{ 11128 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 11129 build->shader, nir_intrinsic_vulkan_resource_reindex); 11130 11131 intrin->num_components = src0->num_components; 11132 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL); 11133 intrin->src[0] = nir_src_for_ssa(src0); 11134 intrin->src[1] = nir_src_for_ssa(src1); 11135 nir_intrinsic_set_desc_type(intrin, indices.desc_type); 11136 11137 nir_builder_instr_insert(build, &intrin->instr); 11138 return &intrin->dest.ssa; 11139} 11140static inline nir_ssa_def * 11141_nir_build_write_invocation_amd(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2) 11142{ 11143 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create( 11144 build->shader, nir_intrinsic_write_invocation_amd); 11145 11146 intrin->num_components = src0->num_components; 11147 nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, src0->bit_size, NULL); 11148 intrin->src[0] = nir_src_for_ssa(src0); 11149 intrin->src[1] = nir_src_for_ssa(src1); 11150 intrin->src[2] = nir_src_for_ssa(src2); 11151 11152 nir_builder_instr_insert(build, &intrin->instr); 11153 return &intrin->dest.ssa; 11154} 11155 11156#define nir_build_accept_ray_intersection _nir_build_accept_ray_intersection 11157#define nir_accept_ray_intersection nir_build_accept_ray_intersection 11158#ifdef __cplusplus 11159#define nir_build_addr_mode_is(build, bit_size, src0, ...) \ 11160_nir_build_addr_mode_is(build, bit_size, src0, _nir_addr_mode_is_indices{0, __VA_ARGS__}) 11161#else 11162#define nir_build_addr_mode_is(build, bit_size, src0, ...) \ 11163_nir_build_addr_mode_is(build, bit_size, src0, (struct _nir_addr_mode_is_indices){0, __VA_ARGS__}) 11164#endif 11165#define nir_addr_mode_is nir_build_addr_mode_is 11166#define nir_build_alloc_vertices_and_primitives_amd _nir_build_alloc_vertices_and_primitives_amd 11167#define nir_alloc_vertices_and_primitives_amd nir_build_alloc_vertices_and_primitives_amd 11168#ifdef __cplusplus 11169#define nir_build_atomic_counter_add(build, bit_size, src0, src1, ...) \ 11170_nir_build_atomic_counter_add(build, bit_size, src0, src1, _nir_atomic_counter_add_indices{0, __VA_ARGS__}) 11171#else 11172#define nir_build_atomic_counter_add(build, bit_size, src0, src1, ...) \ 11173_nir_build_atomic_counter_add(build, bit_size, src0, src1, (struct _nir_atomic_counter_add_indices){0, __VA_ARGS__}) 11174#endif 11175#define nir_atomic_counter_add nir_build_atomic_counter_add 11176#define nir_build_atomic_counter_add_deref _nir_build_atomic_counter_add_deref 11177#define nir_atomic_counter_add_deref nir_build_atomic_counter_add_deref 11178#ifdef __cplusplus 11179#define nir_build_atomic_counter_and(build, bit_size, src0, src1, ...) \ 11180_nir_build_atomic_counter_and(build, bit_size, src0, src1, _nir_atomic_counter_and_indices{0, __VA_ARGS__}) 11181#else 11182#define nir_build_atomic_counter_and(build, bit_size, src0, src1, ...) \ 11183_nir_build_atomic_counter_and(build, bit_size, src0, src1, (struct _nir_atomic_counter_and_indices){0, __VA_ARGS__}) 11184#endif 11185#define nir_atomic_counter_and nir_build_atomic_counter_and 11186#define nir_build_atomic_counter_and_deref _nir_build_atomic_counter_and_deref 11187#define nir_atomic_counter_and_deref nir_build_atomic_counter_and_deref 11188#ifdef __cplusplus 11189#define nir_build_atomic_counter_comp_swap(build, bit_size, src0, src1, src2, ...) \ 11190_nir_build_atomic_counter_comp_swap(build, bit_size, src0, src1, src2, _nir_atomic_counter_comp_swap_indices{0, __VA_ARGS__}) 11191#else 11192#define nir_build_atomic_counter_comp_swap(build, bit_size, src0, src1, src2, ...) \ 11193_nir_build_atomic_counter_comp_swap(build, bit_size, src0, src1, src2, (struct _nir_atomic_counter_comp_swap_indices){0, __VA_ARGS__}) 11194#endif 11195#define nir_atomic_counter_comp_swap nir_build_atomic_counter_comp_swap 11196#define nir_build_atomic_counter_comp_swap_deref _nir_build_atomic_counter_comp_swap_deref 11197#define nir_atomic_counter_comp_swap_deref nir_build_atomic_counter_comp_swap_deref 11198#ifdef __cplusplus 11199#define nir_build_atomic_counter_exchange(build, bit_size, src0, src1, ...) \ 11200_nir_build_atomic_counter_exchange(build, bit_size, src0, src1, _nir_atomic_counter_exchange_indices{0, __VA_ARGS__}) 11201#else 11202#define nir_build_atomic_counter_exchange(build, bit_size, src0, src1, ...) \ 11203_nir_build_atomic_counter_exchange(build, bit_size, src0, src1, (struct _nir_atomic_counter_exchange_indices){0, __VA_ARGS__}) 11204#endif 11205#define nir_atomic_counter_exchange nir_build_atomic_counter_exchange 11206#define nir_build_atomic_counter_exchange_deref _nir_build_atomic_counter_exchange_deref 11207#define nir_atomic_counter_exchange_deref nir_build_atomic_counter_exchange_deref 11208#ifdef __cplusplus 11209#define nir_build_atomic_counter_inc(build, bit_size, src0, ...) \ 11210_nir_build_atomic_counter_inc(build, bit_size, src0, _nir_atomic_counter_inc_indices{0, __VA_ARGS__}) 11211#else 11212#define nir_build_atomic_counter_inc(build, bit_size, src0, ...) \ 11213_nir_build_atomic_counter_inc(build, bit_size, src0, (struct _nir_atomic_counter_inc_indices){0, __VA_ARGS__}) 11214#endif 11215#define nir_atomic_counter_inc nir_build_atomic_counter_inc 11216#define nir_build_atomic_counter_inc_deref _nir_build_atomic_counter_inc_deref 11217#define nir_atomic_counter_inc_deref nir_build_atomic_counter_inc_deref 11218#ifdef __cplusplus 11219#define nir_build_atomic_counter_max(build, bit_size, src0, src1, ...) \ 11220_nir_build_atomic_counter_max(build, bit_size, src0, src1, _nir_atomic_counter_max_indices{0, __VA_ARGS__}) 11221#else 11222#define nir_build_atomic_counter_max(build, bit_size, src0, src1, ...) \ 11223_nir_build_atomic_counter_max(build, bit_size, src0, src1, (struct _nir_atomic_counter_max_indices){0, __VA_ARGS__}) 11224#endif 11225#define nir_atomic_counter_max nir_build_atomic_counter_max 11226#define nir_build_atomic_counter_max_deref _nir_build_atomic_counter_max_deref 11227#define nir_atomic_counter_max_deref nir_build_atomic_counter_max_deref 11228#ifdef __cplusplus 11229#define nir_build_atomic_counter_min(build, bit_size, src0, src1, ...) \ 11230_nir_build_atomic_counter_min(build, bit_size, src0, src1, _nir_atomic_counter_min_indices{0, __VA_ARGS__}) 11231#else 11232#define nir_build_atomic_counter_min(build, bit_size, src0, src1, ...) \ 11233_nir_build_atomic_counter_min(build, bit_size, src0, src1, (struct _nir_atomic_counter_min_indices){0, __VA_ARGS__}) 11234#endif 11235#define nir_atomic_counter_min nir_build_atomic_counter_min 11236#define nir_build_atomic_counter_min_deref _nir_build_atomic_counter_min_deref 11237#define nir_atomic_counter_min_deref nir_build_atomic_counter_min_deref 11238#ifdef __cplusplus 11239#define nir_build_atomic_counter_or(build, bit_size, src0, src1, ...) \ 11240_nir_build_atomic_counter_or(build, bit_size, src0, src1, _nir_atomic_counter_or_indices{0, __VA_ARGS__}) 11241#else 11242#define nir_build_atomic_counter_or(build, bit_size, src0, src1, ...) \ 11243_nir_build_atomic_counter_or(build, bit_size, src0, src1, (struct _nir_atomic_counter_or_indices){0, __VA_ARGS__}) 11244#endif 11245#define nir_atomic_counter_or nir_build_atomic_counter_or 11246#define nir_build_atomic_counter_or_deref _nir_build_atomic_counter_or_deref 11247#define nir_atomic_counter_or_deref nir_build_atomic_counter_or_deref 11248#ifdef __cplusplus 11249#define nir_build_atomic_counter_post_dec(build, bit_size, src0, ...) \ 11250_nir_build_atomic_counter_post_dec(build, bit_size, src0, _nir_atomic_counter_post_dec_indices{0, __VA_ARGS__}) 11251#else 11252#define nir_build_atomic_counter_post_dec(build, bit_size, src0, ...) \ 11253_nir_build_atomic_counter_post_dec(build, bit_size, src0, (struct _nir_atomic_counter_post_dec_indices){0, __VA_ARGS__}) 11254#endif 11255#define nir_atomic_counter_post_dec nir_build_atomic_counter_post_dec 11256#define nir_build_atomic_counter_post_dec_deref _nir_build_atomic_counter_post_dec_deref 11257#define nir_atomic_counter_post_dec_deref nir_build_atomic_counter_post_dec_deref 11258#ifdef __cplusplus 11259#define nir_build_atomic_counter_pre_dec(build, bit_size, src0, ...) \ 11260_nir_build_atomic_counter_pre_dec(build, bit_size, src0, _nir_atomic_counter_pre_dec_indices{0, __VA_ARGS__}) 11261#else 11262#define nir_build_atomic_counter_pre_dec(build, bit_size, src0, ...) \ 11263_nir_build_atomic_counter_pre_dec(build, bit_size, src0, (struct _nir_atomic_counter_pre_dec_indices){0, __VA_ARGS__}) 11264#endif 11265#define nir_atomic_counter_pre_dec nir_build_atomic_counter_pre_dec 11266#define nir_build_atomic_counter_pre_dec_deref _nir_build_atomic_counter_pre_dec_deref 11267#define nir_atomic_counter_pre_dec_deref nir_build_atomic_counter_pre_dec_deref 11268#ifdef __cplusplus 11269#define nir_build_atomic_counter_read(build, bit_size, src0, ...) \ 11270_nir_build_atomic_counter_read(build, bit_size, src0, _nir_atomic_counter_read_indices{0, __VA_ARGS__}) 11271#else 11272#define nir_build_atomic_counter_read(build, bit_size, src0, ...) \ 11273_nir_build_atomic_counter_read(build, bit_size, src0, (struct _nir_atomic_counter_read_indices){0, __VA_ARGS__}) 11274#endif 11275#define nir_atomic_counter_read nir_build_atomic_counter_read 11276#define nir_build_atomic_counter_read_deref _nir_build_atomic_counter_read_deref 11277#define nir_atomic_counter_read_deref nir_build_atomic_counter_read_deref 11278#ifdef __cplusplus 11279#define nir_build_atomic_counter_xor(build, bit_size, src0, src1, ...) \ 11280_nir_build_atomic_counter_xor(build, bit_size, src0, src1, _nir_atomic_counter_xor_indices{0, __VA_ARGS__}) 11281#else 11282#define nir_build_atomic_counter_xor(build, bit_size, src0, src1, ...) \ 11283_nir_build_atomic_counter_xor(build, bit_size, src0, src1, (struct _nir_atomic_counter_xor_indices){0, __VA_ARGS__}) 11284#endif 11285#define nir_atomic_counter_xor nir_build_atomic_counter_xor 11286#define nir_build_atomic_counter_xor_deref _nir_build_atomic_counter_xor_deref 11287#define nir_atomic_counter_xor_deref nir_build_atomic_counter_xor_deref 11288#define nir_build_ballot _nir_build_ballot 11289#define nir_ballot nir_build_ballot 11290#define nir_build_ballot_bit_count_exclusive _nir_build_ballot_bit_count_exclusive 11291#define nir_ballot_bit_count_exclusive nir_build_ballot_bit_count_exclusive 11292#define nir_build_ballot_bit_count_inclusive _nir_build_ballot_bit_count_inclusive 11293#define nir_ballot_bit_count_inclusive nir_build_ballot_bit_count_inclusive 11294#define nir_build_ballot_bit_count_reduce _nir_build_ballot_bit_count_reduce 11295#define nir_ballot_bit_count_reduce nir_build_ballot_bit_count_reduce 11296#define nir_build_ballot_bitfield_extract _nir_build_ballot_bitfield_extract 11297#define nir_ballot_bitfield_extract nir_build_ballot_bitfield_extract 11298#define nir_build_ballot_find_lsb _nir_build_ballot_find_lsb 11299#define nir_ballot_find_lsb nir_build_ballot_find_lsb 11300#define nir_build_ballot_find_msb _nir_build_ballot_find_msb 11301#define nir_ballot_find_msb nir_build_ballot_find_msb 11302#define nir_build_begin_invocation_interlock _nir_build_begin_invocation_interlock 11303#define nir_begin_invocation_interlock nir_build_begin_invocation_interlock 11304#ifdef __cplusplus 11305#define nir_build_bindless_image_atomic_add(build, bit_size, src0, src1, src2, src3, ...) \ 11306_nir_build_bindless_image_atomic_add(build, bit_size, src0, src1, src2, src3, _nir_bindless_image_atomic_add_indices{0, __VA_ARGS__}) 11307#else 11308#define nir_build_bindless_image_atomic_add(build, bit_size, src0, src1, src2, src3, ...) \ 11309_nir_build_bindless_image_atomic_add(build, bit_size, src0, src1, src2, src3, (struct _nir_bindless_image_atomic_add_indices){0, __VA_ARGS__}) 11310#endif 11311#define nir_bindless_image_atomic_add nir_build_bindless_image_atomic_add 11312#ifdef __cplusplus 11313#define nir_build_bindless_image_atomic_and(build, bit_size, src0, src1, src2, src3, ...) \ 11314_nir_build_bindless_image_atomic_and(build, bit_size, src0, src1, src2, src3, _nir_bindless_image_atomic_and_indices{0, __VA_ARGS__}) 11315#else 11316#define nir_build_bindless_image_atomic_and(build, bit_size, src0, src1, src2, src3, ...) \ 11317_nir_build_bindless_image_atomic_and(build, bit_size, src0, src1, src2, src3, (struct _nir_bindless_image_atomic_and_indices){0, __VA_ARGS__}) 11318#endif 11319#define nir_bindless_image_atomic_and nir_build_bindless_image_atomic_and 11320#ifdef __cplusplus 11321#define nir_build_bindless_image_atomic_comp_swap(build, bit_size, src0, src1, src2, src3, src4, ...) \ 11322_nir_build_bindless_image_atomic_comp_swap(build, bit_size, src0, src1, src2, src3, src4, _nir_bindless_image_atomic_comp_swap_indices{0, __VA_ARGS__}) 11323#else 11324#define nir_build_bindless_image_atomic_comp_swap(build, bit_size, src0, src1, src2, src3, src4, ...) \ 11325_nir_build_bindless_image_atomic_comp_swap(build, bit_size, src0, src1, src2, src3, src4, (struct _nir_bindless_image_atomic_comp_swap_indices){0, __VA_ARGS__}) 11326#endif 11327#define nir_bindless_image_atomic_comp_swap nir_build_bindless_image_atomic_comp_swap 11328#ifdef __cplusplus 11329#define nir_build_bindless_image_atomic_dec_wrap(build, bit_size, src0, src1, src2, src3, ...) \ 11330_nir_build_bindless_image_atomic_dec_wrap(build, bit_size, src0, src1, src2, src3, _nir_bindless_image_atomic_dec_wrap_indices{0, __VA_ARGS__}) 11331#else 11332#define nir_build_bindless_image_atomic_dec_wrap(build, bit_size, src0, src1, src2, src3, ...) \ 11333_nir_build_bindless_image_atomic_dec_wrap(build, bit_size, src0, src1, src2, src3, (struct _nir_bindless_image_atomic_dec_wrap_indices){0, __VA_ARGS__}) 11334#endif 11335#define nir_bindless_image_atomic_dec_wrap nir_build_bindless_image_atomic_dec_wrap 11336#ifdef __cplusplus 11337#define nir_build_bindless_image_atomic_exchange(build, bit_size, src0, src1, src2, src3, ...) \ 11338_nir_build_bindless_image_atomic_exchange(build, bit_size, src0, src1, src2, src3, _nir_bindless_image_atomic_exchange_indices{0, __VA_ARGS__}) 11339#else 11340#define nir_build_bindless_image_atomic_exchange(build, bit_size, src0, src1, src2, src3, ...) \ 11341_nir_build_bindless_image_atomic_exchange(build, bit_size, src0, src1, src2, src3, (struct _nir_bindless_image_atomic_exchange_indices){0, __VA_ARGS__}) 11342#endif 11343#define nir_bindless_image_atomic_exchange nir_build_bindless_image_atomic_exchange 11344#ifdef __cplusplus 11345#define nir_build_bindless_image_atomic_fadd(build, bit_size, src0, src1, src2, src3, ...) \ 11346_nir_build_bindless_image_atomic_fadd(build, bit_size, src0, src1, src2, src3, _nir_bindless_image_atomic_fadd_indices{0, __VA_ARGS__}) 11347#else 11348#define nir_build_bindless_image_atomic_fadd(build, bit_size, src0, src1, src2, src3, ...) \ 11349_nir_build_bindless_image_atomic_fadd(build, bit_size, src0, src1, src2, src3, (struct _nir_bindless_image_atomic_fadd_indices){0, __VA_ARGS__}) 11350#endif 11351#define nir_bindless_image_atomic_fadd nir_build_bindless_image_atomic_fadd 11352#ifdef __cplusplus 11353#define nir_build_bindless_image_atomic_fmax(build, bit_size, src0, src1, src2, src3, ...) \ 11354_nir_build_bindless_image_atomic_fmax(build, bit_size, src0, src1, src2, src3, _nir_bindless_image_atomic_fmax_indices{0, __VA_ARGS__}) 11355#else 11356#define nir_build_bindless_image_atomic_fmax(build, bit_size, src0, src1, src2, src3, ...) \ 11357_nir_build_bindless_image_atomic_fmax(build, bit_size, src0, src1, src2, src3, (struct _nir_bindless_image_atomic_fmax_indices){0, __VA_ARGS__}) 11358#endif 11359#define nir_bindless_image_atomic_fmax nir_build_bindless_image_atomic_fmax 11360#ifdef __cplusplus 11361#define nir_build_bindless_image_atomic_fmin(build, bit_size, src0, src1, src2, src3, ...) \ 11362_nir_build_bindless_image_atomic_fmin(build, bit_size, src0, src1, src2, src3, _nir_bindless_image_atomic_fmin_indices{0, __VA_ARGS__}) 11363#else 11364#define nir_build_bindless_image_atomic_fmin(build, bit_size, src0, src1, src2, src3, ...) \ 11365_nir_build_bindless_image_atomic_fmin(build, bit_size, src0, src1, src2, src3, (struct _nir_bindless_image_atomic_fmin_indices){0, __VA_ARGS__}) 11366#endif 11367#define nir_bindless_image_atomic_fmin nir_build_bindless_image_atomic_fmin 11368#ifdef __cplusplus 11369#define nir_build_bindless_image_atomic_imax(build, bit_size, src0, src1, src2, src3, ...) \ 11370_nir_build_bindless_image_atomic_imax(build, bit_size, src0, src1, src2, src3, _nir_bindless_image_atomic_imax_indices{0, __VA_ARGS__}) 11371#else 11372#define nir_build_bindless_image_atomic_imax(build, bit_size, src0, src1, src2, src3, ...) \ 11373_nir_build_bindless_image_atomic_imax(build, bit_size, src0, src1, src2, src3, (struct _nir_bindless_image_atomic_imax_indices){0, __VA_ARGS__}) 11374#endif 11375#define nir_bindless_image_atomic_imax nir_build_bindless_image_atomic_imax 11376#ifdef __cplusplus 11377#define nir_build_bindless_image_atomic_imin(build, bit_size, src0, src1, src2, src3, ...) \ 11378_nir_build_bindless_image_atomic_imin(build, bit_size, src0, src1, src2, src3, _nir_bindless_image_atomic_imin_indices{0, __VA_ARGS__}) 11379#else 11380#define nir_build_bindless_image_atomic_imin(build, bit_size, src0, src1, src2, src3, ...) \ 11381_nir_build_bindless_image_atomic_imin(build, bit_size, src0, src1, src2, src3, (struct _nir_bindless_image_atomic_imin_indices){0, __VA_ARGS__}) 11382#endif 11383#define nir_bindless_image_atomic_imin nir_build_bindless_image_atomic_imin 11384#ifdef __cplusplus 11385#define nir_build_bindless_image_atomic_inc_wrap(build, bit_size, src0, src1, src2, src3, ...) \ 11386_nir_build_bindless_image_atomic_inc_wrap(build, bit_size, src0, src1, src2, src3, _nir_bindless_image_atomic_inc_wrap_indices{0, __VA_ARGS__}) 11387#else 11388#define nir_build_bindless_image_atomic_inc_wrap(build, bit_size, src0, src1, src2, src3, ...) \ 11389_nir_build_bindless_image_atomic_inc_wrap(build, bit_size, src0, src1, src2, src3, (struct _nir_bindless_image_atomic_inc_wrap_indices){0, __VA_ARGS__}) 11390#endif 11391#define nir_bindless_image_atomic_inc_wrap nir_build_bindless_image_atomic_inc_wrap 11392#ifdef __cplusplus 11393#define nir_build_bindless_image_atomic_or(build, bit_size, src0, src1, src2, src3, ...) \ 11394_nir_build_bindless_image_atomic_or(build, bit_size, src0, src1, src2, src3, _nir_bindless_image_atomic_or_indices{0, __VA_ARGS__}) 11395#else 11396#define nir_build_bindless_image_atomic_or(build, bit_size, src0, src1, src2, src3, ...) \ 11397_nir_build_bindless_image_atomic_or(build, bit_size, src0, src1, src2, src3, (struct _nir_bindless_image_atomic_or_indices){0, __VA_ARGS__}) 11398#endif 11399#define nir_bindless_image_atomic_or nir_build_bindless_image_atomic_or 11400#ifdef __cplusplus 11401#define nir_build_bindless_image_atomic_umax(build, bit_size, src0, src1, src2, src3, ...) \ 11402_nir_build_bindless_image_atomic_umax(build, bit_size, src0, src1, src2, src3, _nir_bindless_image_atomic_umax_indices{0, __VA_ARGS__}) 11403#else 11404#define nir_build_bindless_image_atomic_umax(build, bit_size, src0, src1, src2, src3, ...) \ 11405_nir_build_bindless_image_atomic_umax(build, bit_size, src0, src1, src2, src3, (struct _nir_bindless_image_atomic_umax_indices){0, __VA_ARGS__}) 11406#endif 11407#define nir_bindless_image_atomic_umax nir_build_bindless_image_atomic_umax 11408#ifdef __cplusplus 11409#define nir_build_bindless_image_atomic_umin(build, bit_size, src0, src1, src2, src3, ...) \ 11410_nir_build_bindless_image_atomic_umin(build, bit_size, src0, src1, src2, src3, _nir_bindless_image_atomic_umin_indices{0, __VA_ARGS__}) 11411#else 11412#define nir_build_bindless_image_atomic_umin(build, bit_size, src0, src1, src2, src3, ...) \ 11413_nir_build_bindless_image_atomic_umin(build, bit_size, src0, src1, src2, src3, (struct _nir_bindless_image_atomic_umin_indices){0, __VA_ARGS__}) 11414#endif 11415#define nir_bindless_image_atomic_umin nir_build_bindless_image_atomic_umin 11416#ifdef __cplusplus 11417#define nir_build_bindless_image_atomic_xor(build, bit_size, src0, src1, src2, src3, ...) \ 11418_nir_build_bindless_image_atomic_xor(build, bit_size, src0, src1, src2, src3, _nir_bindless_image_atomic_xor_indices{0, __VA_ARGS__}) 11419#else 11420#define nir_build_bindless_image_atomic_xor(build, bit_size, src0, src1, src2, src3, ...) \ 11421_nir_build_bindless_image_atomic_xor(build, bit_size, src0, src1, src2, src3, (struct _nir_bindless_image_atomic_xor_indices){0, __VA_ARGS__}) 11422#endif 11423#define nir_bindless_image_atomic_xor nir_build_bindless_image_atomic_xor 11424#ifdef __cplusplus 11425#define nir_build_bindless_image_format(build, bit_size, src0, ...) \ 11426_nir_build_bindless_image_format(build, bit_size, src0, _nir_bindless_image_format_indices{0, __VA_ARGS__}) 11427#else 11428#define nir_build_bindless_image_format(build, bit_size, src0, ...) \ 11429_nir_build_bindless_image_format(build, bit_size, src0, (struct _nir_bindless_image_format_indices){0, __VA_ARGS__}) 11430#endif 11431#define nir_bindless_image_format nir_build_bindless_image_format 11432#ifdef __cplusplus 11433#define nir_build_bindless_image_load(build, num_components, bit_size, src0, src1, src2, src3, ...) \ 11434_nir_build_bindless_image_load(build, num_components, bit_size, src0, src1, src2, src3, _nir_bindless_image_load_indices{0, __VA_ARGS__}) 11435#else 11436#define nir_build_bindless_image_load(build, num_components, bit_size, src0, src1, src2, src3, ...) \ 11437_nir_build_bindless_image_load(build, num_components, bit_size, src0, src1, src2, src3, (struct _nir_bindless_image_load_indices){0, __VA_ARGS__}) 11438#endif 11439#define nir_bindless_image_load nir_build_bindless_image_load 11440#ifdef __cplusplus 11441#define nir_build_bindless_image_load_raw_intel(build, num_components, bit_size, src0, src1, ...) \ 11442_nir_build_bindless_image_load_raw_intel(build, num_components, bit_size, src0, src1, _nir_bindless_image_load_raw_intel_indices{0, __VA_ARGS__}) 11443#else 11444#define nir_build_bindless_image_load_raw_intel(build, num_components, bit_size, src0, src1, ...) \ 11445_nir_build_bindless_image_load_raw_intel(build, num_components, bit_size, src0, src1, (struct _nir_bindless_image_load_raw_intel_indices){0, __VA_ARGS__}) 11446#endif 11447#define nir_bindless_image_load_raw_intel nir_build_bindless_image_load_raw_intel 11448#ifdef __cplusplus 11449#define nir_build_bindless_image_order(build, bit_size, src0, ...) \ 11450_nir_build_bindless_image_order(build, bit_size, src0, _nir_bindless_image_order_indices{0, __VA_ARGS__}) 11451#else 11452#define nir_build_bindless_image_order(build, bit_size, src0, ...) \ 11453_nir_build_bindless_image_order(build, bit_size, src0, (struct _nir_bindless_image_order_indices){0, __VA_ARGS__}) 11454#endif 11455#define nir_bindless_image_order nir_build_bindless_image_order 11456#ifdef __cplusplus 11457#define nir_build_bindless_image_samples(build, bit_size, src0, ...) \ 11458_nir_build_bindless_image_samples(build, bit_size, src0, _nir_bindless_image_samples_indices{0, __VA_ARGS__}) 11459#else 11460#define nir_build_bindless_image_samples(build, bit_size, src0, ...) \ 11461_nir_build_bindless_image_samples(build, bit_size, src0, (struct _nir_bindless_image_samples_indices){0, __VA_ARGS__}) 11462#endif 11463#define nir_bindless_image_samples nir_build_bindless_image_samples 11464#ifdef __cplusplus 11465#define nir_build_bindless_image_size(build, num_components, bit_size, src0, src1, ...) \ 11466_nir_build_bindless_image_size(build, num_components, bit_size, src0, src1, _nir_bindless_image_size_indices{0, __VA_ARGS__}) 11467#else 11468#define nir_build_bindless_image_size(build, num_components, bit_size, src0, src1, ...) \ 11469_nir_build_bindless_image_size(build, num_components, bit_size, src0, src1, (struct _nir_bindless_image_size_indices){0, __VA_ARGS__}) 11470#endif 11471#define nir_bindless_image_size nir_build_bindless_image_size 11472#ifdef __cplusplus 11473#define nir_build_bindless_image_sparse_load(build, num_components, bit_size, src0, src1, src2, src3, ...) \ 11474_nir_build_bindless_image_sparse_load(build, num_components, bit_size, src0, src1, src2, src3, _nir_bindless_image_sparse_load_indices{0, __VA_ARGS__}) 11475#else 11476#define nir_build_bindless_image_sparse_load(build, num_components, bit_size, src0, src1, src2, src3, ...) \ 11477_nir_build_bindless_image_sparse_load(build, num_components, bit_size, src0, src1, src2, src3, (struct _nir_bindless_image_sparse_load_indices){0, __VA_ARGS__}) 11478#endif 11479#define nir_bindless_image_sparse_load nir_build_bindless_image_sparse_load 11480#ifdef __cplusplus 11481#define nir_build_bindless_image_store(build, src0, src1, src2, src3, src4, ...) \ 11482_nir_build_bindless_image_store(build, src0, src1, src2, src3, src4, _nir_bindless_image_store_indices{0, __VA_ARGS__}) 11483#else 11484#define nir_build_bindless_image_store(build, src0, src1, src2, src3, src4, ...) \ 11485_nir_build_bindless_image_store(build, src0, src1, src2, src3, src4, (struct _nir_bindless_image_store_indices){0, __VA_ARGS__}) 11486#endif 11487#define nir_bindless_image_store nir_build_bindless_image_store 11488#ifdef __cplusplus 11489#define nir_build_bindless_image_store_raw_intel(build, src0, src1, src2, ...) \ 11490_nir_build_bindless_image_store_raw_intel(build, src0, src1, src2, _nir_bindless_image_store_raw_intel_indices{0, __VA_ARGS__}) 11491#else 11492#define nir_build_bindless_image_store_raw_intel(build, src0, src1, src2, ...) \ 11493_nir_build_bindless_image_store_raw_intel(build, src0, src1, src2, (struct _nir_bindless_image_store_raw_intel_indices){0, __VA_ARGS__}) 11494#endif 11495#define nir_bindless_image_store_raw_intel nir_build_bindless_image_store_raw_intel 11496#ifdef __cplusplus 11497#define nir_build_bindless_resource_ir3(build, bit_size, src0, ...) \ 11498_nir_build_bindless_resource_ir3(build, bit_size, src0, _nir_bindless_resource_ir3_indices{0, __VA_ARGS__}) 11499#else 11500#define nir_build_bindless_resource_ir3(build, bit_size, src0, ...) \ 11501_nir_build_bindless_resource_ir3(build, bit_size, src0, (struct _nir_bindless_resource_ir3_indices){0, __VA_ARGS__}) 11502#endif 11503#define nir_bindless_resource_ir3 nir_build_bindless_resource_ir3 11504#define nir_build_btd_retire_intel _nir_build_btd_retire_intel 11505#define nir_btd_retire_intel nir_build_btd_retire_intel 11506#define nir_build_btd_spawn_intel _nir_build_btd_spawn_intel 11507#define nir_btd_spawn_intel nir_build_btd_spawn_intel 11508#ifdef __cplusplus 11509#define nir_build_btd_stack_push_intel(build, ...) \ 11510_nir_build_btd_stack_push_intel(build, _nir_btd_stack_push_intel_indices{0, __VA_ARGS__}) 11511#else 11512#define nir_build_btd_stack_push_intel(build, ...) \ 11513_nir_build_btd_stack_push_intel(build, (struct _nir_btd_stack_push_intel_indices){0, __VA_ARGS__}) 11514#endif 11515#define nir_btd_stack_push_intel nir_build_btd_stack_push_intel 11516#define nir_build_bvh64_intersect_ray_amd _nir_build_bvh64_intersect_ray_amd 11517#define nir_bvh64_intersect_ray_amd nir_build_bvh64_intersect_ray_amd 11518#define nir_build_byte_permute_amd _nir_build_byte_permute_amd 11519#define nir_byte_permute_amd nir_build_byte_permute_amd 11520#define nir_build_cond_end_ir3 _nir_build_cond_end_ir3 11521#define nir_cond_end_ir3 nir_build_cond_end_ir3 11522#define nir_build_control_barrier _nir_build_control_barrier 11523#define nir_control_barrier nir_build_control_barrier 11524#ifdef __cplusplus 11525#define nir_build_convert_alu_types(build, bit_size, src0, ...) \ 11526_nir_build_convert_alu_types(build, bit_size, src0, _nir_convert_alu_types_indices{0, __VA_ARGS__}) 11527#else 11528#define nir_build_convert_alu_types(build, bit_size, src0, ...) \ 11529_nir_build_convert_alu_types(build, bit_size, src0, (struct _nir_convert_alu_types_indices){0, __VA_ARGS__}) 11530#endif 11531#define nir_convert_alu_types nir_build_convert_alu_types 11532#ifdef __cplusplus 11533#define nir_build_copy_deref(build, src0, src1, ...) \ 11534_nir_build_copy_deref(build, src0, src1, _nir_copy_deref_indices{0, __VA_ARGS__}) 11535#else 11536#define nir_build_copy_deref(build, src0, src1, ...) \ 11537_nir_build_copy_deref(build, src0, src1, (struct _nir_copy_deref_indices){0, __VA_ARGS__}) 11538#endif 11539#define nir_copy_deref nir_build_copy_deref 11540#define nir_build_demote _nir_build_demote 11541#define nir_demote nir_build_demote 11542#define nir_build_demote_if _nir_build_demote_if 11543#define nir_demote_if nir_build_demote_if 11544#ifdef __cplusplus 11545#define nir_build_deref_atomic_add(build, bit_size, src0, src1, ...) \ 11546_nir_build_deref_atomic_add(build, bit_size, src0, src1, _nir_deref_atomic_add_indices{0, __VA_ARGS__}) 11547#else 11548#define nir_build_deref_atomic_add(build, bit_size, src0, src1, ...) \ 11549_nir_build_deref_atomic_add(build, bit_size, src0, src1, (struct _nir_deref_atomic_add_indices){0, __VA_ARGS__}) 11550#endif 11551#define nir_deref_atomic_add nir_build_deref_atomic_add 11552#ifdef __cplusplus 11553#define nir_build_deref_atomic_and(build, bit_size, src0, src1, ...) \ 11554_nir_build_deref_atomic_and(build, bit_size, src0, src1, _nir_deref_atomic_and_indices{0, __VA_ARGS__}) 11555#else 11556#define nir_build_deref_atomic_and(build, bit_size, src0, src1, ...) \ 11557_nir_build_deref_atomic_and(build, bit_size, src0, src1, (struct _nir_deref_atomic_and_indices){0, __VA_ARGS__}) 11558#endif 11559#define nir_deref_atomic_and nir_build_deref_atomic_and 11560#ifdef __cplusplus 11561#define nir_build_deref_atomic_comp_swap(build, bit_size, src0, src1, src2, ...) \ 11562_nir_build_deref_atomic_comp_swap(build, bit_size, src0, src1, src2, _nir_deref_atomic_comp_swap_indices{0, __VA_ARGS__}) 11563#else 11564#define nir_build_deref_atomic_comp_swap(build, bit_size, src0, src1, src2, ...) \ 11565_nir_build_deref_atomic_comp_swap(build, bit_size, src0, src1, src2, (struct _nir_deref_atomic_comp_swap_indices){0, __VA_ARGS__}) 11566#endif 11567#define nir_deref_atomic_comp_swap nir_build_deref_atomic_comp_swap 11568#ifdef __cplusplus 11569#define nir_build_deref_atomic_exchange(build, bit_size, src0, src1, ...) \ 11570_nir_build_deref_atomic_exchange(build, bit_size, src0, src1, _nir_deref_atomic_exchange_indices{0, __VA_ARGS__}) 11571#else 11572#define nir_build_deref_atomic_exchange(build, bit_size, src0, src1, ...) \ 11573_nir_build_deref_atomic_exchange(build, bit_size, src0, src1, (struct _nir_deref_atomic_exchange_indices){0, __VA_ARGS__}) 11574#endif 11575#define nir_deref_atomic_exchange nir_build_deref_atomic_exchange 11576#ifdef __cplusplus 11577#define nir_build_deref_atomic_fadd(build, bit_size, src0, src1, ...) \ 11578_nir_build_deref_atomic_fadd(build, bit_size, src0, src1, _nir_deref_atomic_fadd_indices{0, __VA_ARGS__}) 11579#else 11580#define nir_build_deref_atomic_fadd(build, bit_size, src0, src1, ...) \ 11581_nir_build_deref_atomic_fadd(build, bit_size, src0, src1, (struct _nir_deref_atomic_fadd_indices){0, __VA_ARGS__}) 11582#endif 11583#define nir_deref_atomic_fadd nir_build_deref_atomic_fadd 11584#ifdef __cplusplus 11585#define nir_build_deref_atomic_fcomp_swap(build, bit_size, src0, src1, src2, ...) \ 11586_nir_build_deref_atomic_fcomp_swap(build, bit_size, src0, src1, src2, _nir_deref_atomic_fcomp_swap_indices{0, __VA_ARGS__}) 11587#else 11588#define nir_build_deref_atomic_fcomp_swap(build, bit_size, src0, src1, src2, ...) \ 11589_nir_build_deref_atomic_fcomp_swap(build, bit_size, src0, src1, src2, (struct _nir_deref_atomic_fcomp_swap_indices){0, __VA_ARGS__}) 11590#endif 11591#define nir_deref_atomic_fcomp_swap nir_build_deref_atomic_fcomp_swap 11592#ifdef __cplusplus 11593#define nir_build_deref_atomic_fmax(build, bit_size, src0, src1, ...) \ 11594_nir_build_deref_atomic_fmax(build, bit_size, src0, src1, _nir_deref_atomic_fmax_indices{0, __VA_ARGS__}) 11595#else 11596#define nir_build_deref_atomic_fmax(build, bit_size, src0, src1, ...) \ 11597_nir_build_deref_atomic_fmax(build, bit_size, src0, src1, (struct _nir_deref_atomic_fmax_indices){0, __VA_ARGS__}) 11598#endif 11599#define nir_deref_atomic_fmax nir_build_deref_atomic_fmax 11600#ifdef __cplusplus 11601#define nir_build_deref_atomic_fmin(build, bit_size, src0, src1, ...) \ 11602_nir_build_deref_atomic_fmin(build, bit_size, src0, src1, _nir_deref_atomic_fmin_indices{0, __VA_ARGS__}) 11603#else 11604#define nir_build_deref_atomic_fmin(build, bit_size, src0, src1, ...) \ 11605_nir_build_deref_atomic_fmin(build, bit_size, src0, src1, (struct _nir_deref_atomic_fmin_indices){0, __VA_ARGS__}) 11606#endif 11607#define nir_deref_atomic_fmin nir_build_deref_atomic_fmin 11608#ifdef __cplusplus 11609#define nir_build_deref_atomic_imax(build, bit_size, src0, src1, ...) \ 11610_nir_build_deref_atomic_imax(build, bit_size, src0, src1, _nir_deref_atomic_imax_indices{0, __VA_ARGS__}) 11611#else 11612#define nir_build_deref_atomic_imax(build, bit_size, src0, src1, ...) \ 11613_nir_build_deref_atomic_imax(build, bit_size, src0, src1, (struct _nir_deref_atomic_imax_indices){0, __VA_ARGS__}) 11614#endif 11615#define nir_deref_atomic_imax nir_build_deref_atomic_imax 11616#ifdef __cplusplus 11617#define nir_build_deref_atomic_imin(build, bit_size, src0, src1, ...) \ 11618_nir_build_deref_atomic_imin(build, bit_size, src0, src1, _nir_deref_atomic_imin_indices{0, __VA_ARGS__}) 11619#else 11620#define nir_build_deref_atomic_imin(build, bit_size, src0, src1, ...) \ 11621_nir_build_deref_atomic_imin(build, bit_size, src0, src1, (struct _nir_deref_atomic_imin_indices){0, __VA_ARGS__}) 11622#endif 11623#define nir_deref_atomic_imin nir_build_deref_atomic_imin 11624#ifdef __cplusplus 11625#define nir_build_deref_atomic_or(build, bit_size, src0, src1, ...) \ 11626_nir_build_deref_atomic_or(build, bit_size, src0, src1, _nir_deref_atomic_or_indices{0, __VA_ARGS__}) 11627#else 11628#define nir_build_deref_atomic_or(build, bit_size, src0, src1, ...) \ 11629_nir_build_deref_atomic_or(build, bit_size, src0, src1, (struct _nir_deref_atomic_or_indices){0, __VA_ARGS__}) 11630#endif 11631#define nir_deref_atomic_or nir_build_deref_atomic_or 11632#ifdef __cplusplus 11633#define nir_build_deref_atomic_umax(build, bit_size, src0, src1, ...) \ 11634_nir_build_deref_atomic_umax(build, bit_size, src0, src1, _nir_deref_atomic_umax_indices{0, __VA_ARGS__}) 11635#else 11636#define nir_build_deref_atomic_umax(build, bit_size, src0, src1, ...) \ 11637_nir_build_deref_atomic_umax(build, bit_size, src0, src1, (struct _nir_deref_atomic_umax_indices){0, __VA_ARGS__}) 11638#endif 11639#define nir_deref_atomic_umax nir_build_deref_atomic_umax 11640#ifdef __cplusplus 11641#define nir_build_deref_atomic_umin(build, bit_size, src0, src1, ...) \ 11642_nir_build_deref_atomic_umin(build, bit_size, src0, src1, _nir_deref_atomic_umin_indices{0, __VA_ARGS__}) 11643#else 11644#define nir_build_deref_atomic_umin(build, bit_size, src0, src1, ...) \ 11645_nir_build_deref_atomic_umin(build, bit_size, src0, src1, (struct _nir_deref_atomic_umin_indices){0, __VA_ARGS__}) 11646#endif 11647#define nir_deref_atomic_umin nir_build_deref_atomic_umin 11648#ifdef __cplusplus 11649#define nir_build_deref_atomic_xor(build, bit_size, src0, src1, ...) \ 11650_nir_build_deref_atomic_xor(build, bit_size, src0, src1, _nir_deref_atomic_xor_indices{0, __VA_ARGS__}) 11651#else 11652#define nir_build_deref_atomic_xor(build, bit_size, src0, src1, ...) \ 11653_nir_build_deref_atomic_xor(build, bit_size, src0, src1, (struct _nir_deref_atomic_xor_indices){0, __VA_ARGS__}) 11654#endif 11655#define nir_deref_atomic_xor nir_build_deref_atomic_xor 11656#ifdef __cplusplus 11657#define nir_build_deref_buffer_array_length(build, bit_size, src0, ...) \ 11658_nir_build_deref_buffer_array_length(build, bit_size, src0, _nir_deref_buffer_array_length_indices{0, __VA_ARGS__}) 11659#else 11660#define nir_build_deref_buffer_array_length(build, bit_size, src0, ...) \ 11661_nir_build_deref_buffer_array_length(build, bit_size, src0, (struct _nir_deref_buffer_array_length_indices){0, __VA_ARGS__}) 11662#endif 11663#define nir_deref_buffer_array_length nir_build_deref_buffer_array_length 11664#ifdef __cplusplus 11665#define nir_build_deref_mode_is(build, bit_size, src0, ...) \ 11666_nir_build_deref_mode_is(build, bit_size, src0, _nir_deref_mode_is_indices{0, __VA_ARGS__}) 11667#else 11668#define nir_build_deref_mode_is(build, bit_size, src0, ...) \ 11669_nir_build_deref_mode_is(build, bit_size, src0, (struct _nir_deref_mode_is_indices){0, __VA_ARGS__}) 11670#endif 11671#define nir_deref_mode_is nir_build_deref_mode_is 11672#define nir_build_discard _nir_build_discard 11673#define nir_discard nir_build_discard 11674#define nir_build_discard_if _nir_build_discard_if 11675#define nir_discard_if nir_build_discard_if 11676#define nir_build_elect _nir_build_elect 11677#define nir_elect nir_build_elect 11678#ifdef __cplusplus 11679#define nir_build_emit_vertex(build, ...) \ 11680_nir_build_emit_vertex(build, _nir_emit_vertex_indices{0, __VA_ARGS__}) 11681#else 11682#define nir_build_emit_vertex(build, ...) \ 11683_nir_build_emit_vertex(build, (struct _nir_emit_vertex_indices){0, __VA_ARGS__}) 11684#endif 11685#define nir_emit_vertex nir_build_emit_vertex 11686#ifdef __cplusplus 11687#define nir_build_emit_vertex_with_counter(build, src0, src1, ...) \ 11688_nir_build_emit_vertex_with_counter(build, src0, src1, _nir_emit_vertex_with_counter_indices{0, __VA_ARGS__}) 11689#else 11690#define nir_build_emit_vertex_with_counter(build, src0, src1, ...) \ 11691_nir_build_emit_vertex_with_counter(build, src0, src1, (struct _nir_emit_vertex_with_counter_indices){0, __VA_ARGS__}) 11692#endif 11693#define nir_emit_vertex_with_counter nir_build_emit_vertex_with_counter 11694#define nir_build_end_invocation_interlock _nir_build_end_invocation_interlock 11695#define nir_end_invocation_interlock nir_build_end_invocation_interlock 11696#define nir_build_end_patch_ir3 _nir_build_end_patch_ir3 11697#define nir_end_patch_ir3 nir_build_end_patch_ir3 11698#ifdef __cplusplus 11699#define nir_build_end_primitive(build, ...) \ 11700_nir_build_end_primitive(build, _nir_end_primitive_indices{0, __VA_ARGS__}) 11701#else 11702#define nir_build_end_primitive(build, ...) \ 11703_nir_build_end_primitive(build, (struct _nir_end_primitive_indices){0, __VA_ARGS__}) 11704#endif 11705#define nir_end_primitive nir_build_end_primitive 11706#ifdef __cplusplus 11707#define nir_build_end_primitive_with_counter(build, src0, src1, ...) \ 11708_nir_build_end_primitive_with_counter(build, src0, src1, _nir_end_primitive_with_counter_indices{0, __VA_ARGS__}) 11709#else 11710#define nir_build_end_primitive_with_counter(build, src0, src1, ...) \ 11711_nir_build_end_primitive_with_counter(build, src0, src1, (struct _nir_end_primitive_with_counter_indices){0, __VA_ARGS__}) 11712#endif 11713#define nir_end_primitive_with_counter nir_build_end_primitive_with_counter 11714#ifdef __cplusplus 11715#define nir_build_exclusive_scan(build, src0, ...) \ 11716_nir_build_exclusive_scan(build, src0, _nir_exclusive_scan_indices{0, __VA_ARGS__}) 11717#else 11718#define nir_build_exclusive_scan(build, src0, ...) \ 11719_nir_build_exclusive_scan(build, src0, (struct _nir_exclusive_scan_indices){0, __VA_ARGS__}) 11720#endif 11721#define nir_exclusive_scan nir_build_exclusive_scan 11722#define nir_build_execute_callable _nir_build_execute_callable 11723#define nir_execute_callable nir_build_execute_callable 11724#define nir_build_export_primitive_amd _nir_build_export_primitive_amd 11725#define nir_export_primitive_amd nir_build_export_primitive_amd 11726#define nir_build_export_vertex_amd _nir_build_export_vertex_amd 11727#define nir_export_vertex_amd nir_build_export_vertex_amd 11728#define nir_build_first_invocation _nir_build_first_invocation 11729#define nir_first_invocation nir_build_first_invocation 11730#ifdef __cplusplus 11731#define nir_build_gds_atomic_add_amd(build, bit_size, src0, src1, src2, ...) \ 11732_nir_build_gds_atomic_add_amd(build, bit_size, src0, src1, src2, _nir_gds_atomic_add_amd_indices{0, __VA_ARGS__}) 11733#else 11734#define nir_build_gds_atomic_add_amd(build, bit_size, src0, src1, src2, ...) \ 11735_nir_build_gds_atomic_add_amd(build, bit_size, src0, src1, src2, (struct _nir_gds_atomic_add_amd_indices){0, __VA_ARGS__}) 11736#endif 11737#define nir_gds_atomic_add_amd nir_build_gds_atomic_add_amd 11738#ifdef __cplusplus 11739#define nir_build_get_ssbo_size(build, src0, ...) \ 11740_nir_build_get_ssbo_size(build, src0, _nir_get_ssbo_size_indices{0, __VA_ARGS__}) 11741#else 11742#define nir_build_get_ssbo_size(build, src0, ...) \ 11743_nir_build_get_ssbo_size(build, src0, (struct _nir_get_ssbo_size_indices){0, __VA_ARGS__}) 11744#endif 11745#define nir_get_ssbo_size nir_build_get_ssbo_size 11746#define nir_build_get_ubo_size _nir_build_get_ubo_size 11747#define nir_get_ubo_size nir_build_get_ubo_size 11748#ifdef __cplusplus 11749#define nir_build_global_atomic_add(build, bit_size, src0, src1, ...) \ 11750_nir_build_global_atomic_add(build, bit_size, src0, src1, _nir_global_atomic_add_indices{0, __VA_ARGS__}) 11751#else 11752#define nir_build_global_atomic_add(build, bit_size, src0, src1, ...) \ 11753_nir_build_global_atomic_add(build, bit_size, src0, src1, (struct _nir_global_atomic_add_indices){0, __VA_ARGS__}) 11754#endif 11755#define nir_global_atomic_add nir_build_global_atomic_add 11756#ifdef __cplusplus 11757#define nir_build_global_atomic_and(build, bit_size, src0, src1, ...) \ 11758_nir_build_global_atomic_and(build, bit_size, src0, src1, _nir_global_atomic_and_indices{0, __VA_ARGS__}) 11759#else 11760#define nir_build_global_atomic_and(build, bit_size, src0, src1, ...) \ 11761_nir_build_global_atomic_and(build, bit_size, src0, src1, (struct _nir_global_atomic_and_indices){0, __VA_ARGS__}) 11762#endif 11763#define nir_global_atomic_and nir_build_global_atomic_and 11764#ifdef __cplusplus 11765#define nir_build_global_atomic_comp_swap(build, bit_size, src0, src1, src2, ...) \ 11766_nir_build_global_atomic_comp_swap(build, bit_size, src0, src1, src2, _nir_global_atomic_comp_swap_indices{0, __VA_ARGS__}) 11767#else 11768#define nir_build_global_atomic_comp_swap(build, bit_size, src0, src1, src2, ...) \ 11769_nir_build_global_atomic_comp_swap(build, bit_size, src0, src1, src2, (struct _nir_global_atomic_comp_swap_indices){0, __VA_ARGS__}) 11770#endif 11771#define nir_global_atomic_comp_swap nir_build_global_atomic_comp_swap 11772#ifdef __cplusplus 11773#define nir_build_global_atomic_exchange(build, bit_size, src0, src1, ...) \ 11774_nir_build_global_atomic_exchange(build, bit_size, src0, src1, _nir_global_atomic_exchange_indices{0, __VA_ARGS__}) 11775#else 11776#define nir_build_global_atomic_exchange(build, bit_size, src0, src1, ...) \ 11777_nir_build_global_atomic_exchange(build, bit_size, src0, src1, (struct _nir_global_atomic_exchange_indices){0, __VA_ARGS__}) 11778#endif 11779#define nir_global_atomic_exchange nir_build_global_atomic_exchange 11780#ifdef __cplusplus 11781#define nir_build_global_atomic_fadd(build, bit_size, src0, src1, ...) \ 11782_nir_build_global_atomic_fadd(build, bit_size, src0, src1, _nir_global_atomic_fadd_indices{0, __VA_ARGS__}) 11783#else 11784#define nir_build_global_atomic_fadd(build, bit_size, src0, src1, ...) \ 11785_nir_build_global_atomic_fadd(build, bit_size, src0, src1, (struct _nir_global_atomic_fadd_indices){0, __VA_ARGS__}) 11786#endif 11787#define nir_global_atomic_fadd nir_build_global_atomic_fadd 11788#ifdef __cplusplus 11789#define nir_build_global_atomic_fcomp_swap(build, bit_size, src0, src1, src2, ...) \ 11790_nir_build_global_atomic_fcomp_swap(build, bit_size, src0, src1, src2, _nir_global_atomic_fcomp_swap_indices{0, __VA_ARGS__}) 11791#else 11792#define nir_build_global_atomic_fcomp_swap(build, bit_size, src0, src1, src2, ...) \ 11793_nir_build_global_atomic_fcomp_swap(build, bit_size, src0, src1, src2, (struct _nir_global_atomic_fcomp_swap_indices){0, __VA_ARGS__}) 11794#endif 11795#define nir_global_atomic_fcomp_swap nir_build_global_atomic_fcomp_swap 11796#ifdef __cplusplus 11797#define nir_build_global_atomic_fmax(build, bit_size, src0, src1, ...) \ 11798_nir_build_global_atomic_fmax(build, bit_size, src0, src1, _nir_global_atomic_fmax_indices{0, __VA_ARGS__}) 11799#else 11800#define nir_build_global_atomic_fmax(build, bit_size, src0, src1, ...) \ 11801_nir_build_global_atomic_fmax(build, bit_size, src0, src1, (struct _nir_global_atomic_fmax_indices){0, __VA_ARGS__}) 11802#endif 11803#define nir_global_atomic_fmax nir_build_global_atomic_fmax 11804#ifdef __cplusplus 11805#define nir_build_global_atomic_fmin(build, bit_size, src0, src1, ...) \ 11806_nir_build_global_atomic_fmin(build, bit_size, src0, src1, _nir_global_atomic_fmin_indices{0, __VA_ARGS__}) 11807#else 11808#define nir_build_global_atomic_fmin(build, bit_size, src0, src1, ...) \ 11809_nir_build_global_atomic_fmin(build, bit_size, src0, src1, (struct _nir_global_atomic_fmin_indices){0, __VA_ARGS__}) 11810#endif 11811#define nir_global_atomic_fmin nir_build_global_atomic_fmin 11812#ifdef __cplusplus 11813#define nir_build_global_atomic_imax(build, bit_size, src0, src1, ...) \ 11814_nir_build_global_atomic_imax(build, bit_size, src0, src1, _nir_global_atomic_imax_indices{0, __VA_ARGS__}) 11815#else 11816#define nir_build_global_atomic_imax(build, bit_size, src0, src1, ...) \ 11817_nir_build_global_atomic_imax(build, bit_size, src0, src1, (struct _nir_global_atomic_imax_indices){0, __VA_ARGS__}) 11818#endif 11819#define nir_global_atomic_imax nir_build_global_atomic_imax 11820#ifdef __cplusplus 11821#define nir_build_global_atomic_imin(build, bit_size, src0, src1, ...) \ 11822_nir_build_global_atomic_imin(build, bit_size, src0, src1, _nir_global_atomic_imin_indices{0, __VA_ARGS__}) 11823#else 11824#define nir_build_global_atomic_imin(build, bit_size, src0, src1, ...) \ 11825_nir_build_global_atomic_imin(build, bit_size, src0, src1, (struct _nir_global_atomic_imin_indices){0, __VA_ARGS__}) 11826#endif 11827#define nir_global_atomic_imin nir_build_global_atomic_imin 11828#ifdef __cplusplus 11829#define nir_build_global_atomic_or(build, bit_size, src0, src1, ...) \ 11830_nir_build_global_atomic_or(build, bit_size, src0, src1, _nir_global_atomic_or_indices{0, __VA_ARGS__}) 11831#else 11832#define nir_build_global_atomic_or(build, bit_size, src0, src1, ...) \ 11833_nir_build_global_atomic_or(build, bit_size, src0, src1, (struct _nir_global_atomic_or_indices){0, __VA_ARGS__}) 11834#endif 11835#define nir_global_atomic_or nir_build_global_atomic_or 11836#ifdef __cplusplus 11837#define nir_build_global_atomic_umax(build, bit_size, src0, src1, ...) \ 11838_nir_build_global_atomic_umax(build, bit_size, src0, src1, _nir_global_atomic_umax_indices{0, __VA_ARGS__}) 11839#else 11840#define nir_build_global_atomic_umax(build, bit_size, src0, src1, ...) \ 11841_nir_build_global_atomic_umax(build, bit_size, src0, src1, (struct _nir_global_atomic_umax_indices){0, __VA_ARGS__}) 11842#endif 11843#define nir_global_atomic_umax nir_build_global_atomic_umax 11844#ifdef __cplusplus 11845#define nir_build_global_atomic_umin(build, bit_size, src0, src1, ...) \ 11846_nir_build_global_atomic_umin(build, bit_size, src0, src1, _nir_global_atomic_umin_indices{0, __VA_ARGS__}) 11847#else 11848#define nir_build_global_atomic_umin(build, bit_size, src0, src1, ...) \ 11849_nir_build_global_atomic_umin(build, bit_size, src0, src1, (struct _nir_global_atomic_umin_indices){0, __VA_ARGS__}) 11850#endif 11851#define nir_global_atomic_umin nir_build_global_atomic_umin 11852#ifdef __cplusplus 11853#define nir_build_global_atomic_xor(build, bit_size, src0, src1, ...) \ 11854_nir_build_global_atomic_xor(build, bit_size, src0, src1, _nir_global_atomic_xor_indices{0, __VA_ARGS__}) 11855#else 11856#define nir_build_global_atomic_xor(build, bit_size, src0, src1, ...) \ 11857_nir_build_global_atomic_xor(build, bit_size, src0, src1, (struct _nir_global_atomic_xor_indices){0, __VA_ARGS__}) 11858#endif 11859#define nir_global_atomic_xor nir_build_global_atomic_xor 11860#define nir_build_group_memory_barrier _nir_build_group_memory_barrier 11861#define nir_group_memory_barrier nir_build_group_memory_barrier 11862#define nir_build_has_input_primitive_amd _nir_build_has_input_primitive_amd 11863#define nir_has_input_primitive_amd nir_build_has_input_primitive_amd 11864#define nir_build_has_input_vertex_amd _nir_build_has_input_vertex_amd 11865#define nir_has_input_vertex_amd nir_build_has_input_vertex_amd 11866#define nir_build_ignore_ray_intersection _nir_build_ignore_ray_intersection 11867#define nir_ignore_ray_intersection nir_build_ignore_ray_intersection 11868#ifdef __cplusplus 11869#define nir_build_image_atomic_add(build, bit_size, src0, src1, src2, src3, ...) \ 11870_nir_build_image_atomic_add(build, bit_size, src0, src1, src2, src3, _nir_image_atomic_add_indices{0, __VA_ARGS__}) 11871#else 11872#define nir_build_image_atomic_add(build, bit_size, src0, src1, src2, src3, ...) \ 11873_nir_build_image_atomic_add(build, bit_size, src0, src1, src2, src3, (struct _nir_image_atomic_add_indices){0, __VA_ARGS__}) 11874#endif 11875#define nir_image_atomic_add nir_build_image_atomic_add 11876#ifdef __cplusplus 11877#define nir_build_image_atomic_and(build, bit_size, src0, src1, src2, src3, ...) \ 11878_nir_build_image_atomic_and(build, bit_size, src0, src1, src2, src3, _nir_image_atomic_and_indices{0, __VA_ARGS__}) 11879#else 11880#define nir_build_image_atomic_and(build, bit_size, src0, src1, src2, src3, ...) \ 11881_nir_build_image_atomic_and(build, bit_size, src0, src1, src2, src3, (struct _nir_image_atomic_and_indices){0, __VA_ARGS__}) 11882#endif 11883#define nir_image_atomic_and nir_build_image_atomic_and 11884#ifdef __cplusplus 11885#define nir_build_image_atomic_comp_swap(build, bit_size, src0, src1, src2, src3, src4, ...) \ 11886_nir_build_image_atomic_comp_swap(build, bit_size, src0, src1, src2, src3, src4, _nir_image_atomic_comp_swap_indices{0, __VA_ARGS__}) 11887#else 11888#define nir_build_image_atomic_comp_swap(build, bit_size, src0, src1, src2, src3, src4, ...) \ 11889_nir_build_image_atomic_comp_swap(build, bit_size, src0, src1, src2, src3, src4, (struct _nir_image_atomic_comp_swap_indices){0, __VA_ARGS__}) 11890#endif 11891#define nir_image_atomic_comp_swap nir_build_image_atomic_comp_swap 11892#ifdef __cplusplus 11893#define nir_build_image_atomic_dec_wrap(build, bit_size, src0, src1, src2, src3, ...) \ 11894_nir_build_image_atomic_dec_wrap(build, bit_size, src0, src1, src2, src3, _nir_image_atomic_dec_wrap_indices{0, __VA_ARGS__}) 11895#else 11896#define nir_build_image_atomic_dec_wrap(build, bit_size, src0, src1, src2, src3, ...) \ 11897_nir_build_image_atomic_dec_wrap(build, bit_size, src0, src1, src2, src3, (struct _nir_image_atomic_dec_wrap_indices){0, __VA_ARGS__}) 11898#endif 11899#define nir_image_atomic_dec_wrap nir_build_image_atomic_dec_wrap 11900#ifdef __cplusplus 11901#define nir_build_image_atomic_exchange(build, bit_size, src0, src1, src2, src3, ...) \ 11902_nir_build_image_atomic_exchange(build, bit_size, src0, src1, src2, src3, _nir_image_atomic_exchange_indices{0, __VA_ARGS__}) 11903#else 11904#define nir_build_image_atomic_exchange(build, bit_size, src0, src1, src2, src3, ...) \ 11905_nir_build_image_atomic_exchange(build, bit_size, src0, src1, src2, src3, (struct _nir_image_atomic_exchange_indices){0, __VA_ARGS__}) 11906#endif 11907#define nir_image_atomic_exchange nir_build_image_atomic_exchange 11908#ifdef __cplusplus 11909#define nir_build_image_atomic_fadd(build, bit_size, src0, src1, src2, src3, ...) \ 11910_nir_build_image_atomic_fadd(build, bit_size, src0, src1, src2, src3, _nir_image_atomic_fadd_indices{0, __VA_ARGS__}) 11911#else 11912#define nir_build_image_atomic_fadd(build, bit_size, src0, src1, src2, src3, ...) \ 11913_nir_build_image_atomic_fadd(build, bit_size, src0, src1, src2, src3, (struct _nir_image_atomic_fadd_indices){0, __VA_ARGS__}) 11914#endif 11915#define nir_image_atomic_fadd nir_build_image_atomic_fadd 11916#ifdef __cplusplus 11917#define nir_build_image_atomic_fmax(build, bit_size, src0, src1, src2, src3, ...) \ 11918_nir_build_image_atomic_fmax(build, bit_size, src0, src1, src2, src3, _nir_image_atomic_fmax_indices{0, __VA_ARGS__}) 11919#else 11920#define nir_build_image_atomic_fmax(build, bit_size, src0, src1, src2, src3, ...) \ 11921_nir_build_image_atomic_fmax(build, bit_size, src0, src1, src2, src3, (struct _nir_image_atomic_fmax_indices){0, __VA_ARGS__}) 11922#endif 11923#define nir_image_atomic_fmax nir_build_image_atomic_fmax 11924#ifdef __cplusplus 11925#define nir_build_image_atomic_fmin(build, bit_size, src0, src1, src2, src3, ...) \ 11926_nir_build_image_atomic_fmin(build, bit_size, src0, src1, src2, src3, _nir_image_atomic_fmin_indices{0, __VA_ARGS__}) 11927#else 11928#define nir_build_image_atomic_fmin(build, bit_size, src0, src1, src2, src3, ...) \ 11929_nir_build_image_atomic_fmin(build, bit_size, src0, src1, src2, src3, (struct _nir_image_atomic_fmin_indices){0, __VA_ARGS__}) 11930#endif 11931#define nir_image_atomic_fmin nir_build_image_atomic_fmin 11932#ifdef __cplusplus 11933#define nir_build_image_atomic_imax(build, bit_size, src0, src1, src2, src3, ...) \ 11934_nir_build_image_atomic_imax(build, bit_size, src0, src1, src2, src3, _nir_image_atomic_imax_indices{0, __VA_ARGS__}) 11935#else 11936#define nir_build_image_atomic_imax(build, bit_size, src0, src1, src2, src3, ...) \ 11937_nir_build_image_atomic_imax(build, bit_size, src0, src1, src2, src3, (struct _nir_image_atomic_imax_indices){0, __VA_ARGS__}) 11938#endif 11939#define nir_image_atomic_imax nir_build_image_atomic_imax 11940#ifdef __cplusplus 11941#define nir_build_image_atomic_imin(build, bit_size, src0, src1, src2, src3, ...) \ 11942_nir_build_image_atomic_imin(build, bit_size, src0, src1, src2, src3, _nir_image_atomic_imin_indices{0, __VA_ARGS__}) 11943#else 11944#define nir_build_image_atomic_imin(build, bit_size, src0, src1, src2, src3, ...) \ 11945_nir_build_image_atomic_imin(build, bit_size, src0, src1, src2, src3, (struct _nir_image_atomic_imin_indices){0, __VA_ARGS__}) 11946#endif 11947#define nir_image_atomic_imin nir_build_image_atomic_imin 11948#ifdef __cplusplus 11949#define nir_build_image_atomic_inc_wrap(build, bit_size, src0, src1, src2, src3, ...) \ 11950_nir_build_image_atomic_inc_wrap(build, bit_size, src0, src1, src2, src3, _nir_image_atomic_inc_wrap_indices{0, __VA_ARGS__}) 11951#else 11952#define nir_build_image_atomic_inc_wrap(build, bit_size, src0, src1, src2, src3, ...) \ 11953_nir_build_image_atomic_inc_wrap(build, bit_size, src0, src1, src2, src3, (struct _nir_image_atomic_inc_wrap_indices){0, __VA_ARGS__}) 11954#endif 11955#define nir_image_atomic_inc_wrap nir_build_image_atomic_inc_wrap 11956#ifdef __cplusplus 11957#define nir_build_image_atomic_or(build, bit_size, src0, src1, src2, src3, ...) \ 11958_nir_build_image_atomic_or(build, bit_size, src0, src1, src2, src3, _nir_image_atomic_or_indices{0, __VA_ARGS__}) 11959#else 11960#define nir_build_image_atomic_or(build, bit_size, src0, src1, src2, src3, ...) \ 11961_nir_build_image_atomic_or(build, bit_size, src0, src1, src2, src3, (struct _nir_image_atomic_or_indices){0, __VA_ARGS__}) 11962#endif 11963#define nir_image_atomic_or nir_build_image_atomic_or 11964#ifdef __cplusplus 11965#define nir_build_image_atomic_umax(build, bit_size, src0, src1, src2, src3, ...) \ 11966_nir_build_image_atomic_umax(build, bit_size, src0, src1, src2, src3, _nir_image_atomic_umax_indices{0, __VA_ARGS__}) 11967#else 11968#define nir_build_image_atomic_umax(build, bit_size, src0, src1, src2, src3, ...) \ 11969_nir_build_image_atomic_umax(build, bit_size, src0, src1, src2, src3, (struct _nir_image_atomic_umax_indices){0, __VA_ARGS__}) 11970#endif 11971#define nir_image_atomic_umax nir_build_image_atomic_umax 11972#ifdef __cplusplus 11973#define nir_build_image_atomic_umin(build, bit_size, src0, src1, src2, src3, ...) \ 11974_nir_build_image_atomic_umin(build, bit_size, src0, src1, src2, src3, _nir_image_atomic_umin_indices{0, __VA_ARGS__}) 11975#else 11976#define nir_build_image_atomic_umin(build, bit_size, src0, src1, src2, src3, ...) \ 11977_nir_build_image_atomic_umin(build, bit_size, src0, src1, src2, src3, (struct _nir_image_atomic_umin_indices){0, __VA_ARGS__}) 11978#endif 11979#define nir_image_atomic_umin nir_build_image_atomic_umin 11980#ifdef __cplusplus 11981#define nir_build_image_atomic_xor(build, bit_size, src0, src1, src2, src3, ...) \ 11982_nir_build_image_atomic_xor(build, bit_size, src0, src1, src2, src3, _nir_image_atomic_xor_indices{0, __VA_ARGS__}) 11983#else 11984#define nir_build_image_atomic_xor(build, bit_size, src0, src1, src2, src3, ...) \ 11985_nir_build_image_atomic_xor(build, bit_size, src0, src1, src2, src3, (struct _nir_image_atomic_xor_indices){0, __VA_ARGS__}) 11986#endif 11987#define nir_image_atomic_xor nir_build_image_atomic_xor 11988#ifdef __cplusplus 11989#define nir_build_image_deref_atomic_add(build, bit_size, src0, src1, src2, src3, ...) \ 11990_nir_build_image_deref_atomic_add(build, bit_size, src0, src1, src2, src3, _nir_image_deref_atomic_add_indices{0, __VA_ARGS__}) 11991#else 11992#define nir_build_image_deref_atomic_add(build, bit_size, src0, src1, src2, src3, ...) \ 11993_nir_build_image_deref_atomic_add(build, bit_size, src0, src1, src2, src3, (struct _nir_image_deref_atomic_add_indices){0, __VA_ARGS__}) 11994#endif 11995#define nir_image_deref_atomic_add nir_build_image_deref_atomic_add 11996#ifdef __cplusplus 11997#define nir_build_image_deref_atomic_and(build, bit_size, src0, src1, src2, src3, ...) \ 11998_nir_build_image_deref_atomic_and(build, bit_size, src0, src1, src2, src3, _nir_image_deref_atomic_and_indices{0, __VA_ARGS__}) 11999#else 12000#define nir_build_image_deref_atomic_and(build, bit_size, src0, src1, src2, src3, ...) \ 12001_nir_build_image_deref_atomic_and(build, bit_size, src0, src1, src2, src3, (struct _nir_image_deref_atomic_and_indices){0, __VA_ARGS__}) 12002#endif 12003#define nir_image_deref_atomic_and nir_build_image_deref_atomic_and 12004#ifdef __cplusplus 12005#define nir_build_image_deref_atomic_comp_swap(build, bit_size, src0, src1, src2, src3, src4, ...) \ 12006_nir_build_image_deref_atomic_comp_swap(build, bit_size, src0, src1, src2, src3, src4, _nir_image_deref_atomic_comp_swap_indices{0, __VA_ARGS__}) 12007#else 12008#define nir_build_image_deref_atomic_comp_swap(build, bit_size, src0, src1, src2, src3, src4, ...) \ 12009_nir_build_image_deref_atomic_comp_swap(build, bit_size, src0, src1, src2, src3, src4, (struct _nir_image_deref_atomic_comp_swap_indices){0, __VA_ARGS__}) 12010#endif 12011#define nir_image_deref_atomic_comp_swap nir_build_image_deref_atomic_comp_swap 12012#ifdef __cplusplus 12013#define nir_build_image_deref_atomic_dec_wrap(build, bit_size, src0, src1, src2, src3, ...) \ 12014_nir_build_image_deref_atomic_dec_wrap(build, bit_size, src0, src1, src2, src3, _nir_image_deref_atomic_dec_wrap_indices{0, __VA_ARGS__}) 12015#else 12016#define nir_build_image_deref_atomic_dec_wrap(build, bit_size, src0, src1, src2, src3, ...) \ 12017_nir_build_image_deref_atomic_dec_wrap(build, bit_size, src0, src1, src2, src3, (struct _nir_image_deref_atomic_dec_wrap_indices){0, __VA_ARGS__}) 12018#endif 12019#define nir_image_deref_atomic_dec_wrap nir_build_image_deref_atomic_dec_wrap 12020#ifdef __cplusplus 12021#define nir_build_image_deref_atomic_exchange(build, bit_size, src0, src1, src2, src3, ...) \ 12022_nir_build_image_deref_atomic_exchange(build, bit_size, src0, src1, src2, src3, _nir_image_deref_atomic_exchange_indices{0, __VA_ARGS__}) 12023#else 12024#define nir_build_image_deref_atomic_exchange(build, bit_size, src0, src1, src2, src3, ...) \ 12025_nir_build_image_deref_atomic_exchange(build, bit_size, src0, src1, src2, src3, (struct _nir_image_deref_atomic_exchange_indices){0, __VA_ARGS__}) 12026#endif 12027#define nir_image_deref_atomic_exchange nir_build_image_deref_atomic_exchange 12028#ifdef __cplusplus 12029#define nir_build_image_deref_atomic_fadd(build, bit_size, src0, src1, src2, src3, ...) \ 12030_nir_build_image_deref_atomic_fadd(build, bit_size, src0, src1, src2, src3, _nir_image_deref_atomic_fadd_indices{0, __VA_ARGS__}) 12031#else 12032#define nir_build_image_deref_atomic_fadd(build, bit_size, src0, src1, src2, src3, ...) \ 12033_nir_build_image_deref_atomic_fadd(build, bit_size, src0, src1, src2, src3, (struct _nir_image_deref_atomic_fadd_indices){0, __VA_ARGS__}) 12034#endif 12035#define nir_image_deref_atomic_fadd nir_build_image_deref_atomic_fadd 12036#ifdef __cplusplus 12037#define nir_build_image_deref_atomic_fmax(build, bit_size, src0, src1, src2, src3, ...) \ 12038_nir_build_image_deref_atomic_fmax(build, bit_size, src0, src1, src2, src3, _nir_image_deref_atomic_fmax_indices{0, __VA_ARGS__}) 12039#else 12040#define nir_build_image_deref_atomic_fmax(build, bit_size, src0, src1, src2, src3, ...) \ 12041_nir_build_image_deref_atomic_fmax(build, bit_size, src0, src1, src2, src3, (struct _nir_image_deref_atomic_fmax_indices){0, __VA_ARGS__}) 12042#endif 12043#define nir_image_deref_atomic_fmax nir_build_image_deref_atomic_fmax 12044#ifdef __cplusplus 12045#define nir_build_image_deref_atomic_fmin(build, bit_size, src0, src1, src2, src3, ...) \ 12046_nir_build_image_deref_atomic_fmin(build, bit_size, src0, src1, src2, src3, _nir_image_deref_atomic_fmin_indices{0, __VA_ARGS__}) 12047#else 12048#define nir_build_image_deref_atomic_fmin(build, bit_size, src0, src1, src2, src3, ...) \ 12049_nir_build_image_deref_atomic_fmin(build, bit_size, src0, src1, src2, src3, (struct _nir_image_deref_atomic_fmin_indices){0, __VA_ARGS__}) 12050#endif 12051#define nir_image_deref_atomic_fmin nir_build_image_deref_atomic_fmin 12052#ifdef __cplusplus 12053#define nir_build_image_deref_atomic_imax(build, bit_size, src0, src1, src2, src3, ...) \ 12054_nir_build_image_deref_atomic_imax(build, bit_size, src0, src1, src2, src3, _nir_image_deref_atomic_imax_indices{0, __VA_ARGS__}) 12055#else 12056#define nir_build_image_deref_atomic_imax(build, bit_size, src0, src1, src2, src3, ...) \ 12057_nir_build_image_deref_atomic_imax(build, bit_size, src0, src1, src2, src3, (struct _nir_image_deref_atomic_imax_indices){0, __VA_ARGS__}) 12058#endif 12059#define nir_image_deref_atomic_imax nir_build_image_deref_atomic_imax 12060#ifdef __cplusplus 12061#define nir_build_image_deref_atomic_imin(build, bit_size, src0, src1, src2, src3, ...) \ 12062_nir_build_image_deref_atomic_imin(build, bit_size, src0, src1, src2, src3, _nir_image_deref_atomic_imin_indices{0, __VA_ARGS__}) 12063#else 12064#define nir_build_image_deref_atomic_imin(build, bit_size, src0, src1, src2, src3, ...) \ 12065_nir_build_image_deref_atomic_imin(build, bit_size, src0, src1, src2, src3, (struct _nir_image_deref_atomic_imin_indices){0, __VA_ARGS__}) 12066#endif 12067#define nir_image_deref_atomic_imin nir_build_image_deref_atomic_imin 12068#ifdef __cplusplus 12069#define nir_build_image_deref_atomic_inc_wrap(build, bit_size, src0, src1, src2, src3, ...) \ 12070_nir_build_image_deref_atomic_inc_wrap(build, bit_size, src0, src1, src2, src3, _nir_image_deref_atomic_inc_wrap_indices{0, __VA_ARGS__}) 12071#else 12072#define nir_build_image_deref_atomic_inc_wrap(build, bit_size, src0, src1, src2, src3, ...) \ 12073_nir_build_image_deref_atomic_inc_wrap(build, bit_size, src0, src1, src2, src3, (struct _nir_image_deref_atomic_inc_wrap_indices){0, __VA_ARGS__}) 12074#endif 12075#define nir_image_deref_atomic_inc_wrap nir_build_image_deref_atomic_inc_wrap 12076#ifdef __cplusplus 12077#define nir_build_image_deref_atomic_or(build, bit_size, src0, src1, src2, src3, ...) \ 12078_nir_build_image_deref_atomic_or(build, bit_size, src0, src1, src2, src3, _nir_image_deref_atomic_or_indices{0, __VA_ARGS__}) 12079#else 12080#define nir_build_image_deref_atomic_or(build, bit_size, src0, src1, src2, src3, ...) \ 12081_nir_build_image_deref_atomic_or(build, bit_size, src0, src1, src2, src3, (struct _nir_image_deref_atomic_or_indices){0, __VA_ARGS__}) 12082#endif 12083#define nir_image_deref_atomic_or nir_build_image_deref_atomic_or 12084#ifdef __cplusplus 12085#define nir_build_image_deref_atomic_umax(build, bit_size, src0, src1, src2, src3, ...) \ 12086_nir_build_image_deref_atomic_umax(build, bit_size, src0, src1, src2, src3, _nir_image_deref_atomic_umax_indices{0, __VA_ARGS__}) 12087#else 12088#define nir_build_image_deref_atomic_umax(build, bit_size, src0, src1, src2, src3, ...) \ 12089_nir_build_image_deref_atomic_umax(build, bit_size, src0, src1, src2, src3, (struct _nir_image_deref_atomic_umax_indices){0, __VA_ARGS__}) 12090#endif 12091#define nir_image_deref_atomic_umax nir_build_image_deref_atomic_umax 12092#ifdef __cplusplus 12093#define nir_build_image_deref_atomic_umin(build, bit_size, src0, src1, src2, src3, ...) \ 12094_nir_build_image_deref_atomic_umin(build, bit_size, src0, src1, src2, src3, _nir_image_deref_atomic_umin_indices{0, __VA_ARGS__}) 12095#else 12096#define nir_build_image_deref_atomic_umin(build, bit_size, src0, src1, src2, src3, ...) \ 12097_nir_build_image_deref_atomic_umin(build, bit_size, src0, src1, src2, src3, (struct _nir_image_deref_atomic_umin_indices){0, __VA_ARGS__}) 12098#endif 12099#define nir_image_deref_atomic_umin nir_build_image_deref_atomic_umin 12100#ifdef __cplusplus 12101#define nir_build_image_deref_atomic_xor(build, bit_size, src0, src1, src2, src3, ...) \ 12102_nir_build_image_deref_atomic_xor(build, bit_size, src0, src1, src2, src3, _nir_image_deref_atomic_xor_indices{0, __VA_ARGS__}) 12103#else 12104#define nir_build_image_deref_atomic_xor(build, bit_size, src0, src1, src2, src3, ...) \ 12105_nir_build_image_deref_atomic_xor(build, bit_size, src0, src1, src2, src3, (struct _nir_image_deref_atomic_xor_indices){0, __VA_ARGS__}) 12106#endif 12107#define nir_image_deref_atomic_xor nir_build_image_deref_atomic_xor 12108#ifdef __cplusplus 12109#define nir_build_image_deref_format(build, bit_size, src0, ...) \ 12110_nir_build_image_deref_format(build, bit_size, src0, _nir_image_deref_format_indices{0, __VA_ARGS__}) 12111#else 12112#define nir_build_image_deref_format(build, bit_size, src0, ...) \ 12113_nir_build_image_deref_format(build, bit_size, src0, (struct _nir_image_deref_format_indices){0, __VA_ARGS__}) 12114#endif 12115#define nir_image_deref_format nir_build_image_deref_format 12116#ifdef __cplusplus 12117#define nir_build_image_deref_load(build, num_components, bit_size, src0, src1, src2, src3, ...) \ 12118_nir_build_image_deref_load(build, num_components, bit_size, src0, src1, src2, src3, _nir_image_deref_load_indices{0, __VA_ARGS__}) 12119#else 12120#define nir_build_image_deref_load(build, num_components, bit_size, src0, src1, src2, src3, ...) \ 12121_nir_build_image_deref_load(build, num_components, bit_size, src0, src1, src2, src3, (struct _nir_image_deref_load_indices){0, __VA_ARGS__}) 12122#endif 12123#define nir_image_deref_load nir_build_image_deref_load 12124#ifdef __cplusplus 12125#define nir_build_image_deref_load_param_intel(build, num_components, bit_size, src0, ...) \ 12126_nir_build_image_deref_load_param_intel(build, num_components, bit_size, src0, _nir_image_deref_load_param_intel_indices{0, __VA_ARGS__}) 12127#else 12128#define nir_build_image_deref_load_param_intel(build, num_components, bit_size, src0, ...) \ 12129_nir_build_image_deref_load_param_intel(build, num_components, bit_size, src0, (struct _nir_image_deref_load_param_intel_indices){0, __VA_ARGS__}) 12130#endif 12131#define nir_image_deref_load_param_intel nir_build_image_deref_load_param_intel 12132#ifdef __cplusplus 12133#define nir_build_image_deref_load_raw_intel(build, num_components, bit_size, src0, src1, ...) \ 12134_nir_build_image_deref_load_raw_intel(build, num_components, bit_size, src0, src1, _nir_image_deref_load_raw_intel_indices{0, __VA_ARGS__}) 12135#else 12136#define nir_build_image_deref_load_raw_intel(build, num_components, bit_size, src0, src1, ...) \ 12137_nir_build_image_deref_load_raw_intel(build, num_components, bit_size, src0, src1, (struct _nir_image_deref_load_raw_intel_indices){0, __VA_ARGS__}) 12138#endif 12139#define nir_image_deref_load_raw_intel nir_build_image_deref_load_raw_intel 12140#ifdef __cplusplus 12141#define nir_build_image_deref_order(build, bit_size, src0, ...) \ 12142_nir_build_image_deref_order(build, bit_size, src0, _nir_image_deref_order_indices{0, __VA_ARGS__}) 12143#else 12144#define nir_build_image_deref_order(build, bit_size, src0, ...) \ 12145_nir_build_image_deref_order(build, bit_size, src0, (struct _nir_image_deref_order_indices){0, __VA_ARGS__}) 12146#endif 12147#define nir_image_deref_order nir_build_image_deref_order 12148#ifdef __cplusplus 12149#define nir_build_image_deref_samples(build, bit_size, src0, ...) \ 12150_nir_build_image_deref_samples(build, bit_size, src0, _nir_image_deref_samples_indices{0, __VA_ARGS__}) 12151#else 12152#define nir_build_image_deref_samples(build, bit_size, src0, ...) \ 12153_nir_build_image_deref_samples(build, bit_size, src0, (struct _nir_image_deref_samples_indices){0, __VA_ARGS__}) 12154#endif 12155#define nir_image_deref_samples nir_build_image_deref_samples 12156#ifdef __cplusplus 12157#define nir_build_image_deref_size(build, num_components, bit_size, src0, src1, ...) \ 12158_nir_build_image_deref_size(build, num_components, bit_size, src0, src1, _nir_image_deref_size_indices{0, __VA_ARGS__}) 12159#else 12160#define nir_build_image_deref_size(build, num_components, bit_size, src0, src1, ...) \ 12161_nir_build_image_deref_size(build, num_components, bit_size, src0, src1, (struct _nir_image_deref_size_indices){0, __VA_ARGS__}) 12162#endif 12163#define nir_image_deref_size nir_build_image_deref_size 12164#ifdef __cplusplus 12165#define nir_build_image_deref_sparse_load(build, num_components, bit_size, src0, src1, src2, src3, ...) \ 12166_nir_build_image_deref_sparse_load(build, num_components, bit_size, src0, src1, src2, src3, _nir_image_deref_sparse_load_indices{0, __VA_ARGS__}) 12167#else 12168#define nir_build_image_deref_sparse_load(build, num_components, bit_size, src0, src1, src2, src3, ...) \ 12169_nir_build_image_deref_sparse_load(build, num_components, bit_size, src0, src1, src2, src3, (struct _nir_image_deref_sparse_load_indices){0, __VA_ARGS__}) 12170#endif 12171#define nir_image_deref_sparse_load nir_build_image_deref_sparse_load 12172#ifdef __cplusplus 12173#define nir_build_image_deref_store(build, src0, src1, src2, src3, src4, ...) \ 12174_nir_build_image_deref_store(build, src0, src1, src2, src3, src4, _nir_image_deref_store_indices{0, __VA_ARGS__}) 12175#else 12176#define nir_build_image_deref_store(build, src0, src1, src2, src3, src4, ...) \ 12177_nir_build_image_deref_store(build, src0, src1, src2, src3, src4, (struct _nir_image_deref_store_indices){0, __VA_ARGS__}) 12178#endif 12179#define nir_image_deref_store nir_build_image_deref_store 12180#ifdef __cplusplus 12181#define nir_build_image_deref_store_raw_intel(build, src0, src1, src2, ...) \ 12182_nir_build_image_deref_store_raw_intel(build, src0, src1, src2, _nir_image_deref_store_raw_intel_indices{0, __VA_ARGS__}) 12183#else 12184#define nir_build_image_deref_store_raw_intel(build, src0, src1, src2, ...) \ 12185_nir_build_image_deref_store_raw_intel(build, src0, src1, src2, (struct _nir_image_deref_store_raw_intel_indices){0, __VA_ARGS__}) 12186#endif 12187#define nir_image_deref_store_raw_intel nir_build_image_deref_store_raw_intel 12188#ifdef __cplusplus 12189#define nir_build_image_format(build, bit_size, src0, ...) \ 12190_nir_build_image_format(build, bit_size, src0, _nir_image_format_indices{0, __VA_ARGS__}) 12191#else 12192#define nir_build_image_format(build, bit_size, src0, ...) \ 12193_nir_build_image_format(build, bit_size, src0, (struct _nir_image_format_indices){0, __VA_ARGS__}) 12194#endif 12195#define nir_image_format nir_build_image_format 12196#ifdef __cplusplus 12197#define nir_build_image_load(build, num_components, bit_size, src0, src1, src2, src3, ...) \ 12198_nir_build_image_load(build, num_components, bit_size, src0, src1, src2, src3, _nir_image_load_indices{0, __VA_ARGS__}) 12199#else 12200#define nir_build_image_load(build, num_components, bit_size, src0, src1, src2, src3, ...) \ 12201_nir_build_image_load(build, num_components, bit_size, src0, src1, src2, src3, (struct _nir_image_load_indices){0, __VA_ARGS__}) 12202#endif 12203#define nir_image_load nir_build_image_load 12204#ifdef __cplusplus 12205#define nir_build_image_load_raw_intel(build, num_components, bit_size, src0, src1, ...) \ 12206_nir_build_image_load_raw_intel(build, num_components, bit_size, src0, src1, _nir_image_load_raw_intel_indices{0, __VA_ARGS__}) 12207#else 12208#define nir_build_image_load_raw_intel(build, num_components, bit_size, src0, src1, ...) \ 12209_nir_build_image_load_raw_intel(build, num_components, bit_size, src0, src1, (struct _nir_image_load_raw_intel_indices){0, __VA_ARGS__}) 12210#endif 12211#define nir_image_load_raw_intel nir_build_image_load_raw_intel 12212#ifdef __cplusplus 12213#define nir_build_image_order(build, bit_size, src0, ...) \ 12214_nir_build_image_order(build, bit_size, src0, _nir_image_order_indices{0, __VA_ARGS__}) 12215#else 12216#define nir_build_image_order(build, bit_size, src0, ...) \ 12217_nir_build_image_order(build, bit_size, src0, (struct _nir_image_order_indices){0, __VA_ARGS__}) 12218#endif 12219#define nir_image_order nir_build_image_order 12220#ifdef __cplusplus 12221#define nir_build_image_samples(build, bit_size, src0, ...) \ 12222_nir_build_image_samples(build, bit_size, src0, _nir_image_samples_indices{0, __VA_ARGS__}) 12223#else 12224#define nir_build_image_samples(build, bit_size, src0, ...) \ 12225_nir_build_image_samples(build, bit_size, src0, (struct _nir_image_samples_indices){0, __VA_ARGS__}) 12226#endif 12227#define nir_image_samples nir_build_image_samples 12228#ifdef __cplusplus 12229#define nir_build_image_size(build, num_components, bit_size, src0, src1, ...) \ 12230_nir_build_image_size(build, num_components, bit_size, src0, src1, _nir_image_size_indices{0, __VA_ARGS__}) 12231#else 12232#define nir_build_image_size(build, num_components, bit_size, src0, src1, ...) \ 12233_nir_build_image_size(build, num_components, bit_size, src0, src1, (struct _nir_image_size_indices){0, __VA_ARGS__}) 12234#endif 12235#define nir_image_size nir_build_image_size 12236#ifdef __cplusplus 12237#define nir_build_image_sparse_load(build, num_components, bit_size, src0, src1, src2, src3, ...) \ 12238_nir_build_image_sparse_load(build, num_components, bit_size, src0, src1, src2, src3, _nir_image_sparse_load_indices{0, __VA_ARGS__}) 12239#else 12240#define nir_build_image_sparse_load(build, num_components, bit_size, src0, src1, src2, src3, ...) \ 12241_nir_build_image_sparse_load(build, num_components, bit_size, src0, src1, src2, src3, (struct _nir_image_sparse_load_indices){0, __VA_ARGS__}) 12242#endif 12243#define nir_image_sparse_load nir_build_image_sparse_load 12244#ifdef __cplusplus 12245#define nir_build_image_store(build, src0, src1, src2, src3, src4, ...) \ 12246_nir_build_image_store(build, src0, src1, src2, src3, src4, _nir_image_store_indices{0, __VA_ARGS__}) 12247#else 12248#define nir_build_image_store(build, src0, src1, src2, src3, src4, ...) \ 12249_nir_build_image_store(build, src0, src1, src2, src3, src4, (struct _nir_image_store_indices){0, __VA_ARGS__}) 12250#endif 12251#define nir_image_store nir_build_image_store 12252#ifdef __cplusplus 12253#define nir_build_image_store_raw_intel(build, src0, src1, src2, ...) \ 12254_nir_build_image_store_raw_intel(build, src0, src1, src2, _nir_image_store_raw_intel_indices{0, __VA_ARGS__}) 12255#else 12256#define nir_build_image_store_raw_intel(build, src0, src1, src2, ...) \ 12257_nir_build_image_store_raw_intel(build, src0, src1, src2, (struct _nir_image_store_raw_intel_indices){0, __VA_ARGS__}) 12258#endif 12259#define nir_image_store_raw_intel nir_build_image_store_raw_intel 12260#ifdef __cplusplus 12261#define nir_build_inclusive_scan(build, src0, ...) \ 12262_nir_build_inclusive_scan(build, src0, _nir_inclusive_scan_indices{0, __VA_ARGS__}) 12263#else 12264#define nir_build_inclusive_scan(build, src0, ...) \ 12265_nir_build_inclusive_scan(build, src0, (struct _nir_inclusive_scan_indices){0, __VA_ARGS__}) 12266#endif 12267#define nir_inclusive_scan nir_build_inclusive_scan 12268#define nir_build_interp_deref_at_centroid _nir_build_interp_deref_at_centroid 12269#define nir_interp_deref_at_centroid nir_build_interp_deref_at_centroid 12270#define nir_build_interp_deref_at_offset _nir_build_interp_deref_at_offset 12271#define nir_interp_deref_at_offset nir_build_interp_deref_at_offset 12272#define nir_build_interp_deref_at_sample _nir_build_interp_deref_at_sample 12273#define nir_interp_deref_at_sample nir_build_interp_deref_at_sample 12274#define nir_build_interp_deref_at_vertex _nir_build_interp_deref_at_vertex 12275#define nir_interp_deref_at_vertex nir_build_interp_deref_at_vertex 12276#define nir_build_is_helper_invocation _nir_build_is_helper_invocation 12277#define nir_is_helper_invocation nir_build_is_helper_invocation 12278#define nir_build_is_sparse_texels_resident _nir_build_is_sparse_texels_resident 12279#define nir_is_sparse_texels_resident nir_build_is_sparse_texels_resident 12280#define nir_build_lane_permute_16_amd _nir_build_lane_permute_16_amd 12281#define nir_lane_permute_16_amd nir_build_lane_permute_16_amd 12282#define nir_build_last_invocation _nir_build_last_invocation 12283#define nir_last_invocation nir_build_last_invocation 12284#define nir_build_load_aa_line_width _nir_build_load_aa_line_width 12285#define nir_load_aa_line_width nir_build_load_aa_line_width 12286#define nir_build_load_back_face_agx _nir_build_load_back_face_agx 12287#define nir_load_back_face_agx nir_build_load_back_face_agx 12288#ifdef __cplusplus 12289#define nir_build_load_barycentric_at_offset(build, bit_size, src0, ...) \ 12290_nir_build_load_barycentric_at_offset(build, bit_size, src0, _nir_load_barycentric_at_offset_indices{0, __VA_ARGS__}) 12291#else 12292#define nir_build_load_barycentric_at_offset(build, bit_size, src0, ...) \ 12293_nir_build_load_barycentric_at_offset(build, bit_size, src0, (struct _nir_load_barycentric_at_offset_indices){0, __VA_ARGS__}) 12294#endif 12295#define nir_load_barycentric_at_offset nir_build_load_barycentric_at_offset 12296#ifdef __cplusplus 12297#define nir_build_load_barycentric_at_sample(build, bit_size, src0, ...) \ 12298_nir_build_load_barycentric_at_sample(build, bit_size, src0, _nir_load_barycentric_at_sample_indices{0, __VA_ARGS__}) 12299#else 12300#define nir_build_load_barycentric_at_sample(build, bit_size, src0, ...) \ 12301_nir_build_load_barycentric_at_sample(build, bit_size, src0, (struct _nir_load_barycentric_at_sample_indices){0, __VA_ARGS__}) 12302#endif 12303#define nir_load_barycentric_at_sample nir_build_load_barycentric_at_sample 12304#ifdef __cplusplus 12305#define nir_build_load_barycentric_centroid(build, bit_size, ...) \ 12306_nir_build_load_barycentric_centroid(build, bit_size, _nir_load_barycentric_centroid_indices{0, __VA_ARGS__}) 12307#else 12308#define nir_build_load_barycentric_centroid(build, bit_size, ...) \ 12309_nir_build_load_barycentric_centroid(build, bit_size, (struct _nir_load_barycentric_centroid_indices){0, __VA_ARGS__}) 12310#endif 12311#define nir_load_barycentric_centroid nir_build_load_barycentric_centroid 12312#ifdef __cplusplus 12313#define nir_build_load_barycentric_model(build, bit_size, ...) \ 12314_nir_build_load_barycentric_model(build, bit_size, _nir_load_barycentric_model_indices{0, __VA_ARGS__}) 12315#else 12316#define nir_build_load_barycentric_model(build, bit_size, ...) \ 12317_nir_build_load_barycentric_model(build, bit_size, (struct _nir_load_barycentric_model_indices){0, __VA_ARGS__}) 12318#endif 12319#define nir_load_barycentric_model nir_build_load_barycentric_model 12320#ifdef __cplusplus 12321#define nir_build_load_barycentric_pixel(build, bit_size, ...) \ 12322_nir_build_load_barycentric_pixel(build, bit_size, _nir_load_barycentric_pixel_indices{0, __VA_ARGS__}) 12323#else 12324#define nir_build_load_barycentric_pixel(build, bit_size, ...) \ 12325_nir_build_load_barycentric_pixel(build, bit_size, (struct _nir_load_barycentric_pixel_indices){0, __VA_ARGS__}) 12326#endif 12327#define nir_load_barycentric_pixel nir_build_load_barycentric_pixel 12328#ifdef __cplusplus 12329#define nir_build_load_barycentric_sample(build, bit_size, ...) \ 12330_nir_build_load_barycentric_sample(build, bit_size, _nir_load_barycentric_sample_indices{0, __VA_ARGS__}) 12331#else 12332#define nir_build_load_barycentric_sample(build, bit_size, ...) \ 12333_nir_build_load_barycentric_sample(build, bit_size, (struct _nir_load_barycentric_sample_indices){0, __VA_ARGS__}) 12334#endif 12335#define nir_load_barycentric_sample nir_build_load_barycentric_sample 12336#define nir_build_load_base_global_invocation_id _nir_build_load_base_global_invocation_id 12337#define nir_load_base_global_invocation_id nir_build_load_base_global_invocation_id 12338#define nir_build_load_base_instance _nir_build_load_base_instance 12339#define nir_load_base_instance nir_build_load_base_instance 12340#define nir_build_load_base_vertex _nir_build_load_base_vertex 12341#define nir_load_base_vertex nir_build_load_base_vertex 12342#define nir_build_load_base_workgroup_id _nir_build_load_base_workgroup_id 12343#define nir_load_base_workgroup_id nir_build_load_base_workgroup_id 12344#define nir_build_load_blend_const_color_a_float _nir_build_load_blend_const_color_a_float 12345#define nir_load_blend_const_color_a_float nir_build_load_blend_const_color_a_float 12346#define nir_build_load_blend_const_color_aaaa8888_unorm _nir_build_load_blend_const_color_aaaa8888_unorm 12347#define nir_load_blend_const_color_aaaa8888_unorm nir_build_load_blend_const_color_aaaa8888_unorm 12348#define nir_build_load_blend_const_color_b_float _nir_build_load_blend_const_color_b_float 12349#define nir_load_blend_const_color_b_float nir_build_load_blend_const_color_b_float 12350#define nir_build_load_blend_const_color_g_float _nir_build_load_blend_const_color_g_float 12351#define nir_load_blend_const_color_g_float nir_build_load_blend_const_color_g_float 12352#define nir_build_load_blend_const_color_r_float _nir_build_load_blend_const_color_r_float 12353#define nir_load_blend_const_color_r_float nir_build_load_blend_const_color_r_float 12354#define nir_build_load_blend_const_color_rgba _nir_build_load_blend_const_color_rgba 12355#define nir_load_blend_const_color_rgba nir_build_load_blend_const_color_rgba 12356#define nir_build_load_blend_const_color_rgba8888_unorm _nir_build_load_blend_const_color_rgba8888_unorm 12357#define nir_load_blend_const_color_rgba8888_unorm nir_build_load_blend_const_color_rgba8888_unorm 12358#define nir_build_load_btd_dss_id_intel _nir_build_load_btd_dss_id_intel 12359#define nir_load_btd_dss_id_intel nir_build_load_btd_dss_id_intel 12360#define nir_build_load_btd_global_arg_addr_intel _nir_build_load_btd_global_arg_addr_intel 12361#define nir_load_btd_global_arg_addr_intel nir_build_load_btd_global_arg_addr_intel 12362#define nir_build_load_btd_local_arg_addr_intel _nir_build_load_btd_local_arg_addr_intel 12363#define nir_load_btd_local_arg_addr_intel nir_build_load_btd_local_arg_addr_intel 12364#define nir_build_load_btd_resume_sbt_addr_intel _nir_build_load_btd_resume_sbt_addr_intel 12365#define nir_load_btd_resume_sbt_addr_intel nir_build_load_btd_resume_sbt_addr_intel 12366#define nir_build_load_btd_stack_id_intel _nir_build_load_btd_stack_id_intel 12367#define nir_load_btd_stack_id_intel nir_build_load_btd_stack_id_intel 12368#ifdef __cplusplus 12369#define nir_build_load_buffer_amd(build, num_components, bit_size, src0, src1, src2, ...) \ 12370_nir_build_load_buffer_amd(build, num_components, bit_size, src0, src1, src2, _nir_load_buffer_amd_indices{0, __VA_ARGS__}) 12371#else 12372#define nir_build_load_buffer_amd(build, num_components, bit_size, src0, src1, src2, ...) \ 12373_nir_build_load_buffer_amd(build, num_components, bit_size, src0, src1, src2, (struct _nir_load_buffer_amd_indices){0, __VA_ARGS__}) 12374#endif 12375#define nir_load_buffer_amd nir_build_load_buffer_amd 12376#define nir_build_load_callable_sbt_addr_intel _nir_build_load_callable_sbt_addr_intel 12377#define nir_load_callable_sbt_addr_intel nir_build_load_callable_sbt_addr_intel 12378#define nir_build_load_callable_sbt_stride_intel _nir_build_load_callable_sbt_stride_intel 12379#define nir_load_callable_sbt_stride_intel nir_build_load_callable_sbt_stride_intel 12380#define nir_build_load_color0 _nir_build_load_color0 12381#define nir_load_color0 nir_build_load_color0 12382#define nir_build_load_color1 _nir_build_load_color1 12383#define nir_load_color1 nir_build_load_color1 12384#ifdef __cplusplus 12385#define nir_build_load_constant(build, num_components, bit_size, src0, ...) \ 12386_nir_build_load_constant(build, num_components, bit_size, src0, _nir_load_constant_indices{0, __VA_ARGS__}) 12387#else 12388#define nir_build_load_constant(build, num_components, bit_size, src0, ...) \ 12389_nir_build_load_constant(build, num_components, bit_size, src0, (struct _nir_load_constant_indices){0, __VA_ARGS__}) 12390#endif 12391#define nir_load_constant nir_build_load_constant 12392#define nir_build_load_constant_base_ptr _nir_build_load_constant_base_ptr 12393#define nir_load_constant_base_ptr nir_build_load_constant_base_ptr 12394#define nir_build_load_cull_any_enabled_amd _nir_build_load_cull_any_enabled_amd 12395#define nir_load_cull_any_enabled_amd nir_build_load_cull_any_enabled_amd 12396#define nir_build_load_cull_back_face_enabled_amd _nir_build_load_cull_back_face_enabled_amd 12397#define nir_load_cull_back_face_enabled_amd nir_build_load_cull_back_face_enabled_amd 12398#define nir_build_load_cull_ccw_amd _nir_build_load_cull_ccw_amd 12399#define nir_load_cull_ccw_amd nir_build_load_cull_ccw_amd 12400#define nir_build_load_cull_front_face_enabled_amd _nir_build_load_cull_front_face_enabled_amd 12401#define nir_load_cull_front_face_enabled_amd nir_build_load_cull_front_face_enabled_amd 12402#define nir_build_load_cull_small_prim_precision_amd _nir_build_load_cull_small_prim_precision_amd 12403#define nir_load_cull_small_prim_precision_amd nir_build_load_cull_small_prim_precision_amd 12404#define nir_build_load_cull_small_primitives_enabled_amd _nir_build_load_cull_small_primitives_enabled_amd 12405#define nir_load_cull_small_primitives_enabled_amd nir_build_load_cull_small_primitives_enabled_amd 12406#ifdef __cplusplus 12407#define nir_build_load_deref(build, num_components, bit_size, src0, ...) \ 12408_nir_build_load_deref(build, num_components, bit_size, src0, _nir_load_deref_indices{0, __VA_ARGS__}) 12409#else 12410#define nir_build_load_deref(build, num_components, bit_size, src0, ...) \ 12411_nir_build_load_deref(build, num_components, bit_size, src0, (struct _nir_load_deref_indices){0, __VA_ARGS__}) 12412#endif 12413#define nir_load_deref nir_build_load_deref 12414#ifdef __cplusplus 12415#define nir_build_load_deref_block_intel(build, num_components, bit_size, src0, ...) \ 12416_nir_build_load_deref_block_intel(build, num_components, bit_size, src0, _nir_load_deref_block_intel_indices{0, __VA_ARGS__}) 12417#else 12418#define nir_build_load_deref_block_intel(build, num_components, bit_size, src0, ...) \ 12419_nir_build_load_deref_block_intel(build, num_components, bit_size, src0, (struct _nir_load_deref_block_intel_indices){0, __VA_ARGS__}) 12420#endif 12421#define nir_load_deref_block_intel nir_build_load_deref_block_intel 12422#define nir_build_load_desc_set_address_intel _nir_build_load_desc_set_address_intel 12423#define nir_load_desc_set_address_intel nir_build_load_desc_set_address_intel 12424#define nir_build_load_draw_id _nir_build_load_draw_id 12425#define nir_load_draw_id nir_build_load_draw_id 12426#define nir_build_load_fb_layers_v3d _nir_build_load_fb_layers_v3d 12427#define nir_load_fb_layers_v3d nir_build_load_fb_layers_v3d 12428#define nir_build_load_first_vertex _nir_build_load_first_vertex 12429#define nir_load_first_vertex nir_build_load_first_vertex 12430#define nir_build_load_frag_coord _nir_build_load_frag_coord 12431#define nir_load_frag_coord nir_build_load_frag_coord 12432#define nir_build_load_frag_shading_rate _nir_build_load_frag_shading_rate 12433#define nir_load_frag_shading_rate nir_build_load_frag_shading_rate 12434#define nir_build_load_front_face _nir_build_load_front_face 12435#define nir_load_front_face nir_build_load_front_face 12436#ifdef __cplusplus 12437#define nir_build_load_fs_input_interp_deltas(build, bit_size, src0, ...) \ 12438_nir_build_load_fs_input_interp_deltas(build, bit_size, src0, _nir_load_fs_input_interp_deltas_indices{0, __VA_ARGS__}) 12439#else 12440#define nir_build_load_fs_input_interp_deltas(build, bit_size, src0, ...) \ 12441_nir_build_load_fs_input_interp_deltas(build, bit_size, src0, (struct _nir_load_fs_input_interp_deltas_indices){0, __VA_ARGS__}) 12442#endif 12443#define nir_load_fs_input_interp_deltas nir_build_load_fs_input_interp_deltas 12444#ifdef __cplusplus 12445#define nir_build_load_global(build, num_components, bit_size, src0, ...) \ 12446_nir_build_load_global(build, num_components, bit_size, src0, _nir_load_global_indices{0, __VA_ARGS__}) 12447#else 12448#define nir_build_load_global(build, num_components, bit_size, src0, ...) \ 12449_nir_build_load_global(build, num_components, bit_size, src0, (struct _nir_load_global_indices){0, __VA_ARGS__}) 12450#endif 12451#define nir_load_global nir_build_load_global 12452#ifdef __cplusplus 12453#define nir_build_load_global_block_intel(build, num_components, bit_size, src0, ...) \ 12454_nir_build_load_global_block_intel(build, num_components, bit_size, src0, _nir_load_global_block_intel_indices{0, __VA_ARGS__}) 12455#else 12456#define nir_build_load_global_block_intel(build, num_components, bit_size, src0, ...) \ 12457_nir_build_load_global_block_intel(build, num_components, bit_size, src0, (struct _nir_load_global_block_intel_indices){0, __VA_ARGS__}) 12458#endif 12459#define nir_load_global_block_intel nir_build_load_global_block_intel 12460#ifdef __cplusplus 12461#define nir_build_load_global_const_block_intel(build, num_components, src0, src1, ...) \ 12462_nir_build_load_global_const_block_intel(build, num_components, src0, src1, _nir_load_global_const_block_intel_indices{0, __VA_ARGS__}) 12463#else 12464#define nir_build_load_global_const_block_intel(build, num_components, src0, src1, ...) \ 12465_nir_build_load_global_const_block_intel(build, num_components, src0, src1, (struct _nir_load_global_const_block_intel_indices){0, __VA_ARGS__}) 12466#endif 12467#define nir_load_global_const_block_intel nir_build_load_global_const_block_intel 12468#ifdef __cplusplus 12469#define nir_build_load_global_constant(build, num_components, bit_size, src0, ...) \ 12470_nir_build_load_global_constant(build, num_components, bit_size, src0, _nir_load_global_constant_indices{0, __VA_ARGS__}) 12471#else 12472#define nir_build_load_global_constant(build, num_components, bit_size, src0, ...) \ 12473_nir_build_load_global_constant(build, num_components, bit_size, src0, (struct _nir_load_global_constant_indices){0, __VA_ARGS__}) 12474#endif 12475#define nir_load_global_constant nir_build_load_global_constant 12476#ifdef __cplusplus 12477#define nir_build_load_global_constant_bounded(build, num_components, bit_size, src0, src1, src2, ...) \ 12478_nir_build_load_global_constant_bounded(build, num_components, bit_size, src0, src1, src2, _nir_load_global_constant_bounded_indices{0, __VA_ARGS__}) 12479#else 12480#define nir_build_load_global_constant_bounded(build, num_components, bit_size, src0, src1, src2, ...) \ 12481_nir_build_load_global_constant_bounded(build, num_components, bit_size, src0, src1, src2, (struct _nir_load_global_constant_bounded_indices){0, __VA_ARGS__}) 12482#endif 12483#define nir_load_global_constant_bounded nir_build_load_global_constant_bounded 12484#ifdef __cplusplus 12485#define nir_build_load_global_constant_offset(build, num_components, bit_size, src0, src1, ...) \ 12486_nir_build_load_global_constant_offset(build, num_components, bit_size, src0, src1, _nir_load_global_constant_offset_indices{0, __VA_ARGS__}) 12487#else 12488#define nir_build_load_global_constant_offset(build, num_components, bit_size, src0, src1, ...) \ 12489_nir_build_load_global_constant_offset(build, num_components, bit_size, src0, src1, (struct _nir_load_global_constant_offset_indices){0, __VA_ARGS__}) 12490#endif 12491#define nir_load_global_constant_offset nir_build_load_global_constant_offset 12492#define nir_build_load_global_invocation_id _nir_build_load_global_invocation_id 12493#define nir_load_global_invocation_id nir_build_load_global_invocation_id 12494#define nir_build_load_global_invocation_id_zero_base _nir_build_load_global_invocation_id_zero_base 12495#define nir_load_global_invocation_id_zero_base nir_build_load_global_invocation_id_zero_base 12496#define nir_build_load_global_invocation_index _nir_build_load_global_invocation_index 12497#define nir_load_global_invocation_index nir_build_load_global_invocation_index 12498#ifdef __cplusplus 12499#define nir_build_load_global_ir3(build, num_components, bit_size, src0, src1, ...) \ 12500_nir_build_load_global_ir3(build, num_components, bit_size, src0, src1, _nir_load_global_ir3_indices{0, __VA_ARGS__}) 12501#else 12502#define nir_build_load_global_ir3(build, num_components, bit_size, src0, src1, ...) \ 12503_nir_build_load_global_ir3(build, num_components, bit_size, src0, src1, (struct _nir_load_global_ir3_indices){0, __VA_ARGS__}) 12504#endif 12505#define nir_load_global_ir3 nir_build_load_global_ir3 12506#define nir_build_load_gs_header_ir3 _nir_build_load_gs_header_ir3 12507#define nir_load_gs_header_ir3 nir_build_load_gs_header_ir3 12508#ifdef __cplusplus 12509#define nir_build_load_gs_vertex_offset_amd(build, ...) \ 12510_nir_build_load_gs_vertex_offset_amd(build, _nir_load_gs_vertex_offset_amd_indices{0, __VA_ARGS__}) 12511#else 12512#define nir_build_load_gs_vertex_offset_amd(build, ...) \ 12513_nir_build_load_gs_vertex_offset_amd(build, (struct _nir_load_gs_vertex_offset_amd_indices){0, __VA_ARGS__}) 12514#endif 12515#define nir_load_gs_vertex_offset_amd nir_build_load_gs_vertex_offset_amd 12516#define nir_build_load_helper_invocation _nir_build_load_helper_invocation 12517#define nir_load_helper_invocation nir_build_load_helper_invocation 12518#define nir_build_load_hs_patch_stride_ir3 _nir_build_load_hs_patch_stride_ir3 12519#define nir_load_hs_patch_stride_ir3 nir_build_load_hs_patch_stride_ir3 12520#define nir_build_load_initial_edgeflags_amd _nir_build_load_initial_edgeflags_amd 12521#define nir_load_initial_edgeflags_amd nir_build_load_initial_edgeflags_amd 12522#ifdef __cplusplus 12523#define nir_build_load_input(build, num_components, bit_size, src0, ...) \ 12524_nir_build_load_input(build, num_components, bit_size, src0, _nir_load_input_indices{0, __VA_ARGS__}) 12525#else 12526#define nir_build_load_input(build, num_components, bit_size, src0, ...) \ 12527_nir_build_load_input(build, num_components, bit_size, src0, (struct _nir_load_input_indices){0, __VA_ARGS__}) 12528#endif 12529#define nir_load_input nir_build_load_input 12530#ifdef __cplusplus 12531#define nir_build_load_input_vertex(build, num_components, bit_size, src0, src1, ...) \ 12532_nir_build_load_input_vertex(build, num_components, bit_size, src0, src1, _nir_load_input_vertex_indices{0, __VA_ARGS__}) 12533#else 12534#define nir_build_load_input_vertex(build, num_components, bit_size, src0, src1, ...) \ 12535_nir_build_load_input_vertex(build, num_components, bit_size, src0, src1, (struct _nir_load_input_vertex_indices){0, __VA_ARGS__}) 12536#endif 12537#define nir_load_input_vertex nir_build_load_input_vertex 12538#define nir_build_load_instance_id _nir_build_load_instance_id 12539#define nir_load_instance_id nir_build_load_instance_id 12540#ifdef __cplusplus 12541#define nir_build_load_interpolated_input(build, num_components, bit_size, src0, src1, ...) \ 12542_nir_build_load_interpolated_input(build, num_components, bit_size, src0, src1, _nir_load_interpolated_input_indices{0, __VA_ARGS__}) 12543#else 12544#define nir_build_load_interpolated_input(build, num_components, bit_size, src0, src1, ...) \ 12545_nir_build_load_interpolated_input(build, num_components, bit_size, src0, src1, (struct _nir_load_interpolated_input_indices){0, __VA_ARGS__}) 12546#endif 12547#define nir_load_interpolated_input nir_build_load_interpolated_input 12548#define nir_build_load_intersection_opaque_amd _nir_build_load_intersection_opaque_amd 12549#define nir_load_intersection_opaque_amd nir_build_load_intersection_opaque_amd 12550#define nir_build_load_invocation_id _nir_build_load_invocation_id 12551#define nir_load_invocation_id nir_build_load_invocation_id 12552#define nir_build_load_is_indexed_draw _nir_build_load_is_indexed_draw 12553#define nir_load_is_indexed_draw nir_build_load_is_indexed_draw 12554#ifdef __cplusplus 12555#define nir_build_load_kernel_input(build, num_components, bit_size, src0, ...) \ 12556_nir_build_load_kernel_input(build, num_components, bit_size, src0, _nir_load_kernel_input_indices{0, __VA_ARGS__}) 12557#else 12558#define nir_build_load_kernel_input(build, num_components, bit_size, src0, ...) \ 12559_nir_build_load_kernel_input(build, num_components, bit_size, src0, (struct _nir_load_kernel_input_indices){0, __VA_ARGS__}) 12560#endif 12561#define nir_load_kernel_input nir_build_load_kernel_input 12562#define nir_build_load_layer_id _nir_build_load_layer_id 12563#define nir_load_layer_id nir_build_load_layer_id 12564#define nir_build_load_leaf_opaque_intel _nir_build_load_leaf_opaque_intel 12565#define nir_load_leaf_opaque_intel nir_build_load_leaf_opaque_intel 12566#define nir_build_load_leaf_procedural_intel _nir_build_load_leaf_procedural_intel 12567#define nir_load_leaf_procedural_intel nir_build_load_leaf_procedural_intel 12568#define nir_build_load_line_coord _nir_build_load_line_coord 12569#define nir_load_line_coord nir_build_load_line_coord 12570#define nir_build_load_line_width _nir_build_load_line_width 12571#define nir_load_line_width nir_build_load_line_width 12572#define nir_build_load_local_invocation_id _nir_build_load_local_invocation_id 12573#define nir_load_local_invocation_id nir_build_load_local_invocation_id 12574#define nir_build_load_local_invocation_index _nir_build_load_local_invocation_index 12575#define nir_load_local_invocation_index nir_build_load_local_invocation_index 12576#define nir_build_load_local_shared_r600 _nir_build_load_local_shared_r600 12577#define nir_load_local_shared_r600 nir_build_load_local_shared_r600 12578#define nir_build_load_num_subgroups _nir_build_load_num_subgroups 12579#define nir_load_num_subgroups nir_build_load_num_subgroups 12580#define nir_build_load_num_workgroups _nir_build_load_num_workgroups 12581#define nir_load_num_workgroups nir_build_load_num_workgroups 12582#ifdef __cplusplus 12583#define nir_build_load_output(build, num_components, bit_size, src0, ...) \ 12584_nir_build_load_output(build, num_components, bit_size, src0, _nir_load_output_indices{0, __VA_ARGS__}) 12585#else 12586#define nir_build_load_output(build, num_components, bit_size, src0, ...) \ 12587_nir_build_load_output(build, num_components, bit_size, src0, (struct _nir_load_output_indices){0, __VA_ARGS__}) 12588#endif 12589#define nir_load_output nir_build_load_output 12590#define nir_build_load_packed_passthrough_primitive_amd _nir_build_load_packed_passthrough_primitive_amd 12591#define nir_load_packed_passthrough_primitive_amd nir_build_load_packed_passthrough_primitive_amd 12592#ifdef __cplusplus 12593#define nir_build_load_param(build, num_components, bit_size, ...) \ 12594_nir_build_load_param(build, num_components, bit_size, _nir_load_param_indices{0, __VA_ARGS__}) 12595#else 12596#define nir_build_load_param(build, num_components, bit_size, ...) \ 12597_nir_build_load_param(build, num_components, bit_size, (struct _nir_load_param_indices){0, __VA_ARGS__}) 12598#endif 12599#define nir_load_param nir_build_load_param 12600#define nir_build_load_patch_vertices_in _nir_build_load_patch_vertices_in 12601#define nir_load_patch_vertices_in nir_build_load_patch_vertices_in 12602#ifdef __cplusplus 12603#define nir_build_load_per_primitive_output(build, num_components, bit_size, src0, src1, ...) \ 12604_nir_build_load_per_primitive_output(build, num_components, bit_size, src0, src1, _nir_load_per_primitive_output_indices{0, __VA_ARGS__}) 12605#else 12606#define nir_build_load_per_primitive_output(build, num_components, bit_size, src0, src1, ...) \ 12607_nir_build_load_per_primitive_output(build, num_components, bit_size, src0, src1, (struct _nir_load_per_primitive_output_indices){0, __VA_ARGS__}) 12608#endif 12609#define nir_load_per_primitive_output nir_build_load_per_primitive_output 12610#ifdef __cplusplus 12611#define nir_build_load_per_vertex_input(build, num_components, bit_size, src0, src1, ...) \ 12612_nir_build_load_per_vertex_input(build, num_components, bit_size, src0, src1, _nir_load_per_vertex_input_indices{0, __VA_ARGS__}) 12613#else 12614#define nir_build_load_per_vertex_input(build, num_components, bit_size, src0, src1, ...) \ 12615_nir_build_load_per_vertex_input(build, num_components, bit_size, src0, src1, (struct _nir_load_per_vertex_input_indices){0, __VA_ARGS__}) 12616#endif 12617#define nir_load_per_vertex_input nir_build_load_per_vertex_input 12618#ifdef __cplusplus 12619#define nir_build_load_per_vertex_output(build, num_components, bit_size, src0, src1, ...) \ 12620_nir_build_load_per_vertex_output(build, num_components, bit_size, src0, src1, _nir_load_per_vertex_output_indices{0, __VA_ARGS__}) 12621#else 12622#define nir_build_load_per_vertex_output(build, num_components, bit_size, src0, src1, ...) \ 12623_nir_build_load_per_vertex_output(build, num_components, bit_size, src0, src1, (struct _nir_load_per_vertex_output_indices){0, __VA_ARGS__}) 12624#endif 12625#define nir_load_per_vertex_output nir_build_load_per_vertex_output 12626#define nir_build_load_point_coord _nir_build_load_point_coord 12627#define nir_load_point_coord nir_build_load_point_coord 12628#define nir_build_load_primitive_id _nir_build_load_primitive_id 12629#define nir_load_primitive_id nir_build_load_primitive_id 12630#ifdef __cplusplus 12631#define nir_build_load_primitive_location_ir3(build, ...) \ 12632_nir_build_load_primitive_location_ir3(build, _nir_load_primitive_location_ir3_indices{0, __VA_ARGS__}) 12633#else 12634#define nir_build_load_primitive_location_ir3(build, ...) \ 12635_nir_build_load_primitive_location_ir3(build, (struct _nir_load_primitive_location_ir3_indices){0, __VA_ARGS__}) 12636#endif 12637#define nir_load_primitive_location_ir3 nir_build_load_primitive_location_ir3 12638#define nir_build_load_printf_buffer_address _nir_build_load_printf_buffer_address 12639#define nir_load_printf_buffer_address nir_build_load_printf_buffer_address 12640#define nir_build_load_ptr_dxil _nir_build_load_ptr_dxil 12641#define nir_load_ptr_dxil nir_build_load_ptr_dxil 12642#ifdef __cplusplus 12643#define nir_build_load_push_constant(build, num_components, bit_size, src0, ...) \ 12644_nir_build_load_push_constant(build, num_components, bit_size, src0, _nir_load_push_constant_indices{0, __VA_ARGS__}) 12645#else 12646#define nir_build_load_push_constant(build, num_components, bit_size, src0, ...) \ 12647_nir_build_load_push_constant(build, num_components, bit_size, src0, (struct _nir_load_push_constant_indices){0, __VA_ARGS__}) 12648#endif 12649#define nir_load_push_constant nir_build_load_push_constant 12650#ifdef __cplusplus 12651#define nir_build_load_raw_output_pan(build, num_components, bit_size, src0, ...) \ 12652_nir_build_load_raw_output_pan(build, num_components, bit_size, src0, _nir_load_raw_output_pan_indices{0, __VA_ARGS__}) 12653#else 12654#define nir_build_load_raw_output_pan(build, num_components, bit_size, src0, ...) \ 12655_nir_build_load_raw_output_pan(build, num_components, bit_size, src0, (struct _nir_load_raw_output_pan_indices){0, __VA_ARGS__}) 12656#endif 12657#define nir_load_raw_output_pan nir_build_load_raw_output_pan 12658#define nir_build_load_ray_base_mem_addr_intel _nir_build_load_ray_base_mem_addr_intel 12659#define nir_load_ray_base_mem_addr_intel nir_build_load_ray_base_mem_addr_intel 12660#define nir_build_load_ray_flags _nir_build_load_ray_flags 12661#define nir_load_ray_flags nir_build_load_ray_flags 12662#define nir_build_load_ray_geometry_index _nir_build_load_ray_geometry_index 12663#define nir_load_ray_geometry_index nir_build_load_ray_geometry_index 12664#define nir_build_load_ray_hit_kind _nir_build_load_ray_hit_kind 12665#define nir_load_ray_hit_kind nir_build_load_ray_hit_kind 12666#define nir_build_load_ray_hit_sbt_addr_intel _nir_build_load_ray_hit_sbt_addr_intel 12667#define nir_load_ray_hit_sbt_addr_intel nir_build_load_ray_hit_sbt_addr_intel 12668#define nir_build_load_ray_hit_sbt_stride_intel _nir_build_load_ray_hit_sbt_stride_intel 12669#define nir_load_ray_hit_sbt_stride_intel nir_build_load_ray_hit_sbt_stride_intel 12670#define nir_build_load_ray_hw_stack_size_intel _nir_build_load_ray_hw_stack_size_intel 12671#define nir_load_ray_hw_stack_size_intel nir_build_load_ray_hw_stack_size_intel 12672#define nir_build_load_ray_instance_custom_index _nir_build_load_ray_instance_custom_index 12673#define nir_load_ray_instance_custom_index nir_build_load_ray_instance_custom_index 12674#define nir_build_load_ray_launch_id _nir_build_load_ray_launch_id 12675#define nir_load_ray_launch_id nir_build_load_ray_launch_id 12676#define nir_build_load_ray_launch_size _nir_build_load_ray_launch_size 12677#define nir_load_ray_launch_size nir_build_load_ray_launch_size 12678#define nir_build_load_ray_miss_sbt_addr_intel _nir_build_load_ray_miss_sbt_addr_intel 12679#define nir_load_ray_miss_sbt_addr_intel nir_build_load_ray_miss_sbt_addr_intel 12680#define nir_build_load_ray_miss_sbt_stride_intel _nir_build_load_ray_miss_sbt_stride_intel 12681#define nir_load_ray_miss_sbt_stride_intel nir_build_load_ray_miss_sbt_stride_intel 12682#define nir_build_load_ray_num_dss_rt_stacks_intel _nir_build_load_ray_num_dss_rt_stacks_intel 12683#define nir_load_ray_num_dss_rt_stacks_intel nir_build_load_ray_num_dss_rt_stacks_intel 12684#define nir_build_load_ray_object_direction _nir_build_load_ray_object_direction 12685#define nir_load_ray_object_direction nir_build_load_ray_object_direction 12686#define nir_build_load_ray_object_origin _nir_build_load_ray_object_origin 12687#define nir_load_ray_object_origin nir_build_load_ray_object_origin 12688#ifdef __cplusplus 12689#define nir_build_load_ray_object_to_world(build, ...) \ 12690_nir_build_load_ray_object_to_world(build, _nir_load_ray_object_to_world_indices{0, __VA_ARGS__}) 12691#else 12692#define nir_build_load_ray_object_to_world(build, ...) \ 12693_nir_build_load_ray_object_to_world(build, (struct _nir_load_ray_object_to_world_indices){0, __VA_ARGS__}) 12694#endif 12695#define nir_load_ray_object_to_world nir_build_load_ray_object_to_world 12696#define nir_build_load_ray_sw_stack_size_intel _nir_build_load_ray_sw_stack_size_intel 12697#define nir_load_ray_sw_stack_size_intel nir_build_load_ray_sw_stack_size_intel 12698#define nir_build_load_ray_t_max _nir_build_load_ray_t_max 12699#define nir_load_ray_t_max nir_build_load_ray_t_max 12700#define nir_build_load_ray_t_min _nir_build_load_ray_t_min 12701#define nir_load_ray_t_min nir_build_load_ray_t_min 12702#define nir_build_load_ray_world_direction _nir_build_load_ray_world_direction 12703#define nir_load_ray_world_direction nir_build_load_ray_world_direction 12704#define nir_build_load_ray_world_origin _nir_build_load_ray_world_origin 12705#define nir_load_ray_world_origin nir_build_load_ray_world_origin 12706#ifdef __cplusplus 12707#define nir_build_load_ray_world_to_object(build, ...) \ 12708_nir_build_load_ray_world_to_object(build, _nir_load_ray_world_to_object_indices{0, __VA_ARGS__}) 12709#else 12710#define nir_build_load_ray_world_to_object(build, ...) \ 12711_nir_build_load_ray_world_to_object(build, (struct _nir_load_ray_world_to_object_indices){0, __VA_ARGS__}) 12712#endif 12713#define nir_load_ray_world_to_object nir_build_load_ray_world_to_object 12714#define nir_build_load_rel_patch_id_ir3 _nir_build_load_rel_patch_id_ir3 12715#define nir_load_rel_patch_id_ir3 nir_build_load_rel_patch_id_ir3 12716#ifdef __cplusplus 12717#define nir_build_load_reloc_const_intel(build, ...) \ 12718_nir_build_load_reloc_const_intel(build, _nir_load_reloc_const_intel_indices{0, __VA_ARGS__}) 12719#else 12720#define nir_build_load_reloc_const_intel(build, ...) \ 12721_nir_build_load_reloc_const_intel(build, (struct _nir_load_reloc_const_intel_indices){0, __VA_ARGS__}) 12722#endif 12723#define nir_load_reloc_const_intel nir_build_load_reloc_const_intel 12724#define nir_build_load_ring_es2gs_offset_amd _nir_build_load_ring_es2gs_offset_amd 12725#define nir_load_ring_es2gs_offset_amd nir_build_load_ring_es2gs_offset_amd 12726#define nir_build_load_ring_esgs_amd _nir_build_load_ring_esgs_amd 12727#define nir_load_ring_esgs_amd nir_build_load_ring_esgs_amd 12728#define nir_build_load_ring_tess_factors_amd _nir_build_load_ring_tess_factors_amd 12729#define nir_load_ring_tess_factors_amd nir_build_load_ring_tess_factors_amd 12730#define nir_build_load_ring_tess_factors_offset_amd _nir_build_load_ring_tess_factors_offset_amd 12731#define nir_load_ring_tess_factors_offset_amd nir_build_load_ring_tess_factors_offset_amd 12732#define nir_build_load_ring_tess_offchip_amd _nir_build_load_ring_tess_offchip_amd 12733#define nir_load_ring_tess_offchip_amd nir_build_load_ring_tess_offchip_amd 12734#define nir_build_load_ring_tess_offchip_offset_amd _nir_build_load_ring_tess_offchip_offset_amd 12735#define nir_load_ring_tess_offchip_offset_amd nir_build_load_ring_tess_offchip_offset_amd 12736#define nir_build_load_rt_arg_scratch_offset_amd _nir_build_load_rt_arg_scratch_offset_amd 12737#define nir_load_rt_arg_scratch_offset_amd nir_build_load_rt_arg_scratch_offset_amd 12738#define nir_build_load_sample_id _nir_build_load_sample_id 12739#define nir_load_sample_id nir_build_load_sample_id 12740#define nir_build_load_sample_id_no_per_sample _nir_build_load_sample_id_no_per_sample 12741#define nir_load_sample_id_no_per_sample nir_build_load_sample_id_no_per_sample 12742#define nir_build_load_sample_mask_in _nir_build_load_sample_mask_in 12743#define nir_load_sample_mask_in nir_build_load_sample_mask_in 12744#define nir_build_load_sample_pos _nir_build_load_sample_pos 12745#define nir_load_sample_pos nir_build_load_sample_pos 12746#define nir_build_load_sample_pos_from_id _nir_build_load_sample_pos_from_id 12747#define nir_load_sample_pos_from_id nir_build_load_sample_pos_from_id 12748#define nir_build_load_sample_positions_pan _nir_build_load_sample_positions_pan 12749#define nir_load_sample_positions_pan nir_build_load_sample_positions_pan 12750#define nir_build_load_sampler_lod_parameters_pan _nir_build_load_sampler_lod_parameters_pan 12751#define nir_load_sampler_lod_parameters_pan nir_build_load_sampler_lod_parameters_pan 12752#ifdef __cplusplus 12753#define nir_build_load_sbt_amd(build, ...) \ 12754_nir_build_load_sbt_amd(build, _nir_load_sbt_amd_indices{0, __VA_ARGS__}) 12755#else 12756#define nir_build_load_sbt_amd(build, ...) \ 12757_nir_build_load_sbt_amd(build, (struct _nir_load_sbt_amd_indices){0, __VA_ARGS__}) 12758#endif 12759#define nir_load_sbt_amd nir_build_load_sbt_amd 12760#ifdef __cplusplus 12761#define nir_build_load_scratch(build, num_components, bit_size, src0, ...) \ 12762_nir_build_load_scratch(build, num_components, bit_size, src0, _nir_load_scratch_indices{0, __VA_ARGS__}) 12763#else 12764#define nir_build_load_scratch(build, num_components, bit_size, src0, ...) \ 12765_nir_build_load_scratch(build, num_components, bit_size, src0, (struct _nir_load_scratch_indices){0, __VA_ARGS__}) 12766#endif 12767#define nir_load_scratch nir_build_load_scratch 12768#ifdef __cplusplus 12769#define nir_build_load_scratch_base_ptr(build, num_components, bit_size, ...) \ 12770_nir_build_load_scratch_base_ptr(build, num_components, bit_size, _nir_load_scratch_base_ptr_indices{0, __VA_ARGS__}) 12771#else 12772#define nir_build_load_scratch_base_ptr(build, num_components, bit_size, ...) \ 12773_nir_build_load_scratch_base_ptr(build, num_components, bit_size, (struct _nir_load_scratch_base_ptr_indices){0, __VA_ARGS__}) 12774#endif 12775#define nir_load_scratch_base_ptr nir_build_load_scratch_base_ptr 12776#define nir_build_load_scratch_dxil _nir_build_load_scratch_dxil 12777#define nir_load_scratch_dxil nir_build_load_scratch_dxil 12778#define nir_build_load_shader_query_enabled_amd _nir_build_load_shader_query_enabled_amd 12779#define nir_load_shader_query_enabled_amd nir_build_load_shader_query_enabled_amd 12780#define nir_build_load_shader_record_ptr _nir_build_load_shader_record_ptr 12781#define nir_load_shader_record_ptr nir_build_load_shader_record_ptr 12782#ifdef __cplusplus 12783#define nir_build_load_shared(build, num_components, bit_size, src0, ...) \ 12784_nir_build_load_shared(build, num_components, bit_size, src0, _nir_load_shared_indices{0, __VA_ARGS__}) 12785#else 12786#define nir_build_load_shared(build, num_components, bit_size, src0, ...) \ 12787_nir_build_load_shared(build, num_components, bit_size, src0, (struct _nir_load_shared_indices){0, __VA_ARGS__}) 12788#endif 12789#define nir_load_shared nir_build_load_shared 12790#define nir_build_load_shared_base_ptr _nir_build_load_shared_base_ptr 12791#define nir_load_shared_base_ptr nir_build_load_shared_base_ptr 12792#ifdef __cplusplus 12793#define nir_build_load_shared_block_intel(build, num_components, bit_size, src0, ...) \ 12794_nir_build_load_shared_block_intel(build, num_components, bit_size, src0, _nir_load_shared_block_intel_indices{0, __VA_ARGS__}) 12795#else 12796#define nir_build_load_shared_block_intel(build, num_components, bit_size, src0, ...) \ 12797_nir_build_load_shared_block_intel(build, num_components, bit_size, src0, (struct _nir_load_shared_block_intel_indices){0, __VA_ARGS__}) 12798#endif 12799#define nir_load_shared_block_intel nir_build_load_shared_block_intel 12800#define nir_build_load_shared_dxil _nir_build_load_shared_dxil 12801#define nir_load_shared_dxil nir_build_load_shared_dxil 12802#ifdef __cplusplus 12803#define nir_build_load_shared_ir3(build, num_components, bit_size, src0, ...) \ 12804_nir_build_load_shared_ir3(build, num_components, bit_size, src0, _nir_load_shared_ir3_indices{0, __VA_ARGS__}) 12805#else 12806#define nir_build_load_shared_ir3(build, num_components, bit_size, src0, ...) \ 12807_nir_build_load_shared_ir3(build, num_components, bit_size, src0, (struct _nir_load_shared_ir3_indices){0, __VA_ARGS__}) 12808#endif 12809#define nir_load_shared_ir3 nir_build_load_shared_ir3 12810#define nir_build_load_simd_width_intel _nir_build_load_simd_width_intel 12811#define nir_load_simd_width_intel nir_build_load_simd_width_intel 12812#define nir_build_load_size_ir3 _nir_build_load_size_ir3 12813#define nir_load_size_ir3 nir_build_load_size_ir3 12814#ifdef __cplusplus 12815#define nir_build_load_ssbo(build, num_components, bit_size, src0, src1, ...) \ 12816_nir_build_load_ssbo(build, num_components, bit_size, src0, src1, _nir_load_ssbo_indices{0, __VA_ARGS__}) 12817#else 12818#define nir_build_load_ssbo(build, num_components, bit_size, src0, src1, ...) \ 12819_nir_build_load_ssbo(build, num_components, bit_size, src0, src1, (struct _nir_load_ssbo_indices){0, __VA_ARGS__}) 12820#endif 12821#define nir_load_ssbo nir_build_load_ssbo 12822#define nir_build_load_ssbo_address _nir_build_load_ssbo_address 12823#define nir_load_ssbo_address nir_build_load_ssbo_address 12824#ifdef __cplusplus 12825#define nir_build_load_ssbo_block_intel(build, num_components, bit_size, src0, src1, ...) \ 12826_nir_build_load_ssbo_block_intel(build, num_components, bit_size, src0, src1, _nir_load_ssbo_block_intel_indices{0, __VA_ARGS__}) 12827#else 12828#define nir_build_load_ssbo_block_intel(build, num_components, bit_size, src0, src1, ...) \ 12829_nir_build_load_ssbo_block_intel(build, num_components, bit_size, src0, src1, (struct _nir_load_ssbo_block_intel_indices){0, __VA_ARGS__}) 12830#endif 12831#define nir_load_ssbo_block_intel nir_build_load_ssbo_block_intel 12832#ifdef __cplusplus 12833#define nir_build_load_ssbo_ir3(build, num_components, bit_size, src0, src1, src2, ...) \ 12834_nir_build_load_ssbo_ir3(build, num_components, bit_size, src0, src1, src2, _nir_load_ssbo_ir3_indices{0, __VA_ARGS__}) 12835#else 12836#define nir_build_load_ssbo_ir3(build, num_components, bit_size, src0, src1, src2, ...) \ 12837_nir_build_load_ssbo_ir3(build, num_components, bit_size, src0, src1, src2, (struct _nir_load_ssbo_ir3_indices){0, __VA_ARGS__}) 12838#endif 12839#define nir_load_ssbo_ir3 nir_build_load_ssbo_ir3 12840#define nir_build_load_subgroup_eq_mask _nir_build_load_subgroup_eq_mask 12841#define nir_load_subgroup_eq_mask nir_build_load_subgroup_eq_mask 12842#define nir_build_load_subgroup_ge_mask _nir_build_load_subgroup_ge_mask 12843#define nir_load_subgroup_ge_mask nir_build_load_subgroup_ge_mask 12844#define nir_build_load_subgroup_gt_mask _nir_build_load_subgroup_gt_mask 12845#define nir_load_subgroup_gt_mask nir_build_load_subgroup_gt_mask 12846#define nir_build_load_subgroup_id _nir_build_load_subgroup_id 12847#define nir_load_subgroup_id nir_build_load_subgroup_id 12848#define nir_build_load_subgroup_id_shift_ir3 _nir_build_load_subgroup_id_shift_ir3 12849#define nir_load_subgroup_id_shift_ir3 nir_build_load_subgroup_id_shift_ir3 12850#define nir_build_load_subgroup_invocation _nir_build_load_subgroup_invocation 12851#define nir_load_subgroup_invocation nir_build_load_subgroup_invocation 12852#define nir_build_load_subgroup_le_mask _nir_build_load_subgroup_le_mask 12853#define nir_load_subgroup_le_mask nir_build_load_subgroup_le_mask 12854#define nir_build_load_subgroup_lt_mask _nir_build_load_subgroup_lt_mask 12855#define nir_load_subgroup_lt_mask nir_build_load_subgroup_lt_mask 12856#define nir_build_load_subgroup_size _nir_build_load_subgroup_size 12857#define nir_load_subgroup_size nir_build_load_subgroup_size 12858#define nir_build_load_tcs_header_ir3 _nir_build_load_tcs_header_ir3 12859#define nir_load_tcs_header_ir3 nir_build_load_tcs_header_ir3 12860#define nir_build_load_tcs_in_param_base_r600 _nir_build_load_tcs_in_param_base_r600 12861#define nir_load_tcs_in_param_base_r600 nir_build_load_tcs_in_param_base_r600 12862#define nir_build_load_tcs_num_patches_amd _nir_build_load_tcs_num_patches_amd 12863#define nir_load_tcs_num_patches_amd nir_build_load_tcs_num_patches_amd 12864#define nir_build_load_tcs_out_param_base_r600 _nir_build_load_tcs_out_param_base_r600 12865#define nir_load_tcs_out_param_base_r600 nir_build_load_tcs_out_param_base_r600 12866#define nir_build_load_tcs_rel_patch_id_r600 _nir_build_load_tcs_rel_patch_id_r600 12867#define nir_load_tcs_rel_patch_id_r600 nir_build_load_tcs_rel_patch_id_r600 12868#define nir_build_load_tcs_tess_factor_base_r600 _nir_build_load_tcs_tess_factor_base_r600 12869#define nir_load_tcs_tess_factor_base_r600 nir_build_load_tcs_tess_factor_base_r600 12870#define nir_build_load_tess_coord _nir_build_load_tess_coord 12871#define nir_load_tess_coord nir_build_load_tess_coord 12872#define nir_build_load_tess_coord_r600 _nir_build_load_tess_coord_r600 12873#define nir_load_tess_coord_r600 nir_build_load_tess_coord_r600 12874#define nir_build_load_tess_factor_base_ir3 _nir_build_load_tess_factor_base_ir3 12875#define nir_load_tess_factor_base_ir3 nir_build_load_tess_factor_base_ir3 12876#define nir_build_load_tess_level_inner _nir_build_load_tess_level_inner 12877#define nir_load_tess_level_inner nir_build_load_tess_level_inner 12878#define nir_build_load_tess_level_inner_default _nir_build_load_tess_level_inner_default 12879#define nir_load_tess_level_inner_default nir_build_load_tess_level_inner_default 12880#define nir_build_load_tess_level_outer _nir_build_load_tess_level_outer 12881#define nir_load_tess_level_outer nir_build_load_tess_level_outer 12882#define nir_build_load_tess_level_outer_default _nir_build_load_tess_level_outer_default 12883#define nir_load_tess_level_outer_default nir_build_load_tess_level_outer_default 12884#define nir_build_load_tess_param_base_ir3 _nir_build_load_tess_param_base_ir3 12885#define nir_load_tess_param_base_ir3 nir_build_load_tess_param_base_ir3 12886#define nir_build_load_tess_rel_patch_id_amd _nir_build_load_tess_rel_patch_id_amd 12887#define nir_load_tess_rel_patch_id_amd nir_build_load_tess_rel_patch_id_amd 12888#define nir_build_load_texture_rect_scaling _nir_build_load_texture_rect_scaling 12889#define nir_load_texture_rect_scaling nir_build_load_texture_rect_scaling 12890#ifdef __cplusplus 12891#define nir_build_load_tlb_color_v3d(build, num_components, bit_size, src0, ...) \ 12892_nir_build_load_tlb_color_v3d(build, num_components, bit_size, src0, _nir_load_tlb_color_v3d_indices{0, __VA_ARGS__}) 12893#else 12894#define nir_build_load_tlb_color_v3d(build, num_components, bit_size, src0, ...) \ 12895_nir_build_load_tlb_color_v3d(build, num_components, bit_size, src0, (struct _nir_load_tlb_color_v3d_indices){0, __VA_ARGS__}) 12896#endif 12897#define nir_load_tlb_color_v3d nir_build_load_tlb_color_v3d 12898#ifdef __cplusplus 12899#define nir_build_load_ubo(build, num_components, bit_size, src0, src1, ...) \ 12900_nir_build_load_ubo(build, num_components, bit_size, src0, src1, _nir_load_ubo_indices{0, __VA_ARGS__}) 12901#else 12902#define nir_build_load_ubo(build, num_components, bit_size, src0, src1, ...) \ 12903_nir_build_load_ubo(build, num_components, bit_size, src0, src1, (struct _nir_load_ubo_indices){0, __VA_ARGS__}) 12904#endif 12905#define nir_load_ubo nir_build_load_ubo 12906#define nir_build_load_ubo_dxil _nir_build_load_ubo_dxil 12907#define nir_load_ubo_dxil nir_build_load_ubo_dxil 12908#ifdef __cplusplus 12909#define nir_build_load_ubo_vec4(build, num_components, bit_size, src0, src1, ...) \ 12910_nir_build_load_ubo_vec4(build, num_components, bit_size, src0, src1, _nir_load_ubo_vec4_indices{0, __VA_ARGS__}) 12911#else 12912#define nir_build_load_ubo_vec4(build, num_components, bit_size, src0, src1, ...) \ 12913_nir_build_load_ubo_vec4(build, num_components, bit_size, src0, src1, (struct _nir_load_ubo_vec4_indices){0, __VA_ARGS__}) 12914#endif 12915#define nir_load_ubo_vec4 nir_build_load_ubo_vec4 12916#ifdef __cplusplus 12917#define nir_build_load_uniform(build, num_components, bit_size, src0, ...) \ 12918_nir_build_load_uniform(build, num_components, bit_size, src0, _nir_load_uniform_indices{0, __VA_ARGS__}) 12919#else 12920#define nir_build_load_uniform(build, num_components, bit_size, src0, ...) \ 12921_nir_build_load_uniform(build, num_components, bit_size, src0, (struct _nir_load_uniform_indices){0, __VA_ARGS__}) 12922#endif 12923#define nir_load_uniform nir_build_load_uniform 12924#ifdef __cplusplus 12925#define nir_build_load_user_clip_plane(build, ...) \ 12926_nir_build_load_user_clip_plane(build, _nir_load_user_clip_plane_indices{0, __VA_ARGS__}) 12927#else 12928#define nir_build_load_user_clip_plane(build, ...) \ 12929_nir_build_load_user_clip_plane(build, (struct _nir_load_user_clip_plane_indices){0, __VA_ARGS__}) 12930#endif 12931#define nir_load_user_clip_plane nir_build_load_user_clip_plane 12932#define nir_build_load_user_data_amd _nir_build_load_user_data_amd 12933#define nir_load_user_data_amd nir_build_load_user_data_amd 12934#define nir_build_load_vertex_id _nir_build_load_vertex_id 12935#define nir_load_vertex_id nir_build_load_vertex_id 12936#define nir_build_load_vertex_id_zero_base _nir_build_load_vertex_id_zero_base 12937#define nir_load_vertex_id_zero_base nir_build_load_vertex_id_zero_base 12938#define nir_build_load_view_index _nir_build_load_view_index 12939#define nir_load_view_index nir_build_load_view_index 12940#define nir_build_load_viewport_offset _nir_build_load_viewport_offset 12941#define nir_load_viewport_offset nir_build_load_viewport_offset 12942#define nir_build_load_viewport_scale _nir_build_load_viewport_scale 12943#define nir_load_viewport_scale nir_build_load_viewport_scale 12944#define nir_build_load_viewport_x_offset _nir_build_load_viewport_x_offset 12945#define nir_load_viewport_x_offset nir_build_load_viewport_x_offset 12946#define nir_build_load_viewport_x_scale _nir_build_load_viewport_x_scale 12947#define nir_load_viewport_x_scale nir_build_load_viewport_x_scale 12948#define nir_build_load_viewport_y_offset _nir_build_load_viewport_y_offset 12949#define nir_load_viewport_y_offset nir_build_load_viewport_y_offset 12950#define nir_build_load_viewport_y_scale _nir_build_load_viewport_y_scale 12951#define nir_load_viewport_y_scale nir_build_load_viewport_y_scale 12952#define nir_build_load_viewport_z_offset _nir_build_load_viewport_z_offset 12953#define nir_load_viewport_z_offset nir_build_load_viewport_z_offset 12954#define nir_build_load_viewport_z_scale _nir_build_load_viewport_z_scale 12955#define nir_load_viewport_z_scale nir_build_load_viewport_z_scale 12956#define nir_build_load_vs_primitive_stride_ir3 _nir_build_load_vs_primitive_stride_ir3 12957#define nir_load_vs_primitive_stride_ir3 nir_build_load_vs_primitive_stride_ir3 12958#define nir_build_load_vs_vertex_stride_ir3 _nir_build_load_vs_vertex_stride_ir3 12959#define nir_load_vs_vertex_stride_ir3 nir_build_load_vs_vertex_stride_ir3 12960#ifdef __cplusplus 12961#define nir_build_load_vulkan_descriptor(build, num_components, bit_size, src0, ...) \ 12962_nir_build_load_vulkan_descriptor(build, num_components, bit_size, src0, _nir_load_vulkan_descriptor_indices{0, __VA_ARGS__}) 12963#else 12964#define nir_build_load_vulkan_descriptor(build, num_components, bit_size, src0, ...) \ 12965_nir_build_load_vulkan_descriptor(build, num_components, bit_size, src0, (struct _nir_load_vulkan_descriptor_indices){0, __VA_ARGS__}) 12966#endif 12967#define nir_load_vulkan_descriptor nir_build_load_vulkan_descriptor 12968#define nir_build_load_work_dim _nir_build_load_work_dim 12969#define nir_load_work_dim nir_build_load_work_dim 12970#define nir_build_load_workgroup_id _nir_build_load_workgroup_id 12971#define nir_load_workgroup_id nir_build_load_workgroup_id 12972#define nir_build_load_workgroup_id_zero_base _nir_build_load_workgroup_id_zero_base 12973#define nir_load_workgroup_id_zero_base nir_build_load_workgroup_id_zero_base 12974#define nir_build_load_workgroup_num_input_primitives_amd _nir_build_load_workgroup_num_input_primitives_amd 12975#define nir_load_workgroup_num_input_primitives_amd nir_build_load_workgroup_num_input_primitives_amd 12976#define nir_build_load_workgroup_num_input_vertices_amd _nir_build_load_workgroup_num_input_vertices_amd 12977#define nir_load_workgroup_num_input_vertices_amd nir_build_load_workgroup_num_input_vertices_amd 12978#define nir_build_load_workgroup_size _nir_build_load_workgroup_size 12979#define nir_load_workgroup_size nir_build_load_workgroup_size 12980#ifdef __cplusplus 12981#define nir_build_masked_swizzle_amd(build, src0, ...) \ 12982_nir_build_masked_swizzle_amd(build, src0, _nir_masked_swizzle_amd_indices{0, __VA_ARGS__}) 12983#else 12984#define nir_build_masked_swizzle_amd(build, src0, ...) \ 12985_nir_build_masked_swizzle_amd(build, src0, (struct _nir_masked_swizzle_amd_indices){0, __VA_ARGS__}) 12986#endif 12987#define nir_masked_swizzle_amd nir_build_masked_swizzle_amd 12988#define nir_build_mbcnt_amd _nir_build_mbcnt_amd 12989#define nir_mbcnt_amd nir_build_mbcnt_amd 12990#ifdef __cplusplus 12991#define nir_build_memcpy_deref(build, src0, src1, src2, ...) \ 12992_nir_build_memcpy_deref(build, src0, src1, src2, _nir_memcpy_deref_indices{0, __VA_ARGS__}) 12993#else 12994#define nir_build_memcpy_deref(build, src0, src1, src2, ...) \ 12995_nir_build_memcpy_deref(build, src0, src1, src2, (struct _nir_memcpy_deref_indices){0, __VA_ARGS__}) 12996#endif 12997#define nir_memcpy_deref nir_build_memcpy_deref 12998#define nir_build_memory_barrier _nir_build_memory_barrier 12999#define nir_memory_barrier nir_build_memory_barrier 13000#define nir_build_memory_barrier_atomic_counter _nir_build_memory_barrier_atomic_counter 13001#define nir_memory_barrier_atomic_counter nir_build_memory_barrier_atomic_counter 13002#define nir_build_memory_barrier_buffer _nir_build_memory_barrier_buffer 13003#define nir_memory_barrier_buffer nir_build_memory_barrier_buffer 13004#define nir_build_memory_barrier_image _nir_build_memory_barrier_image 13005#define nir_memory_barrier_image nir_build_memory_barrier_image 13006#define nir_build_memory_barrier_shared _nir_build_memory_barrier_shared 13007#define nir_memory_barrier_shared nir_build_memory_barrier_shared 13008#define nir_build_memory_barrier_tcs_patch _nir_build_memory_barrier_tcs_patch 13009#define nir_memory_barrier_tcs_patch nir_build_memory_barrier_tcs_patch 13010#define nir_build_nop _nir_build_nop 13011#define nir_nop nir_build_nop 13012#define nir_build_overwrite_tes_arguments_amd _nir_build_overwrite_tes_arguments_amd 13013#define nir_overwrite_tes_arguments_amd nir_build_overwrite_tes_arguments_amd 13014#define nir_build_overwrite_vs_arguments_amd _nir_build_overwrite_vs_arguments_amd 13015#define nir_overwrite_vs_arguments_amd nir_build_overwrite_vs_arguments_amd 13016#define nir_build_printf _nir_build_printf 13017#define nir_printf nir_build_printf 13018#define nir_build_quad_broadcast _nir_build_quad_broadcast 13019#define nir_quad_broadcast nir_build_quad_broadcast 13020#define nir_build_quad_swap_diagonal _nir_build_quad_swap_diagonal 13021#define nir_quad_swap_diagonal nir_build_quad_swap_diagonal 13022#define nir_build_quad_swap_horizontal _nir_build_quad_swap_horizontal 13023#define nir_quad_swap_horizontal nir_build_quad_swap_horizontal 13024#define nir_build_quad_swap_vertical _nir_build_quad_swap_vertical 13025#define nir_quad_swap_vertical nir_build_quad_swap_vertical 13026#ifdef __cplusplus 13027#define nir_build_quad_swizzle_amd(build, src0, ...) \ 13028_nir_build_quad_swizzle_amd(build, src0, _nir_quad_swizzle_amd_indices{0, __VA_ARGS__}) 13029#else 13030#define nir_build_quad_swizzle_amd(build, src0, ...) \ 13031_nir_build_quad_swizzle_amd(build, src0, (struct _nir_quad_swizzle_amd_indices){0, __VA_ARGS__}) 13032#endif 13033#define nir_quad_swizzle_amd nir_build_quad_swizzle_amd 13034#define nir_build_read_first_invocation _nir_build_read_first_invocation 13035#define nir_read_first_invocation nir_build_read_first_invocation 13036#define nir_build_read_invocation _nir_build_read_invocation 13037#define nir_read_invocation nir_build_read_invocation 13038#define nir_build_read_invocation_cond_ir3 _nir_build_read_invocation_cond_ir3 13039#define nir_read_invocation_cond_ir3 nir_build_read_invocation_cond_ir3 13040#ifdef __cplusplus 13041#define nir_build_reduce(build, src0, ...) \ 13042_nir_build_reduce(build, src0, _nir_reduce_indices{0, __VA_ARGS__}) 13043#else 13044#define nir_build_reduce(build, src0, ...) \ 13045_nir_build_reduce(build, src0, (struct _nir_reduce_indices){0, __VA_ARGS__}) 13046#endif 13047#define nir_reduce nir_build_reduce 13048#define nir_build_report_ray_intersection _nir_build_report_ray_intersection 13049#define nir_report_ray_intersection nir_build_report_ray_intersection 13050#ifdef __cplusplus 13051#define nir_build_rt_execute_callable(build, src0, src1, ...) \ 13052_nir_build_rt_execute_callable(build, src0, src1, _nir_rt_execute_callable_indices{0, __VA_ARGS__}) 13053#else 13054#define nir_build_rt_execute_callable(build, src0, src1, ...) \ 13055_nir_build_rt_execute_callable(build, src0, src1, (struct _nir_rt_execute_callable_indices){0, __VA_ARGS__}) 13056#endif 13057#define nir_rt_execute_callable nir_build_rt_execute_callable 13058#ifdef __cplusplus 13059#define nir_build_rt_resume(build, ...) \ 13060_nir_build_rt_resume(build, _nir_rt_resume_indices{0, __VA_ARGS__}) 13061#else 13062#define nir_build_rt_resume(build, ...) \ 13063_nir_build_rt_resume(build, (struct _nir_rt_resume_indices){0, __VA_ARGS__}) 13064#endif 13065#define nir_rt_resume nir_build_rt_resume 13066#define nir_build_rt_return_amd _nir_build_rt_return_amd 13067#define nir_rt_return_amd nir_build_rt_return_amd 13068#ifdef __cplusplus 13069#define nir_build_rt_trace_ray(build, src0, src1, src2, src3, src4, src5, src6, src7, src8, src9, src10, ...) \ 13070_nir_build_rt_trace_ray(build, src0, src1, src2, src3, src4, src5, src6, src7, src8, src9, src10, _nir_rt_trace_ray_indices{0, __VA_ARGS__}) 13071#else 13072#define nir_build_rt_trace_ray(build, src0, src1, src2, src3, src4, src5, src6, src7, src8, src9, src10, ...) \ 13073_nir_build_rt_trace_ray(build, src0, src1, src2, src3, src4, src5, src6, src7, src8, src9, src10, (struct _nir_rt_trace_ray_indices){0, __VA_ARGS__}) 13074#endif 13075#define nir_rt_trace_ray nir_build_rt_trace_ray 13076#ifdef __cplusplus 13077#define nir_build_scoped_barrier(build, ...) \ 13078_nir_build_scoped_barrier(build, _nir_scoped_barrier_indices{0, __VA_ARGS__}) 13079#else 13080#define nir_build_scoped_barrier(build, ...) \ 13081_nir_build_scoped_barrier(build, (struct _nir_scoped_barrier_indices){0, __VA_ARGS__}) 13082#endif 13083#define nir_scoped_barrier nir_build_scoped_barrier 13084#ifdef __cplusplus 13085#define nir_build_set_vertex_and_primitive_count(build, src0, src1, ...) \ 13086_nir_build_set_vertex_and_primitive_count(build, src0, src1, _nir_set_vertex_and_primitive_count_indices{0, __VA_ARGS__}) 13087#else 13088#define nir_build_set_vertex_and_primitive_count(build, src0, src1, ...) \ 13089_nir_build_set_vertex_and_primitive_count(build, src0, src1, (struct _nir_set_vertex_and_primitive_count_indices){0, __VA_ARGS__}) 13090#endif 13091#define nir_set_vertex_and_primitive_count nir_build_set_vertex_and_primitive_count 13092#ifdef __cplusplus 13093#define nir_build_shader_clock(build, ...) \ 13094_nir_build_shader_clock(build, _nir_shader_clock_indices{0, __VA_ARGS__}) 13095#else 13096#define nir_build_shader_clock(build, ...) \ 13097_nir_build_shader_clock(build, (struct _nir_shader_clock_indices){0, __VA_ARGS__}) 13098#endif 13099#define nir_shader_clock nir_build_shader_clock 13100#ifdef __cplusplus 13101#define nir_build_shared_atomic_add(build, bit_size, src0, src1, ...) \ 13102_nir_build_shared_atomic_add(build, bit_size, src0, src1, _nir_shared_atomic_add_indices{0, __VA_ARGS__}) 13103#else 13104#define nir_build_shared_atomic_add(build, bit_size, src0, src1, ...) \ 13105_nir_build_shared_atomic_add(build, bit_size, src0, src1, (struct _nir_shared_atomic_add_indices){0, __VA_ARGS__}) 13106#endif 13107#define nir_shared_atomic_add nir_build_shared_atomic_add 13108#define nir_build_shared_atomic_add_dxil _nir_build_shared_atomic_add_dxil 13109#define nir_shared_atomic_add_dxil nir_build_shared_atomic_add_dxil 13110#ifdef __cplusplus 13111#define nir_build_shared_atomic_and(build, bit_size, src0, src1, ...) \ 13112_nir_build_shared_atomic_and(build, bit_size, src0, src1, _nir_shared_atomic_and_indices{0, __VA_ARGS__}) 13113#else 13114#define nir_build_shared_atomic_and(build, bit_size, src0, src1, ...) \ 13115_nir_build_shared_atomic_and(build, bit_size, src0, src1, (struct _nir_shared_atomic_and_indices){0, __VA_ARGS__}) 13116#endif 13117#define nir_shared_atomic_and nir_build_shared_atomic_and 13118#define nir_build_shared_atomic_and_dxil _nir_build_shared_atomic_and_dxil 13119#define nir_shared_atomic_and_dxil nir_build_shared_atomic_and_dxil 13120#ifdef __cplusplus 13121#define nir_build_shared_atomic_comp_swap(build, bit_size, src0, src1, src2, ...) \ 13122_nir_build_shared_atomic_comp_swap(build, bit_size, src0, src1, src2, _nir_shared_atomic_comp_swap_indices{0, __VA_ARGS__}) 13123#else 13124#define nir_build_shared_atomic_comp_swap(build, bit_size, src0, src1, src2, ...) \ 13125_nir_build_shared_atomic_comp_swap(build, bit_size, src0, src1, src2, (struct _nir_shared_atomic_comp_swap_indices){0, __VA_ARGS__}) 13126#endif 13127#define nir_shared_atomic_comp_swap nir_build_shared_atomic_comp_swap 13128#define nir_build_shared_atomic_comp_swap_dxil _nir_build_shared_atomic_comp_swap_dxil 13129#define nir_shared_atomic_comp_swap_dxil nir_build_shared_atomic_comp_swap_dxil 13130#ifdef __cplusplus 13131#define nir_build_shared_atomic_exchange(build, bit_size, src0, src1, ...) \ 13132_nir_build_shared_atomic_exchange(build, bit_size, src0, src1, _nir_shared_atomic_exchange_indices{0, __VA_ARGS__}) 13133#else 13134#define nir_build_shared_atomic_exchange(build, bit_size, src0, src1, ...) \ 13135_nir_build_shared_atomic_exchange(build, bit_size, src0, src1, (struct _nir_shared_atomic_exchange_indices){0, __VA_ARGS__}) 13136#endif 13137#define nir_shared_atomic_exchange nir_build_shared_atomic_exchange 13138#define nir_build_shared_atomic_exchange_dxil _nir_build_shared_atomic_exchange_dxil 13139#define nir_shared_atomic_exchange_dxil nir_build_shared_atomic_exchange_dxil 13140#ifdef __cplusplus 13141#define nir_build_shared_atomic_fadd(build, bit_size, src0, src1, ...) \ 13142_nir_build_shared_atomic_fadd(build, bit_size, src0, src1, _nir_shared_atomic_fadd_indices{0, __VA_ARGS__}) 13143#else 13144#define nir_build_shared_atomic_fadd(build, bit_size, src0, src1, ...) \ 13145_nir_build_shared_atomic_fadd(build, bit_size, src0, src1, (struct _nir_shared_atomic_fadd_indices){0, __VA_ARGS__}) 13146#endif 13147#define nir_shared_atomic_fadd nir_build_shared_atomic_fadd 13148#ifdef __cplusplus 13149#define nir_build_shared_atomic_fcomp_swap(build, bit_size, src0, src1, src2, ...) \ 13150_nir_build_shared_atomic_fcomp_swap(build, bit_size, src0, src1, src2, _nir_shared_atomic_fcomp_swap_indices{0, __VA_ARGS__}) 13151#else 13152#define nir_build_shared_atomic_fcomp_swap(build, bit_size, src0, src1, src2, ...) \ 13153_nir_build_shared_atomic_fcomp_swap(build, bit_size, src0, src1, src2, (struct _nir_shared_atomic_fcomp_swap_indices){0, __VA_ARGS__}) 13154#endif 13155#define nir_shared_atomic_fcomp_swap nir_build_shared_atomic_fcomp_swap 13156#ifdef __cplusplus 13157#define nir_build_shared_atomic_fmax(build, bit_size, src0, src1, ...) \ 13158_nir_build_shared_atomic_fmax(build, bit_size, src0, src1, _nir_shared_atomic_fmax_indices{0, __VA_ARGS__}) 13159#else 13160#define nir_build_shared_atomic_fmax(build, bit_size, src0, src1, ...) \ 13161_nir_build_shared_atomic_fmax(build, bit_size, src0, src1, (struct _nir_shared_atomic_fmax_indices){0, __VA_ARGS__}) 13162#endif 13163#define nir_shared_atomic_fmax nir_build_shared_atomic_fmax 13164#ifdef __cplusplus 13165#define nir_build_shared_atomic_fmin(build, bit_size, src0, src1, ...) \ 13166_nir_build_shared_atomic_fmin(build, bit_size, src0, src1, _nir_shared_atomic_fmin_indices{0, __VA_ARGS__}) 13167#else 13168#define nir_build_shared_atomic_fmin(build, bit_size, src0, src1, ...) \ 13169_nir_build_shared_atomic_fmin(build, bit_size, src0, src1, (struct _nir_shared_atomic_fmin_indices){0, __VA_ARGS__}) 13170#endif 13171#define nir_shared_atomic_fmin nir_build_shared_atomic_fmin 13172#ifdef __cplusplus 13173#define nir_build_shared_atomic_imax(build, bit_size, src0, src1, ...) \ 13174_nir_build_shared_atomic_imax(build, bit_size, src0, src1, _nir_shared_atomic_imax_indices{0, __VA_ARGS__}) 13175#else 13176#define nir_build_shared_atomic_imax(build, bit_size, src0, src1, ...) \ 13177_nir_build_shared_atomic_imax(build, bit_size, src0, src1, (struct _nir_shared_atomic_imax_indices){0, __VA_ARGS__}) 13178#endif 13179#define nir_shared_atomic_imax nir_build_shared_atomic_imax 13180#define nir_build_shared_atomic_imax_dxil _nir_build_shared_atomic_imax_dxil 13181#define nir_shared_atomic_imax_dxil nir_build_shared_atomic_imax_dxil 13182#ifdef __cplusplus 13183#define nir_build_shared_atomic_imin(build, bit_size, src0, src1, ...) \ 13184_nir_build_shared_atomic_imin(build, bit_size, src0, src1, _nir_shared_atomic_imin_indices{0, __VA_ARGS__}) 13185#else 13186#define nir_build_shared_atomic_imin(build, bit_size, src0, src1, ...) \ 13187_nir_build_shared_atomic_imin(build, bit_size, src0, src1, (struct _nir_shared_atomic_imin_indices){0, __VA_ARGS__}) 13188#endif 13189#define nir_shared_atomic_imin nir_build_shared_atomic_imin 13190#define nir_build_shared_atomic_imin_dxil _nir_build_shared_atomic_imin_dxil 13191#define nir_shared_atomic_imin_dxil nir_build_shared_atomic_imin_dxil 13192#ifdef __cplusplus 13193#define nir_build_shared_atomic_or(build, bit_size, src0, src1, ...) \ 13194_nir_build_shared_atomic_or(build, bit_size, src0, src1, _nir_shared_atomic_or_indices{0, __VA_ARGS__}) 13195#else 13196#define nir_build_shared_atomic_or(build, bit_size, src0, src1, ...) \ 13197_nir_build_shared_atomic_or(build, bit_size, src0, src1, (struct _nir_shared_atomic_or_indices){0, __VA_ARGS__}) 13198#endif 13199#define nir_shared_atomic_or nir_build_shared_atomic_or 13200#define nir_build_shared_atomic_or_dxil _nir_build_shared_atomic_or_dxil 13201#define nir_shared_atomic_or_dxil nir_build_shared_atomic_or_dxil 13202#ifdef __cplusplus 13203#define nir_build_shared_atomic_umax(build, bit_size, src0, src1, ...) \ 13204_nir_build_shared_atomic_umax(build, bit_size, src0, src1, _nir_shared_atomic_umax_indices{0, __VA_ARGS__}) 13205#else 13206#define nir_build_shared_atomic_umax(build, bit_size, src0, src1, ...) \ 13207_nir_build_shared_atomic_umax(build, bit_size, src0, src1, (struct _nir_shared_atomic_umax_indices){0, __VA_ARGS__}) 13208#endif 13209#define nir_shared_atomic_umax nir_build_shared_atomic_umax 13210#define nir_build_shared_atomic_umax_dxil _nir_build_shared_atomic_umax_dxil 13211#define nir_shared_atomic_umax_dxil nir_build_shared_atomic_umax_dxil 13212#ifdef __cplusplus 13213#define nir_build_shared_atomic_umin(build, bit_size, src0, src1, ...) \ 13214_nir_build_shared_atomic_umin(build, bit_size, src0, src1, _nir_shared_atomic_umin_indices{0, __VA_ARGS__}) 13215#else 13216#define nir_build_shared_atomic_umin(build, bit_size, src0, src1, ...) \ 13217_nir_build_shared_atomic_umin(build, bit_size, src0, src1, (struct _nir_shared_atomic_umin_indices){0, __VA_ARGS__}) 13218#endif 13219#define nir_shared_atomic_umin nir_build_shared_atomic_umin 13220#define nir_build_shared_atomic_umin_dxil _nir_build_shared_atomic_umin_dxil 13221#define nir_shared_atomic_umin_dxil nir_build_shared_atomic_umin_dxil 13222#ifdef __cplusplus 13223#define nir_build_shared_atomic_xor(build, bit_size, src0, src1, ...) \ 13224_nir_build_shared_atomic_xor(build, bit_size, src0, src1, _nir_shared_atomic_xor_indices{0, __VA_ARGS__}) 13225#else 13226#define nir_build_shared_atomic_xor(build, bit_size, src0, src1, ...) \ 13227_nir_build_shared_atomic_xor(build, bit_size, src0, src1, (struct _nir_shared_atomic_xor_indices){0, __VA_ARGS__}) 13228#endif 13229#define nir_shared_atomic_xor nir_build_shared_atomic_xor 13230#define nir_build_shared_atomic_xor_dxil _nir_build_shared_atomic_xor_dxil 13231#define nir_shared_atomic_xor_dxil nir_build_shared_atomic_xor_dxil 13232#define nir_build_shuffle _nir_build_shuffle 13233#define nir_shuffle nir_build_shuffle 13234#define nir_build_shuffle_down _nir_build_shuffle_down 13235#define nir_shuffle_down nir_build_shuffle_down 13236#define nir_build_shuffle_up _nir_build_shuffle_up 13237#define nir_shuffle_up nir_build_shuffle_up 13238#define nir_build_shuffle_xor _nir_build_shuffle_xor 13239#define nir_shuffle_xor nir_build_shuffle_xor 13240#define nir_build_sparse_residency_code_and _nir_build_sparse_residency_code_and 13241#define nir_sparse_residency_code_and nir_build_sparse_residency_code_and 13242#ifdef __cplusplus 13243#define nir_build_ssbo_atomic_add(build, bit_size, src0, src1, src2, ...) \ 13244_nir_build_ssbo_atomic_add(build, bit_size, src0, src1, src2, _nir_ssbo_atomic_add_indices{0, __VA_ARGS__}) 13245#else 13246#define nir_build_ssbo_atomic_add(build, bit_size, src0, src1, src2, ...) \ 13247_nir_build_ssbo_atomic_add(build, bit_size, src0, src1, src2, (struct _nir_ssbo_atomic_add_indices){0, __VA_ARGS__}) 13248#endif 13249#define nir_ssbo_atomic_add nir_build_ssbo_atomic_add 13250#ifdef __cplusplus 13251#define nir_build_ssbo_atomic_add_ir3(build, bit_size, src0, src1, src2, src3, ...) \ 13252_nir_build_ssbo_atomic_add_ir3(build, bit_size, src0, src1, src2, src3, _nir_ssbo_atomic_add_ir3_indices{0, __VA_ARGS__}) 13253#else 13254#define nir_build_ssbo_atomic_add_ir3(build, bit_size, src0, src1, src2, src3, ...) \ 13255_nir_build_ssbo_atomic_add_ir3(build, bit_size, src0, src1, src2, src3, (struct _nir_ssbo_atomic_add_ir3_indices){0, __VA_ARGS__}) 13256#endif 13257#define nir_ssbo_atomic_add_ir3 nir_build_ssbo_atomic_add_ir3 13258#ifdef __cplusplus 13259#define nir_build_ssbo_atomic_and(build, bit_size, src0, src1, src2, ...) \ 13260_nir_build_ssbo_atomic_and(build, bit_size, src0, src1, src2, _nir_ssbo_atomic_and_indices{0, __VA_ARGS__}) 13261#else 13262#define nir_build_ssbo_atomic_and(build, bit_size, src0, src1, src2, ...) \ 13263_nir_build_ssbo_atomic_and(build, bit_size, src0, src1, src2, (struct _nir_ssbo_atomic_and_indices){0, __VA_ARGS__}) 13264#endif 13265#define nir_ssbo_atomic_and nir_build_ssbo_atomic_and 13266#ifdef __cplusplus 13267#define nir_build_ssbo_atomic_and_ir3(build, bit_size, src0, src1, src2, src3, ...) \ 13268_nir_build_ssbo_atomic_and_ir3(build, bit_size, src0, src1, src2, src3, _nir_ssbo_atomic_and_ir3_indices{0, __VA_ARGS__}) 13269#else 13270#define nir_build_ssbo_atomic_and_ir3(build, bit_size, src0, src1, src2, src3, ...) \ 13271_nir_build_ssbo_atomic_and_ir3(build, bit_size, src0, src1, src2, src3, (struct _nir_ssbo_atomic_and_ir3_indices){0, __VA_ARGS__}) 13272#endif 13273#define nir_ssbo_atomic_and_ir3 nir_build_ssbo_atomic_and_ir3 13274#ifdef __cplusplus 13275#define nir_build_ssbo_atomic_comp_swap(build, bit_size, src0, src1, src2, src3, ...) \ 13276_nir_build_ssbo_atomic_comp_swap(build, bit_size, src0, src1, src2, src3, _nir_ssbo_atomic_comp_swap_indices{0, __VA_ARGS__}) 13277#else 13278#define nir_build_ssbo_atomic_comp_swap(build, bit_size, src0, src1, src2, src3, ...) \ 13279_nir_build_ssbo_atomic_comp_swap(build, bit_size, src0, src1, src2, src3, (struct _nir_ssbo_atomic_comp_swap_indices){0, __VA_ARGS__}) 13280#endif 13281#define nir_ssbo_atomic_comp_swap nir_build_ssbo_atomic_comp_swap 13282#ifdef __cplusplus 13283#define nir_build_ssbo_atomic_comp_swap_ir3(build, bit_size, src0, src1, src2, src3, src4, ...) \ 13284_nir_build_ssbo_atomic_comp_swap_ir3(build, bit_size, src0, src1, src2, src3, src4, _nir_ssbo_atomic_comp_swap_ir3_indices{0, __VA_ARGS__}) 13285#else 13286#define nir_build_ssbo_atomic_comp_swap_ir3(build, bit_size, src0, src1, src2, src3, src4, ...) \ 13287_nir_build_ssbo_atomic_comp_swap_ir3(build, bit_size, src0, src1, src2, src3, src4, (struct _nir_ssbo_atomic_comp_swap_ir3_indices){0, __VA_ARGS__}) 13288#endif 13289#define nir_ssbo_atomic_comp_swap_ir3 nir_build_ssbo_atomic_comp_swap_ir3 13290#ifdef __cplusplus 13291#define nir_build_ssbo_atomic_exchange(build, bit_size, src0, src1, src2, ...) \ 13292_nir_build_ssbo_atomic_exchange(build, bit_size, src0, src1, src2, _nir_ssbo_atomic_exchange_indices{0, __VA_ARGS__}) 13293#else 13294#define nir_build_ssbo_atomic_exchange(build, bit_size, src0, src1, src2, ...) \ 13295_nir_build_ssbo_atomic_exchange(build, bit_size, src0, src1, src2, (struct _nir_ssbo_atomic_exchange_indices){0, __VA_ARGS__}) 13296#endif 13297#define nir_ssbo_atomic_exchange nir_build_ssbo_atomic_exchange 13298#ifdef __cplusplus 13299#define nir_build_ssbo_atomic_exchange_ir3(build, bit_size, src0, src1, src2, src3, ...) \ 13300_nir_build_ssbo_atomic_exchange_ir3(build, bit_size, src0, src1, src2, src3, _nir_ssbo_atomic_exchange_ir3_indices{0, __VA_ARGS__}) 13301#else 13302#define nir_build_ssbo_atomic_exchange_ir3(build, bit_size, src0, src1, src2, src3, ...) \ 13303_nir_build_ssbo_atomic_exchange_ir3(build, bit_size, src0, src1, src2, src3, (struct _nir_ssbo_atomic_exchange_ir3_indices){0, __VA_ARGS__}) 13304#endif 13305#define nir_ssbo_atomic_exchange_ir3 nir_build_ssbo_atomic_exchange_ir3 13306#ifdef __cplusplus 13307#define nir_build_ssbo_atomic_fadd(build, bit_size, src0, src1, src2, ...) \ 13308_nir_build_ssbo_atomic_fadd(build, bit_size, src0, src1, src2, _nir_ssbo_atomic_fadd_indices{0, __VA_ARGS__}) 13309#else 13310#define nir_build_ssbo_atomic_fadd(build, bit_size, src0, src1, src2, ...) \ 13311_nir_build_ssbo_atomic_fadd(build, bit_size, src0, src1, src2, (struct _nir_ssbo_atomic_fadd_indices){0, __VA_ARGS__}) 13312#endif 13313#define nir_ssbo_atomic_fadd nir_build_ssbo_atomic_fadd 13314#ifdef __cplusplus 13315#define nir_build_ssbo_atomic_fcomp_swap(build, bit_size, src0, src1, src2, src3, ...) \ 13316_nir_build_ssbo_atomic_fcomp_swap(build, bit_size, src0, src1, src2, src3, _nir_ssbo_atomic_fcomp_swap_indices{0, __VA_ARGS__}) 13317#else 13318#define nir_build_ssbo_atomic_fcomp_swap(build, bit_size, src0, src1, src2, src3, ...) \ 13319_nir_build_ssbo_atomic_fcomp_swap(build, bit_size, src0, src1, src2, src3, (struct _nir_ssbo_atomic_fcomp_swap_indices){0, __VA_ARGS__}) 13320#endif 13321#define nir_ssbo_atomic_fcomp_swap nir_build_ssbo_atomic_fcomp_swap 13322#ifdef __cplusplus 13323#define nir_build_ssbo_atomic_fmax(build, bit_size, src0, src1, src2, ...) \ 13324_nir_build_ssbo_atomic_fmax(build, bit_size, src0, src1, src2, _nir_ssbo_atomic_fmax_indices{0, __VA_ARGS__}) 13325#else 13326#define nir_build_ssbo_atomic_fmax(build, bit_size, src0, src1, src2, ...) \ 13327_nir_build_ssbo_atomic_fmax(build, bit_size, src0, src1, src2, (struct _nir_ssbo_atomic_fmax_indices){0, __VA_ARGS__}) 13328#endif 13329#define nir_ssbo_atomic_fmax nir_build_ssbo_atomic_fmax 13330#ifdef __cplusplus 13331#define nir_build_ssbo_atomic_fmin(build, bit_size, src0, src1, src2, ...) \ 13332_nir_build_ssbo_atomic_fmin(build, bit_size, src0, src1, src2, _nir_ssbo_atomic_fmin_indices{0, __VA_ARGS__}) 13333#else 13334#define nir_build_ssbo_atomic_fmin(build, bit_size, src0, src1, src2, ...) \ 13335_nir_build_ssbo_atomic_fmin(build, bit_size, src0, src1, src2, (struct _nir_ssbo_atomic_fmin_indices){0, __VA_ARGS__}) 13336#endif 13337#define nir_ssbo_atomic_fmin nir_build_ssbo_atomic_fmin 13338#ifdef __cplusplus 13339#define nir_build_ssbo_atomic_imax(build, bit_size, src0, src1, src2, ...) \ 13340_nir_build_ssbo_atomic_imax(build, bit_size, src0, src1, src2, _nir_ssbo_atomic_imax_indices{0, __VA_ARGS__}) 13341#else 13342#define nir_build_ssbo_atomic_imax(build, bit_size, src0, src1, src2, ...) \ 13343_nir_build_ssbo_atomic_imax(build, bit_size, src0, src1, src2, (struct _nir_ssbo_atomic_imax_indices){0, __VA_ARGS__}) 13344#endif 13345#define nir_ssbo_atomic_imax nir_build_ssbo_atomic_imax 13346#ifdef __cplusplus 13347#define nir_build_ssbo_atomic_imax_ir3(build, bit_size, src0, src1, src2, src3, ...) \ 13348_nir_build_ssbo_atomic_imax_ir3(build, bit_size, src0, src1, src2, src3, _nir_ssbo_atomic_imax_ir3_indices{0, __VA_ARGS__}) 13349#else 13350#define nir_build_ssbo_atomic_imax_ir3(build, bit_size, src0, src1, src2, src3, ...) \ 13351_nir_build_ssbo_atomic_imax_ir3(build, bit_size, src0, src1, src2, src3, (struct _nir_ssbo_atomic_imax_ir3_indices){0, __VA_ARGS__}) 13352#endif 13353#define nir_ssbo_atomic_imax_ir3 nir_build_ssbo_atomic_imax_ir3 13354#ifdef __cplusplus 13355#define nir_build_ssbo_atomic_imin(build, bit_size, src0, src1, src2, ...) \ 13356_nir_build_ssbo_atomic_imin(build, bit_size, src0, src1, src2, _nir_ssbo_atomic_imin_indices{0, __VA_ARGS__}) 13357#else 13358#define nir_build_ssbo_atomic_imin(build, bit_size, src0, src1, src2, ...) \ 13359_nir_build_ssbo_atomic_imin(build, bit_size, src0, src1, src2, (struct _nir_ssbo_atomic_imin_indices){0, __VA_ARGS__}) 13360#endif 13361#define nir_ssbo_atomic_imin nir_build_ssbo_atomic_imin 13362#ifdef __cplusplus 13363#define nir_build_ssbo_atomic_imin_ir3(build, bit_size, src0, src1, src2, src3, ...) \ 13364_nir_build_ssbo_atomic_imin_ir3(build, bit_size, src0, src1, src2, src3, _nir_ssbo_atomic_imin_ir3_indices{0, __VA_ARGS__}) 13365#else 13366#define nir_build_ssbo_atomic_imin_ir3(build, bit_size, src0, src1, src2, src3, ...) \ 13367_nir_build_ssbo_atomic_imin_ir3(build, bit_size, src0, src1, src2, src3, (struct _nir_ssbo_atomic_imin_ir3_indices){0, __VA_ARGS__}) 13368#endif 13369#define nir_ssbo_atomic_imin_ir3 nir_build_ssbo_atomic_imin_ir3 13370#ifdef __cplusplus 13371#define nir_build_ssbo_atomic_or(build, bit_size, src0, src1, src2, ...) \ 13372_nir_build_ssbo_atomic_or(build, bit_size, src0, src1, src2, _nir_ssbo_atomic_or_indices{0, __VA_ARGS__}) 13373#else 13374#define nir_build_ssbo_atomic_or(build, bit_size, src0, src1, src2, ...) \ 13375_nir_build_ssbo_atomic_or(build, bit_size, src0, src1, src2, (struct _nir_ssbo_atomic_or_indices){0, __VA_ARGS__}) 13376#endif 13377#define nir_ssbo_atomic_or nir_build_ssbo_atomic_or 13378#ifdef __cplusplus 13379#define nir_build_ssbo_atomic_or_ir3(build, bit_size, src0, src1, src2, src3, ...) \ 13380_nir_build_ssbo_atomic_or_ir3(build, bit_size, src0, src1, src2, src3, _nir_ssbo_atomic_or_ir3_indices{0, __VA_ARGS__}) 13381#else 13382#define nir_build_ssbo_atomic_or_ir3(build, bit_size, src0, src1, src2, src3, ...) \ 13383_nir_build_ssbo_atomic_or_ir3(build, bit_size, src0, src1, src2, src3, (struct _nir_ssbo_atomic_or_ir3_indices){0, __VA_ARGS__}) 13384#endif 13385#define nir_ssbo_atomic_or_ir3 nir_build_ssbo_atomic_or_ir3 13386#ifdef __cplusplus 13387#define nir_build_ssbo_atomic_umax(build, bit_size, src0, src1, src2, ...) \ 13388_nir_build_ssbo_atomic_umax(build, bit_size, src0, src1, src2, _nir_ssbo_atomic_umax_indices{0, __VA_ARGS__}) 13389#else 13390#define nir_build_ssbo_atomic_umax(build, bit_size, src0, src1, src2, ...) \ 13391_nir_build_ssbo_atomic_umax(build, bit_size, src0, src1, src2, (struct _nir_ssbo_atomic_umax_indices){0, __VA_ARGS__}) 13392#endif 13393#define nir_ssbo_atomic_umax nir_build_ssbo_atomic_umax 13394#ifdef __cplusplus 13395#define nir_build_ssbo_atomic_umax_ir3(build, bit_size, src0, src1, src2, src3, ...) \ 13396_nir_build_ssbo_atomic_umax_ir3(build, bit_size, src0, src1, src2, src3, _nir_ssbo_atomic_umax_ir3_indices{0, __VA_ARGS__}) 13397#else 13398#define nir_build_ssbo_atomic_umax_ir3(build, bit_size, src0, src1, src2, src3, ...) \ 13399_nir_build_ssbo_atomic_umax_ir3(build, bit_size, src0, src1, src2, src3, (struct _nir_ssbo_atomic_umax_ir3_indices){0, __VA_ARGS__}) 13400#endif 13401#define nir_ssbo_atomic_umax_ir3 nir_build_ssbo_atomic_umax_ir3 13402#ifdef __cplusplus 13403#define nir_build_ssbo_atomic_umin(build, bit_size, src0, src1, src2, ...) \ 13404_nir_build_ssbo_atomic_umin(build, bit_size, src0, src1, src2, _nir_ssbo_atomic_umin_indices{0, __VA_ARGS__}) 13405#else 13406#define nir_build_ssbo_atomic_umin(build, bit_size, src0, src1, src2, ...) \ 13407_nir_build_ssbo_atomic_umin(build, bit_size, src0, src1, src2, (struct _nir_ssbo_atomic_umin_indices){0, __VA_ARGS__}) 13408#endif 13409#define nir_ssbo_atomic_umin nir_build_ssbo_atomic_umin 13410#ifdef __cplusplus 13411#define nir_build_ssbo_atomic_umin_ir3(build, bit_size, src0, src1, src2, src3, ...) \ 13412_nir_build_ssbo_atomic_umin_ir3(build, bit_size, src0, src1, src2, src3, _nir_ssbo_atomic_umin_ir3_indices{0, __VA_ARGS__}) 13413#else 13414#define nir_build_ssbo_atomic_umin_ir3(build, bit_size, src0, src1, src2, src3, ...) \ 13415_nir_build_ssbo_atomic_umin_ir3(build, bit_size, src0, src1, src2, src3, (struct _nir_ssbo_atomic_umin_ir3_indices){0, __VA_ARGS__}) 13416#endif 13417#define nir_ssbo_atomic_umin_ir3 nir_build_ssbo_atomic_umin_ir3 13418#ifdef __cplusplus 13419#define nir_build_ssbo_atomic_xor(build, bit_size, src0, src1, src2, ...) \ 13420_nir_build_ssbo_atomic_xor(build, bit_size, src0, src1, src2, _nir_ssbo_atomic_xor_indices{0, __VA_ARGS__}) 13421#else 13422#define nir_build_ssbo_atomic_xor(build, bit_size, src0, src1, src2, ...) \ 13423_nir_build_ssbo_atomic_xor(build, bit_size, src0, src1, src2, (struct _nir_ssbo_atomic_xor_indices){0, __VA_ARGS__}) 13424#endif 13425#define nir_ssbo_atomic_xor nir_build_ssbo_atomic_xor 13426#ifdef __cplusplus 13427#define nir_build_ssbo_atomic_xor_ir3(build, bit_size, src0, src1, src2, src3, ...) \ 13428_nir_build_ssbo_atomic_xor_ir3(build, bit_size, src0, src1, src2, src3, _nir_ssbo_atomic_xor_ir3_indices{0, __VA_ARGS__}) 13429#else 13430#define nir_build_ssbo_atomic_xor_ir3(build, bit_size, src0, src1, src2, src3, ...) \ 13431_nir_build_ssbo_atomic_xor_ir3(build, bit_size, src0, src1, src2, src3, (struct _nir_ssbo_atomic_xor_ir3_indices){0, __VA_ARGS__}) 13432#endif 13433#define nir_ssbo_atomic_xor_ir3 nir_build_ssbo_atomic_xor_ir3 13434#ifdef __cplusplus 13435#define nir_build_store_buffer_amd(build, src0, src1, src2, src3, ...) \ 13436_nir_build_store_buffer_amd(build, src0, src1, src2, src3, _nir_store_buffer_amd_indices{0, __VA_ARGS__}) 13437#else 13438#define nir_build_store_buffer_amd(build, src0, src1, src2, src3, ...) \ 13439_nir_build_store_buffer_amd(build, src0, src1, src2, src3, (struct _nir_store_buffer_amd_indices){0, __VA_ARGS__}) 13440#endif 13441#define nir_store_buffer_amd nir_build_store_buffer_amd 13442#ifdef __cplusplus 13443#define nir_build_store_combined_output_pan(build, src0, src1, src2, src3, ...) \ 13444_nir_build_store_combined_output_pan(build, src0, src1, src2, src3, _nir_store_combined_output_pan_indices{0, __VA_ARGS__}) 13445#else 13446#define nir_build_store_combined_output_pan(build, src0, src1, src2, src3, ...) \ 13447_nir_build_store_combined_output_pan(build, src0, src1, src2, src3, (struct _nir_store_combined_output_pan_indices){0, __VA_ARGS__}) 13448#endif 13449#define nir_store_combined_output_pan nir_build_store_combined_output_pan 13450#ifdef __cplusplus 13451#define nir_build_store_deref(build, src0, src1, ...) \ 13452_nir_build_store_deref(build, src0, src1, _nir_store_deref_indices{0, __VA_ARGS__}) 13453#else 13454#define nir_build_store_deref(build, src0, src1, ...) \ 13455_nir_build_store_deref(build, src0, src1, (struct _nir_store_deref_indices){0, __VA_ARGS__}) 13456#endif 13457#define nir_store_deref nir_build_store_deref 13458#ifdef __cplusplus 13459#define nir_build_store_deref_block_intel(build, src0, src1, ...) \ 13460_nir_build_store_deref_block_intel(build, src0, src1, _nir_store_deref_block_intel_indices{0, __VA_ARGS__}) 13461#else 13462#define nir_build_store_deref_block_intel(build, src0, src1, ...) \ 13463_nir_build_store_deref_block_intel(build, src0, src1, (struct _nir_store_deref_block_intel_indices){0, __VA_ARGS__}) 13464#endif 13465#define nir_store_deref_block_intel nir_build_store_deref_block_intel 13466#ifdef __cplusplus 13467#define nir_build_store_global(build, src0, src1, ...) \ 13468_nir_build_store_global(build, src0, src1, _nir_store_global_indices{0, __VA_ARGS__}) 13469#else 13470#define nir_build_store_global(build, src0, src1, ...) \ 13471_nir_build_store_global(build, src0, src1, (struct _nir_store_global_indices){0, __VA_ARGS__}) 13472#endif 13473#define nir_store_global nir_build_store_global 13474#ifdef __cplusplus 13475#define nir_build_store_global_block_intel(build, src0, src1, ...) \ 13476_nir_build_store_global_block_intel(build, src0, src1, _nir_store_global_block_intel_indices{0, __VA_ARGS__}) 13477#else 13478#define nir_build_store_global_block_intel(build, src0, src1, ...) \ 13479_nir_build_store_global_block_intel(build, src0, src1, (struct _nir_store_global_block_intel_indices){0, __VA_ARGS__}) 13480#endif 13481#define nir_store_global_block_intel nir_build_store_global_block_intel 13482#ifdef __cplusplus 13483#define nir_build_store_global_ir3(build, src0, src1, src2, ...) \ 13484_nir_build_store_global_ir3(build, src0, src1, src2, _nir_store_global_ir3_indices{0, __VA_ARGS__}) 13485#else 13486#define nir_build_store_global_ir3(build, src0, src1, src2, ...) \ 13487_nir_build_store_global_ir3(build, src0, src1, src2, (struct _nir_store_global_ir3_indices){0, __VA_ARGS__}) 13488#endif 13489#define nir_store_global_ir3 nir_build_store_global_ir3 13490#ifdef __cplusplus 13491#define nir_build_store_local_shared_r600(build, src0, src1, ...) \ 13492_nir_build_store_local_shared_r600(build, src0, src1, _nir_store_local_shared_r600_indices{0, __VA_ARGS__}) 13493#else 13494#define nir_build_store_local_shared_r600(build, src0, src1, ...) \ 13495_nir_build_store_local_shared_r600(build, src0, src1, (struct _nir_store_local_shared_r600_indices){0, __VA_ARGS__}) 13496#endif 13497#define nir_store_local_shared_r600 nir_build_store_local_shared_r600 13498#ifdef __cplusplus 13499#define nir_build_store_output(build, src0, src1, ...) \ 13500_nir_build_store_output(build, src0, src1, _nir_store_output_indices{0, __VA_ARGS__}) 13501#else 13502#define nir_build_store_output(build, src0, src1, ...) \ 13503_nir_build_store_output(build, src0, src1, (struct _nir_store_output_indices){0, __VA_ARGS__}) 13504#endif 13505#define nir_store_output nir_build_store_output 13506#ifdef __cplusplus 13507#define nir_build_store_per_primitive_output(build, src0, src1, src2, ...) \ 13508_nir_build_store_per_primitive_output(build, src0, src1, src2, _nir_store_per_primitive_output_indices{0, __VA_ARGS__}) 13509#else 13510#define nir_build_store_per_primitive_output(build, src0, src1, src2, ...) \ 13511_nir_build_store_per_primitive_output(build, src0, src1, src2, (struct _nir_store_per_primitive_output_indices){0, __VA_ARGS__}) 13512#endif 13513#define nir_store_per_primitive_output nir_build_store_per_primitive_output 13514#ifdef __cplusplus 13515#define nir_build_store_per_vertex_output(build, src0, src1, src2, ...) \ 13516_nir_build_store_per_vertex_output(build, src0, src1, src2, _nir_store_per_vertex_output_indices{0, __VA_ARGS__}) 13517#else 13518#define nir_build_store_per_vertex_output(build, src0, src1, src2, ...) \ 13519_nir_build_store_per_vertex_output(build, src0, src1, src2, (struct _nir_store_per_vertex_output_indices){0, __VA_ARGS__}) 13520#endif 13521#define nir_store_per_vertex_output nir_build_store_per_vertex_output 13522#define nir_build_store_raw_output_pan _nir_build_store_raw_output_pan 13523#define nir_store_raw_output_pan nir_build_store_raw_output_pan 13524#ifdef __cplusplus 13525#define nir_build_store_scratch(build, src0, src1, ...) \ 13526_nir_build_store_scratch(build, src0, src1, _nir_store_scratch_indices{0, __VA_ARGS__}) 13527#else 13528#define nir_build_store_scratch(build, src0, src1, ...) \ 13529_nir_build_store_scratch(build, src0, src1, (struct _nir_store_scratch_indices){0, __VA_ARGS__}) 13530#endif 13531#define nir_store_scratch nir_build_store_scratch 13532#define nir_build_store_scratch_dxil _nir_build_store_scratch_dxil 13533#define nir_store_scratch_dxil nir_build_store_scratch_dxil 13534#ifdef __cplusplus 13535#define nir_build_store_shared(build, src0, src1, ...) \ 13536_nir_build_store_shared(build, src0, src1, _nir_store_shared_indices{0, __VA_ARGS__}) 13537#else 13538#define nir_build_store_shared(build, src0, src1, ...) \ 13539_nir_build_store_shared(build, src0, src1, (struct _nir_store_shared_indices){0, __VA_ARGS__}) 13540#endif 13541#define nir_store_shared nir_build_store_shared 13542#ifdef __cplusplus 13543#define nir_build_store_shared_block_intel(build, src0, src1, ...) \ 13544_nir_build_store_shared_block_intel(build, src0, src1, _nir_store_shared_block_intel_indices{0, __VA_ARGS__}) 13545#else 13546#define nir_build_store_shared_block_intel(build, src0, src1, ...) \ 13547_nir_build_store_shared_block_intel(build, src0, src1, (struct _nir_store_shared_block_intel_indices){0, __VA_ARGS__}) 13548#endif 13549#define nir_store_shared_block_intel nir_build_store_shared_block_intel 13550#define nir_build_store_shared_dxil _nir_build_store_shared_dxil 13551#define nir_store_shared_dxil nir_build_store_shared_dxil 13552#ifdef __cplusplus 13553#define nir_build_store_shared_ir3(build, src0, src1, ...) \ 13554_nir_build_store_shared_ir3(build, src0, src1, _nir_store_shared_ir3_indices{0, __VA_ARGS__}) 13555#else 13556#define nir_build_store_shared_ir3(build, src0, src1, ...) \ 13557_nir_build_store_shared_ir3(build, src0, src1, (struct _nir_store_shared_ir3_indices){0, __VA_ARGS__}) 13558#endif 13559#define nir_store_shared_ir3 nir_build_store_shared_ir3 13560#define nir_build_store_shared_masked_dxil _nir_build_store_shared_masked_dxil 13561#define nir_store_shared_masked_dxil nir_build_store_shared_masked_dxil 13562#ifdef __cplusplus 13563#define nir_build_store_ssbo(build, src0, src1, src2, ...) \ 13564_nir_build_store_ssbo(build, src0, src1, src2, _nir_store_ssbo_indices{0, __VA_ARGS__}) 13565#else 13566#define nir_build_store_ssbo(build, src0, src1, src2, ...) \ 13567_nir_build_store_ssbo(build, src0, src1, src2, (struct _nir_store_ssbo_indices){0, __VA_ARGS__}) 13568#endif 13569#define nir_store_ssbo nir_build_store_ssbo 13570#ifdef __cplusplus 13571#define nir_build_store_ssbo_block_intel(build, src0, src1, src2, ...) \ 13572_nir_build_store_ssbo_block_intel(build, src0, src1, src2, _nir_store_ssbo_block_intel_indices{0, __VA_ARGS__}) 13573#else 13574#define nir_build_store_ssbo_block_intel(build, src0, src1, src2, ...) \ 13575_nir_build_store_ssbo_block_intel(build, src0, src1, src2, (struct _nir_store_ssbo_block_intel_indices){0, __VA_ARGS__}) 13576#endif 13577#define nir_store_ssbo_block_intel nir_build_store_ssbo_block_intel 13578#ifdef __cplusplus 13579#define nir_build_store_ssbo_ir3(build, src0, src1, src2, src3, ...) \ 13580_nir_build_store_ssbo_ir3(build, src0, src1, src2, src3, _nir_store_ssbo_ir3_indices{0, __VA_ARGS__}) 13581#else 13582#define nir_build_store_ssbo_ir3(build, src0, src1, src2, src3, ...) \ 13583_nir_build_store_ssbo_ir3(build, src0, src1, src2, src3, (struct _nir_store_ssbo_ir3_indices){0, __VA_ARGS__}) 13584#endif 13585#define nir_store_ssbo_ir3 nir_build_store_ssbo_ir3 13586#define nir_build_store_ssbo_masked_dxil _nir_build_store_ssbo_masked_dxil 13587#define nir_store_ssbo_masked_dxil nir_build_store_ssbo_masked_dxil 13588#define nir_build_store_tf_r600 _nir_build_store_tf_r600 13589#define nir_store_tf_r600 nir_build_store_tf_r600 13590#ifdef __cplusplus 13591#define nir_build_store_tlb_sample_color_v3d(build, src0, src1, ...) \ 13592_nir_build_store_tlb_sample_color_v3d(build, src0, src1, _nir_store_tlb_sample_color_v3d_indices{0, __VA_ARGS__}) 13593#else 13594#define nir_build_store_tlb_sample_color_v3d(build, src0, src1, ...) \ 13595_nir_build_store_tlb_sample_color_v3d(build, src0, src1, (struct _nir_store_tlb_sample_color_v3d_indices){0, __VA_ARGS__}) 13596#endif 13597#define nir_store_tlb_sample_color_v3d nir_build_store_tlb_sample_color_v3d 13598#define nir_build_terminate _nir_build_terminate 13599#define nir_terminate nir_build_terminate 13600#define nir_build_terminate_if _nir_build_terminate_if 13601#define nir_terminate_if nir_build_terminate_if 13602#define nir_build_terminate_ray _nir_build_terminate_ray 13603#define nir_terminate_ray nir_build_terminate_ray 13604#define nir_build_trace_ray _nir_build_trace_ray 13605#define nir_trace_ray nir_build_trace_ray 13606#define nir_build_trace_ray_commit_intel _nir_build_trace_ray_commit_intel 13607#define nir_trace_ray_commit_intel nir_build_trace_ray_commit_intel 13608#define nir_build_trace_ray_continue_intel _nir_build_trace_ray_continue_intel 13609#define nir_trace_ray_continue_intel nir_build_trace_ray_continue_intel 13610#define nir_build_trace_ray_initial_intel _nir_build_trace_ray_initial_intel 13611#define nir_trace_ray_initial_intel nir_build_trace_ray_initial_intel 13612#define nir_build_vote_all _nir_build_vote_all 13613#define nir_vote_all nir_build_vote_all 13614#define nir_build_vote_any _nir_build_vote_any 13615#define nir_vote_any nir_build_vote_any 13616#define nir_build_vote_feq _nir_build_vote_feq 13617#define nir_vote_feq nir_build_vote_feq 13618#define nir_build_vote_ieq _nir_build_vote_ieq 13619#define nir_vote_ieq nir_build_vote_ieq 13620#ifdef __cplusplus 13621#define nir_build_vulkan_resource_index(build, num_components, bit_size, src0, ...) \ 13622_nir_build_vulkan_resource_index(build, num_components, bit_size, src0, _nir_vulkan_resource_index_indices{0, __VA_ARGS__}) 13623#else 13624#define nir_build_vulkan_resource_index(build, num_components, bit_size, src0, ...) \ 13625_nir_build_vulkan_resource_index(build, num_components, bit_size, src0, (struct _nir_vulkan_resource_index_indices){0, __VA_ARGS__}) 13626#endif 13627#define nir_vulkan_resource_index nir_build_vulkan_resource_index 13628#ifdef __cplusplus 13629#define nir_build_vulkan_resource_reindex(build, bit_size, src0, src1, ...) \ 13630_nir_build_vulkan_resource_reindex(build, bit_size, src0, src1, _nir_vulkan_resource_reindex_indices{0, __VA_ARGS__}) 13631#else 13632#define nir_build_vulkan_resource_reindex(build, bit_size, src0, src1, ...) \ 13633_nir_build_vulkan_resource_reindex(build, bit_size, src0, src1, (struct _nir_vulkan_resource_reindex_indices){0, __VA_ARGS__}) 13634#endif 13635#define nir_vulkan_resource_reindex nir_build_vulkan_resource_reindex 13636#define nir_build_write_invocation_amd _nir_build_write_invocation_amd 13637#define nir_write_invocation_amd nir_build_write_invocation_amd 13638 13639#endif /* _NIR_BUILDER_OPCODES_ */ 13640