• Home
  • Raw
  • Download

Lines Matching full:build

28 nir_builder_init(nir_builder *build, nir_function_impl *impl)  in nir_builder_init()  argument
30 memset(build, 0, sizeof(*build)); in nir_builder_init()
31 build->exact = false; in nir_builder_init()
32 build->impl = impl; in nir_builder_init()
33 build->shader = impl->function->shader; in nir_builder_init()
66 nir_builder_alu_instr_finish_and_insert(nir_builder *build, nir_alu_instr *instr) in nir_builder_alu_instr_finish_and_insert() argument
70 instr->exact = build->exact; in nir_builder_alu_instr_finish_and_insert()
122 nir_builder_instr_insert(build, &instr->instr); in nir_builder_alu_instr_finish_and_insert()
128 nir_build_alu(nir_builder *build, nir_op op, nir_ssa_def *src0, in nir_build_alu() argument
131 nir_alu_instr *instr = nir_alu_instr_create(build->shader, op); in nir_build_alu()
143 return nir_builder_alu_instr_finish_and_insert(build, instr); in nir_build_alu()
147 nir_build_alu1(nir_builder *build, nir_op op, nir_ssa_def *src0) in nir_build_alu1() argument
149 nir_alu_instr *instr = nir_alu_instr_create(build->shader, op); in nir_build_alu1()
155 return nir_builder_alu_instr_finish_and_insert(build, instr); in nir_build_alu1()
159 nir_build_alu2(nir_builder *build, nir_op op, nir_ssa_def *src0, in nir_build_alu2() argument
162 nir_alu_instr *instr = nir_alu_instr_create(build->shader, op); in nir_build_alu2()
169 return nir_builder_alu_instr_finish_and_insert(build, instr); in nir_build_alu2()
173 nir_build_alu3(nir_builder *build, nir_op op, nir_ssa_def *src0, in nir_build_alu3() argument
176 nir_alu_instr *instr = nir_alu_instr_create(build->shader, op); in nir_build_alu3()
184 return nir_builder_alu_instr_finish_and_insert(build, instr); in nir_build_alu3()
188 nir_build_alu4(nir_builder *build, nir_op op, nir_ssa_def *src0, in nir_build_alu4() argument
191 nir_alu_instr *instr = nir_alu_instr_create(build->shader, op); in nir_build_alu4()
200 return nir_builder_alu_instr_finish_and_insert(build, instr); in nir_build_alu4()
205 nir_build_alu_src_arr(nir_builder *build, nir_op op, nir_ssa_def **srcs) in nir_build_alu_src_arr() argument
208 nir_alu_instr *instr = nir_alu_instr_create(build->shader, op); in nir_build_alu_src_arr()
215 return nir_builder_alu_instr_finish_and_insert(build, instr); in nir_build_alu_src_arr()
219 nir_vec_scalars(nir_builder *build, nir_ssa_scalar *comp, unsigned num_components) in nir_vec_scalars() argument
222 nir_alu_instr *instr = nir_alu_instr_create(build->shader, op); in nir_vec_scalars()
230 instr->exact = build->exact; in nir_vec_scalars()
239 nir_builder_instr_insert(build, &instr->instr); in nir_vec_scalars()
251 nir_ssa_for_src(nir_builder *build, nir_src src, int num_components) in nir_ssa_for_src() argument
263 return nir_mov_alu(build, alu, num_components); in nir_ssa_for_src()
271 nir_ssa_for_alu_src(nir_builder *build, nir_alu_instr *instr, unsigned srcn) in nir_ssa_for_alu_src() argument
278 return nir_mov_alu(build, *src, num_components); in nir_ssa_for_alu_src()
283 nir_load_system_value(nir_builder *build, nir_intrinsic_op op, int index, in nir_load_system_value() argument
286 nir_intrinsic_instr *load = nir_intrinsic_instr_create(build->shader, op); in nir_load_system_value()
295 nir_builder_instr_insert(build, &load->instr); in nir_load_system_value()
300 nir_builder_instr_insert(nir_builder *build, nir_instr *instr) in nir_builder_instr_insert() argument
302 nir_instr_insert(build->cursor, instr); in nir_builder_instr_insert()
304 if (build->update_divergence) in nir_builder_instr_insert()
305 nir_update_instr_divergence(build->shader, instr); in nir_builder_instr_insert()
308 build->cursor = nir_after_instr(instr); in nir_builder_instr_insert()
312 nir_builder_cf_insert(nir_builder *build, nir_cf_node *cf) in nir_builder_cf_insert() argument
314 nir_cf_node_insert(build->cursor, cf); in nir_builder_cf_insert()
318 nir_builder_is_inside_cf(nir_builder *build, nir_cf_node *cf_node) in nir_builder_is_inside_cf() argument
320 nir_block *block = nir_cursor_current_block(build->cursor); in nir_builder_is_inside_cf()
329 nir_push_if_src(nir_builder *build, nir_src condition) in nir_push_if_src() argument
331 nir_if *nif = nir_if_create(build->shader); in nir_push_if_src()
333 nir_builder_cf_insert(build, &nif->cf_node); in nir_push_if_src()
334 build->cursor = nir_before_cf_list(&nif->then_list); in nir_push_if_src()
339 nir_push_if(nir_builder *build, nir_ssa_def *condition) in nir_push_if() argument
341 return nir_push_if_src(build, nir_src_for_ssa(condition)); in nir_push_if()
345 nir_push_else(nir_builder *build, nir_if *nif) in nir_push_else() argument
348 assert(nir_builder_is_inside_cf(build, &nif->cf_node)); in nir_push_else()
350 nir_block *block = nir_cursor_current_block(build->cursor); in nir_push_else()
353 build->cursor = nir_before_cf_list(&nif->else_list); in nir_push_else()
358 nir_pop_if(nir_builder *build, nir_if *nif) in nir_pop_if() argument
361 assert(nir_builder_is_inside_cf(build, &nif->cf_node)); in nir_pop_if()
363 nir_block *block = nir_cursor_current_block(build->cursor); in nir_pop_if()
366 build->cursor = nir_after_cf_node(&nif->cf_node); in nir_pop_if()
370 nir_if_phi(nir_builder *build, nir_ssa_def *then_def, nir_ssa_def *else_def) in nir_if_phi() argument
372 nir_block *block = nir_cursor_current_block(build->cursor); in nir_if_phi()
375 nir_phi_instr *phi = nir_phi_instr_create(build->shader); in nir_if_phi()
384 nir_builder_instr_insert(build, &phi->instr); in nir_if_phi()
390 nir_push_loop(nir_builder *build) in nir_push_loop() argument
392 nir_loop *loop = nir_loop_create(build->shader); in nir_push_loop()
393 nir_builder_cf_insert(build, &loop->cf_node); in nir_push_loop()
394 build->cursor = nir_before_cf_list(&loop->body); in nir_push_loop()
399 nir_pop_loop(nir_builder *build, nir_loop *loop) in nir_pop_loop() argument
402 assert(nir_builder_is_inside_cf(build, &loop->cf_node)); in nir_pop_loop()
404 nir_block *block = nir_cursor_current_block(build->cursor); in nir_pop_loop()
407 build->cursor = nir_after_cf_node(&loop->cf_node); in nir_pop_loop()