• Home
  • Raw
  • Download

Lines Matching full:build

42 nir_builder_init(nir_builder *build, nir_function_impl *impl)  in nir_builder_init()  argument
44 memset(build, 0, sizeof(*build)); in nir_builder_init()
45 build->exact = false; in nir_builder_init()
46 build->impl = impl; in nir_builder_init()
47 build->shader = impl->function->shader; in nir_builder_init()
51 nir_builder_init_simple_shader(nir_builder *build, void *mem_ctx, in nir_builder_init_simple_shader() argument
55 build->shader = nir_shader_create(mem_ctx, stage, options, NULL); in nir_builder_init_simple_shader()
56 nir_function *func = nir_function_create(build->shader, "main"); in nir_builder_init_simple_shader()
57 build->exact = false; in nir_builder_init_simple_shader()
58 build->impl = nir_function_impl_create(func); in nir_builder_init_simple_shader()
59 build->cursor = nir_after_cf_list(&build->impl->body); in nir_builder_init_simple_shader()
63 nir_builder_instr_insert(nir_builder *build, nir_instr *instr) in nir_builder_instr_insert() argument
65 nir_instr_insert(build->cursor, instr); in nir_builder_instr_insert()
68 build->cursor = nir_after_instr(instr); in nir_builder_instr_insert()
72 nir_builder_last_instr(nir_builder *build) in nir_builder_last_instr() argument
74 assert(build->cursor.option == nir_cursor_after_instr); in nir_builder_last_instr()
75 return build->cursor.instr; in nir_builder_last_instr()
79 nir_builder_cf_insert(nir_builder *build, nir_cf_node *cf) in nir_builder_cf_insert() argument
81 nir_cf_node_insert(build->cursor, cf); in nir_builder_cf_insert()
85 nir_builder_is_inside_cf(nir_builder *build, nir_cf_node *cf_node) in nir_builder_is_inside_cf() argument
87 nir_block *block = nir_cursor_current_block(build->cursor); in nir_builder_is_inside_cf()
96 nir_push_if(nir_builder *build, nir_ssa_def *condition) in nir_push_if() argument
98 nir_if *nif = nir_if_create(build->shader); in nir_push_if()
100 nir_builder_cf_insert(build, &nif->cf_node); in nir_push_if()
101 build->cursor = nir_before_cf_list(&nif->then_list); in nir_push_if()
106 nir_push_else(nir_builder *build, nir_if *nif) in nir_push_else() argument
109 assert(nir_builder_is_inside_cf(build, &nif->cf_node)); in nir_push_else()
111 nir_block *block = nir_cursor_current_block(build->cursor); in nir_push_else()
114 build->cursor = nir_before_cf_list(&nif->else_list); in nir_push_else()
119 nir_pop_if(nir_builder *build, nir_if *nif) in nir_pop_if() argument
122 assert(nir_builder_is_inside_cf(build, &nif->cf_node)); in nir_pop_if()
124 nir_block *block = nir_cursor_current_block(build->cursor); in nir_pop_if()
127 build->cursor = nir_after_cf_node(&nif->cf_node); in nir_pop_if()
131 nir_if_phi(nir_builder *build, nir_ssa_def *then_def, nir_ssa_def *else_def) in nir_if_phi() argument
133 nir_block *block = nir_cursor_current_block(build->cursor); in nir_if_phi()
136 nir_phi_instr *phi = nir_phi_instr_create(build->shader); in nir_if_phi()
153 nir_builder_instr_insert(build, &phi->instr); in nir_if_phi()
159 nir_push_loop(nir_builder *build) in nir_push_loop() argument
161 nir_loop *loop = nir_loop_create(build->shader); in nir_push_loop()
162 nir_builder_cf_insert(build, &loop->cf_node); in nir_push_loop()
163 build->cursor = nir_before_cf_list(&loop->body); in nir_push_loop()
168 nir_pop_loop(nir_builder *build, nir_loop *loop) in nir_pop_loop() argument
171 assert(nir_builder_is_inside_cf(build, &loop->cf_node)); in nir_pop_loop()
173 nir_block *block = nir_cursor_current_block(build->cursor); in nir_pop_loop()
176 build->cursor = nir_after_cf_node(&loop->cf_node); in nir_pop_loop()
180 nir_ssa_undef(nir_builder *build, unsigned num_components, unsigned bit_size) in nir_ssa_undef() argument
183 nir_ssa_undef_instr_create(build->shader, num_components, bit_size); in nir_ssa_undef()
187 nir_instr_insert(nir_before_cf_list(&build->impl->body), &undef->instr); in nir_ssa_undef()
193 nir_build_imm(nir_builder *build, unsigned num_components, in nir_build_imm() argument
197 nir_load_const_instr_create(build->shader, num_components, bit_size); in nir_build_imm()
203 nir_builder_instr_insert(build, &load_const->instr); in nir_build_imm()
209 nir_imm_float(nir_builder *build, float x) in nir_imm_float() argument
216 return nir_build_imm(build, 1, 32, v); in nir_imm_float()
220 nir_imm_double(nir_builder *build, double x) in nir_imm_double() argument
227 return nir_build_imm(build, 1, 64, v); in nir_imm_double()
231 nir_imm_vec4(nir_builder *build, float x, float y, float z, float w) in nir_imm_vec4() argument
241 return nir_build_imm(build, 4, 32, v); in nir_imm_vec4()
245 nir_imm_int(nir_builder *build, int x) in nir_imm_int() argument
252 return nir_build_imm(build, 1, 32, v); in nir_imm_int()
256 nir_imm_int64(nir_builder *build, int64_t x) in nir_imm_int64() argument
263 return nir_build_imm(build, 1, 64, v); in nir_imm_int64()
267 nir_imm_intN_t(nir_builder *build, uint64_t x, unsigned bit_size) in nir_imm_intN_t() argument
275 return nir_build_imm(build, 1, bit_size, v); in nir_imm_intN_t()
279 nir_imm_ivec4(nir_builder *build, int x, int y, int z, int w) in nir_imm_ivec4() argument
289 return nir_build_imm(build, 4, 32, v); in nir_imm_ivec4()
293 nir_build_alu(nir_builder *build, nir_op op, nir_ssa_def *src0, in nir_build_alu() argument
297 nir_alu_instr *instr = nir_alu_instr_create(build->shader, op); in nir_build_alu()
301 instr->exact = build->exact; in nir_build_alu()
360 nir_builder_instr_insert(build, &instr->instr); in nir_build_alu()
368 nir_vec(nir_builder *build, nir_ssa_def **comp, unsigned num_components) in nir_vec() argument
372 return nir_vec4(build, comp[0], comp[1], comp[2], comp[3]); in nir_vec()
374 return nir_vec3(build, comp[0], comp[1], comp[2]); in nir_vec()
376 return nir_vec2(build, comp[0], comp[1]); in nir_vec()
389 nir_fmov_alu(nir_builder *build, nir_alu_src src, unsigned num_components) in nir_fmov_alu() argument
391 nir_alu_instr *mov = nir_alu_instr_create(build->shader, nir_op_fmov); in nir_fmov_alu()
394 mov->exact = build->exact; in nir_fmov_alu()
397 nir_builder_instr_insert(build, &mov->instr); in nir_fmov_alu()
403 nir_imov_alu(nir_builder *build, nir_alu_src src, unsigned num_components) in nir_imov_alu() argument
405 nir_alu_instr *mov = nir_alu_instr_create(build->shader, nir_op_imov); in nir_imov_alu()
408 mov->exact = build->exact; in nir_imov_alu()
411 nir_builder_instr_insert(build, &mov->instr); in nir_imov_alu()
420 nir_swizzle(nir_builder *build, nir_ssa_def *src, const unsigned swiz[4], in nir_swizzle() argument
428 return use_fmov ? nir_fmov_alu(build, alu_src, num_components) : in nir_swizzle()
429 nir_imov_alu(build, alu_src, num_components); in nir_swizzle()
434 nir_fdot(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1) in nir_fdot() argument
438 case 1: return nir_fmul(build, src0, src1); in nir_fdot()
439 case 2: return nir_fdot2(build, src0, src1); in nir_fdot()
440 case 3: return nir_fdot3(build, src0, src1); in nir_fdot()
441 case 4: return nir_fdot4(build, src0, src1); in nir_fdot()
496 nir_ssa_for_src(nir_builder *build, nir_src src, int num_components) in nir_ssa_for_src() argument
506 return nir_imov_alu(build, alu, num_components); in nir_ssa_for_src()
514 nir_ssa_for_alu_src(nir_builder *build, nir_alu_instr *instr, unsigned srcn) in nir_ssa_for_alu_src() argument
525 return nir_imov_alu(build, *src, num_components); in nir_ssa_for_alu_src()
529 nir_load_var(nir_builder *build, nir_variable *var) in nir_load_var() argument
534 nir_intrinsic_instr_create(build->shader, nir_intrinsic_load_var); in nir_load_var()
539 nir_builder_instr_insert(build, &load->instr); in nir_load_var()
544 nir_load_deref_var(nir_builder *build, nir_deref_var *deref) in nir_load_deref_var() argument
550 nir_intrinsic_instr_create(build->shader, nir_intrinsic_load_var); in nir_load_deref_var()
555 nir_builder_instr_insert(build, &load->instr); in nir_load_deref_var()
560 nir_store_var(nir_builder *build, nir_variable *var, nir_ssa_def *value, in nir_store_var() argument
566 nir_intrinsic_instr_create(build->shader, nir_intrinsic_store_var); in nir_store_var()
571 nir_builder_instr_insert(build, &store->instr); in nir_store_var()
575 nir_store_deref_var(nir_builder *build, nir_deref_var *deref, in nir_store_deref_var() argument
582 nir_intrinsic_instr_create(build->shader, nir_intrinsic_store_var); in nir_store_deref_var()
587 nir_builder_instr_insert(build, &store->instr); in nir_store_deref_var()
591 nir_copy_deref_var(nir_builder *build, nir_deref_var *dest, nir_deref_var *src) in nir_copy_deref_var() argument
597 nir_intrinsic_instr_create(build->shader, nir_intrinsic_copy_var); in nir_copy_deref_var()
600 nir_builder_instr_insert(build, &copy->instr); in nir_copy_deref_var()
604 nir_copy_var(nir_builder *build, nir_variable *dest, nir_variable *src) in nir_copy_var() argument
607 nir_intrinsic_instr_create(build->shader, nir_intrinsic_copy_var); in nir_copy_var()
610 nir_builder_instr_insert(build, &copy->instr); in nir_copy_var()
615 nir_load_system_value(nir_builder *build, nir_intrinsic_op op, int index) in nir_load_system_value() argument
617 nir_intrinsic_instr *load = nir_intrinsic_instr_create(build->shader, op); in nir_load_system_value()
622 nir_builder_instr_insert(build, &load->instr); in nir_load_system_value()
633 nir_load_##name(nir_builder *build) \
635 return nir_load_system_value(build, nir_intrinsic_load_##name, 0); \
641 nir_load_barycentric(nir_builder *build, nir_intrinsic_op op, in nir_load_barycentric() argument
644 nir_intrinsic_instr *bary = nir_intrinsic_instr_create(build->shader, op); in nir_load_barycentric()
647 nir_builder_instr_insert(build, &bary->instr); in nir_load_barycentric()
652 nir_jump(nir_builder *build, nir_jump_type jump_type) in nir_jump() argument
654 nir_jump_instr *jump = nir_jump_instr_create(build->shader, jump_type); in nir_jump()
655 nir_builder_instr_insert(build, &jump->instr); in nir_jump()