/third_party/mesa3d/src/compiler/nir/ |
H A D | nir_lower_io_to_scalar.c | 44 lower_load_input_to_scalar(nir_builder *b, nir_intrinsic_instr *intr) in lower_load_input_to_scalar() argument 46 b->cursor = nir_before_instr(&intr->instr); in lower_load_input_to_scalar() 48 assert(intr->dest.is_ssa); in lower_load_input_to_scalar() 52 for (unsigned i = 0; i < intr->num_components; i++) { in lower_load_input_to_scalar() 54 nir_intrinsic_instr_create(b->shader, intr->intrinsic); in lower_load_input_to_scalar() 56 1, intr->dest.ssa.bit_size, NULL); in lower_load_input_to_scalar() 59 nir_intrinsic_set_base(chan_intr, nir_intrinsic_base(intr)); in lower_load_input_to_scalar() 60 nir_intrinsic_set_component(chan_intr, nir_intrinsic_component(intr) + i); in lower_load_input_to_scalar() 61 nir_intrinsic_set_dest_type(chan_intr, nir_intrinsic_dest_type(intr)); in lower_load_input_to_scalar() 62 set_io_semantics(chan_intr, intr, in lower_load_input_to_scalar() 78 lower_load_to_scalar(nir_builder *b, nir_intrinsic_instr *intr) lower_load_to_scalar() argument 125 lower_store_output_to_scalar(nir_builder *b, nir_intrinsic_instr *intr) lower_store_output_to_scalar() argument 183 lower_store_to_scalar(nir_builder *b, nir_intrinsic_instr *intr) lower_store_to_scalar() argument 321 lower_load_to_scalar_early(nir_builder *b, nir_intrinsic_instr *intr, nir_variable *var, struct hash_table *split_inputs, struct hash_table *split_outputs) lower_load_to_scalar_early() argument 380 lower_store_output_to_scalar_early(nir_builder *b, nir_intrinsic_instr *intr, nir_variable *var, struct hash_table *split_outputs) lower_store_output_to_scalar_early() argument [all...] |
H A D | nir_lower_wrmasks.c | 95 split_wrmask(nir_builder *b, nir_intrinsic_instr *intr) in split_wrmask() argument 97 const nir_intrinsic_info *info = &nir_intrinsic_infos[intr->intrinsic]; in split_wrmask() 99 b->cursor = nir_before_instr(&intr->instr); in split_wrmask() 104 unsigned value_idx = value_src(intr->intrinsic); in split_wrmask() 105 unsigned offset_idx = offset_src(intr->intrinsic); in split_wrmask() 106 unsigned num_comp = nir_intrinsic_src_components(intr, value_idx); in split_wrmask() 108 unsigned wrmask = nir_intrinsic_write_mask(intr); in split_wrmask() 113 nir_ssa_def *value = nir_ssa_for_src(b, intr->src[value_idx], num_comp); in split_wrmask() 114 nir_ssa_def *offset = nir_ssa_for_src(b, intr->src[offset_idx], 1); in split_wrmask() 124 nir_intrinsic_instr_create(b->shader, intr in split_wrmask() [all...] |
H A D | nir_lower_io_arrays_to_elements.c | 113 lower_array(nir_builder *b, nir_intrinsic_instr *intr, nir_variable *var, in lower_array() argument 116 b->cursor = nir_before_instr(&intr->instr); in lower_array() 118 if (nir_deref_instr_is_known_out_of_bounds(nir_src_as_deref(intr->src[0]))) { in lower_array() 120 if (intr->intrinsic != nir_intrinsic_store_deref) { in lower_array() 121 nir_ssa_def *zero = nir_imm_zero(b, intr->dest.ssa.num_components, in lower_array() 122 intr->dest.ssa.bit_size); in lower_array() 123 nir_ssa_def_rewrite_uses(&intr->dest.ssa, in lower_array() 126 nir_instr_remove(&intr->instr); in lower_array() 136 unsigned io_offset = get_io_offset(b, nir_src_as_deref(intr->src[0]), in lower_array() 173 nir_intrinsic_instr_create(b->shader, intr in lower_array() 240 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); create_indirects_mask() local 286 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); lower_io_arrays_to_elements() local [all...] |
H A D | nir_lower_ubo_vec4.c | 88 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); in nir_lower_ubo_vec4_lower() local 90 nir_ssa_def *byte_offset = nir_ssa_for_src(b, intr->src[1], 1); in nir_lower_ubo_vec4_lower() 93 unsigned align_mul = nir_intrinsic_align_mul(intr); in nir_lower_ubo_vec4_lower() 94 unsigned align_offset = nir_intrinsic_align_offset(intr); in nir_lower_ubo_vec4_lower() 96 int chan_size_bytes = intr->dest.ssa.bit_size / 8; in nir_lower_ubo_vec4_lower() 106 unsigned num_components = intr->num_components; in nir_lower_ubo_vec4_lower() 112 nir_intrinsic_instr *load = create_load(b, intr->src[0].ssa, vec4_offset, in nir_lower_ubo_vec4_lower() 113 intr->dest.ssa.bit_size, in nir_lower_ubo_vec4_lower() 116 nir_intrinsic_set_access(load, nir_intrinsic_access(intr)); in nir_lower_ubo_vec4_lower() 126 } else if (intr in nir_lower_ubo_vec4_lower() [all...] |
H A D | nir_lower_ssbo.c | 103 lower_ssbo_instr(nir_builder *b, nir_intrinsic_instr *intr) in lower_ssbo_instr() argument 105 nir_intrinsic_op op = lower_ssbo_op(intr->intrinsic); in lower_ssbo_instr() 114 nir_src index = intr->src[is_store ? 1 : 0]; in lower_ssbo_instr() 115 nir_src *offset_src = nir_get_io_offset_src(intr); in lower_ssbo_instr() 128 global->num_components = intr->num_components; in lower_ssbo_instr() 132 nir_intrinsic_set_align_mul(global, nir_intrinsic_align_mul(intr)); in lower_ssbo_instr() 133 nir_intrinsic_set_align_offset(global, nir_intrinsic_align_offset(intr)); in lower_ssbo_instr() 137 nir_src_copy(&global->src[0], &intr->src[0]); in lower_ssbo_instr() 138 nir_intrinsic_set_write_mask(global, nir_intrinsic_write_mask(intr)); in lower_ssbo_instr() 141 intr in lower_ssbo_instr() 161 const nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); should_lower_ssbo_instr() local 204 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); nir_lower_ssbo() local [all...] |
H A D | nir_lower_interpolation.c | 47 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); in nir_lower_interpolation_block() local 49 if (intr->intrinsic != nir_intrinsic_load_interpolated_input) in nir_lower_interpolation_block() 52 assert(intr->dest.is_ssa); in nir_lower_interpolation_block() 53 assert(intr->src[0].is_ssa); in nir_lower_interpolation_block() 54 assert(intr->src[1].is_ssa); in nir_lower_interpolation_block() 57 nir_instr_as_intrinsic(intr->src[0].ssa->parent_instr); in nir_lower_interpolation_block() 60 if (nir_intrinsic_base(intr) == VARYING_SLOT_POS) in nir_lower_interpolation_block() 104 for (int i = 0; i < intr->num_components; i++) { in nir_lower_interpolation_block() 106 nir_load_fs_input_interp_deltas(b, 32, intr->src[1].ssa, in nir_lower_interpolation_block() 107 .base = nir_intrinsic_base(intr), in nir_lower_interpolation_block() [all...] |
/third_party/mesa3d/src/freedreno/ir3/ |
H A D | ir3_a6xx.c | 42 emit_intrinsic_load_ssbo(struct ir3_context *ctx, nir_intrinsic_instr *intr, in emit_intrinsic_load_ssbo() argument 49 offset = ir3_get_src(ctx, &intr->src[2])[0]; in emit_intrinsic_load_ssbo() 51 ldib = ir3_LDIB(b, ir3_ssbo_to_ibo(ctx, intr->src[0]), 0, offset, 0); in emit_intrinsic_load_ssbo() 52 ldib->dsts[0]->wrmask = MASK(intr->num_components); in emit_intrinsic_load_ssbo() 53 ldib->cat6.iim_val = intr->num_components; in emit_intrinsic_load_ssbo() 55 ldib->cat6.type = intr->dest.ssa.bit_size == 16 ? TYPE_U16 : TYPE_U32; in emit_intrinsic_load_ssbo() 58 ir3_handle_bindless_cat6(ldib, intr->src[0]); in emit_intrinsic_load_ssbo() 59 ir3_handle_nonuniform(ldib, intr); in emit_intrinsic_load_ssbo() 61 ir3_split_dest(b, dst, ldib, 0, intr->num_components); in emit_intrinsic_load_ssbo() 66 emit_intrinsic_store_ssbo(struct ir3_context *ctx, nir_intrinsic_instr *intr) in emit_intrinsic_store_ssbo() argument 110 emit_intrinsic_atomic_ssbo(struct ir3_context *ctx, nir_intrinsic_instr *intr) emit_intrinsic_atomic_ssbo() argument 201 emit_intrinsic_load_image(struct ir3_context *ctx, nir_intrinsic_instr *intr, struct ir3_instruction **dst) emit_intrinsic_load_image() argument 226 emit_intrinsic_store_image(struct ir3_context *ctx, nir_intrinsic_instr *intr) emit_intrinsic_store_image() argument 255 emit_intrinsic_atomic_image(struct ir3_context *ctx, nir_intrinsic_instr *intr) emit_intrinsic_atomic_image() argument 348 emit_intrinsic_image_size(struct ir3_context *ctx, nir_intrinsic_instr *intr, struct ir3_instruction **dst) emit_intrinsic_image_size() argument 368 emit_intrinsic_load_global_ir3(struct ir3_context *ctx, nir_intrinsic_instr *intr, struct ir3_instruction **dst) emit_intrinsic_load_global_ir3() argument 405 emit_intrinsic_store_global_ir3(struct ir3_context *ctx, nir_intrinsic_instr *intr) emit_intrinsic_store_global_ir3() argument 445 emit_intrinsic_atomic_global(struct ir3_context *ctx, nir_intrinsic_instr *intr) emit_intrinsic_atomic_global() argument [all...] |
H A D | ir3_nir_lower_64b.c | 41 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); in lower_64b_intrinsics_filter() 43 if (intr->intrinsic == nir_intrinsic_load_deref || in lower_64b_intrinsics_filter() 44 intr->intrinsic == nir_intrinsic_store_deref) in lower_64b_intrinsics_filter() 47 if (is_intrinsic_store(intr->intrinsic)) in lower_64b_intrinsics_filter() 48 return nir_src_bit_size(intr->src[0]) == 64; in lower_64b_intrinsics_filter() 50 if (nir_intrinsic_dest_components(intr) == 0) in lower_64b_intrinsics_filter() 53 return nir_dest_bit_size(intr->dest) == 64; in lower_64b_intrinsics_filter() 61 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); in lower_64b_intrinsics() local 67 if (is_intrinsic_store(intr->intrinsic)) { in lower_64b_intrinsics() 69 switch (intr in lower_64b_intrinsics() 257 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); lower_64b_global() local [all...] |
H A D | ir3_a4xx.c | 70 emit_intrinsic_load_ssbo(struct ir3_context *ctx, nir_intrinsic_instr *intr, in emit_intrinsic_load_ssbo() argument 76 struct ir3_instruction *ssbo = ir3_ssbo_to_ibo(ctx, intr->src[0]); in emit_intrinsic_load_ssbo() 78 byte_offset = ir3_get_src(ctx, &intr->src[1])[0]; in emit_intrinsic_load_ssbo() 79 offset = ir3_get_src(ctx, &intr->src[2])[0]; in emit_intrinsic_load_ssbo() 82 src0 = byte_offset_to_address(ctx, &intr->src[0], byte_offset); in emit_intrinsic_load_ssbo() 86 ldgb->dsts[0]->wrmask = MASK(intr->num_components); in emit_intrinsic_load_ssbo() 87 ldgb->cat6.iim_val = intr->num_components; in emit_intrinsic_load_ssbo() 93 ir3_split_dest(b, dst, ldgb, 0, intr->num_components); in emit_intrinsic_load_ssbo() 98 emit_intrinsic_store_ssbo(struct ir3_context *ctx, nir_intrinsic_instr *intr) in emit_intrinsic_store_ssbo() argument 102 unsigned wrmask = nir_intrinsic_write_mask(intr); in emit_intrinsic_store_ssbo() 152 emit_intrinsic_atomic_ssbo(struct ir3_context *ctx, nir_intrinsic_instr *intr) emit_intrinsic_atomic_ssbo() argument 280 emit_intrinsic_load_image(struct ir3_context *ctx, nir_intrinsic_instr *intr, struct ir3_instruction **dst) emit_intrinsic_load_image() argument 328 emit_intrinsic_store_image(struct ir3_context *ctx, nir_intrinsic_instr *intr) emit_intrinsic_store_image() argument 365 emit_intrinsic_atomic_image(struct ir3_context *ctx, nir_intrinsic_instr *intr) emit_intrinsic_atomic_image() argument 428 emit_intrinsic_atomic_global(struct ir3_context *ctx, nir_intrinsic_instr *intr) emit_intrinsic_atomic_global() argument [all...] |
H A D | ir3_nir_lower_wide_load_store.c | 39 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); in lower_wide_load_store_filter() 41 if (is_intrinsic_store(intr->intrinsic)) in lower_wide_load_store_filter() 42 return nir_intrinsic_src_components(intr, 0) > 4; in lower_wide_load_store_filter() 44 if (is_intrinsic_load(intr->intrinsic)) in lower_wide_load_store_filter() 45 return nir_intrinsic_dest_components(intr) > 4; in lower_wide_load_store_filter() 55 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); in lower_wide_load_store() local 57 if (is_intrinsic_store(intr->intrinsic)) { in lower_wide_load_store() 58 unsigned num_comp = nir_intrinsic_src_components(intr, 0); in lower_wide_load_store() 59 unsigned wrmask = nir_intrinsic_write_mask(intr); in lower_wide_load_store() 60 nir_ssa_def *val = nir_ssa_for_src(b, intr in lower_wide_load_store() [all...] |
H A D | ir3_nir_lower_tess.c | 164 replace_intrinsic(nir_builder *b, nir_intrinsic_instr *intr, in replace_intrinsic() argument 176 new_intr->num_components = intr->num_components; in replace_intrinsic() 179 nir_ssa_dest_init(&new_intr->instr, &new_intr->dest, intr->num_components, in replace_intrinsic() 180 intr->dest.ssa.bit_size, NULL); in replace_intrinsic() 185 nir_ssa_def_rewrite_uses(&intr->dest.ssa, &new_intr->dest.ssa); in replace_intrinsic() 187 nir_instr_remove(&intr->instr); in replace_intrinsic() 255 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); in lower_block_to_explicit_output() local 257 switch (intr->intrinsic) { in lower_block_to_explicit_output() 267 util_is_power_of_two_nonzero(nir_intrinsic_write_mask(intr) + 1)); in lower_block_to_explicit_output() 269 b->cursor = nir_instr_remove(&intr in lower_block_to_explicit_output() 331 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); lower_block_to_explicit_input() local 521 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); lower_tess_ctrl_block() local 752 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); lower_tess_eval_block() local 868 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); lower_gs_block() local [all...] |
/third_party/mesa3d/src/broadcom/compiler/ |
H A D | v3d_nir_lower_load_store_bitsize.c | 72 nir_intrinsic_instr *intr, in init_scalar_intrinsic() 80 nir_intrinsic_instr_create(b->shader, intr->intrinsic); in init_scalar_intrinsic() 82 nir_intrinsic_copy_const_indices(new_intr, intr); in init_scalar_intrinsic() 87 if (nir_intrinsic_has_align_mul(intr)) { in init_scalar_intrinsic() 88 assert(nir_intrinsic_has_align_offset(intr)); in init_scalar_intrinsic() 89 unsigned align_mul = nir_intrinsic_align_mul(intr); in init_scalar_intrinsic() 90 unsigned align_off = nir_intrinsic_align_offset(intr); in init_scalar_intrinsic() 100 if (nir_intrinsic_has_base(intr)) { in init_scalar_intrinsic() 102 new_intr, nir_intrinsic_base(intr) + offset_adj); in init_scalar_intrinsic() 118 nir_intrinsic_instr *intr) in lower_load_bitsize() 71 init_scalar_intrinsic(nir_builder *b, nir_intrinsic_instr *intr, uint32_t component, nir_ssa_def *offset, uint32_t bit_size, nir_ssa_def **scalar_offset) init_scalar_intrinsic() argument 116 lower_load_bitsize(struct v3d_compile *c, nir_builder *b, nir_intrinsic_instr *intr) lower_load_bitsize() argument 172 lower_store_bitsize(struct v3d_compile *c, nir_builder *b, nir_intrinsic_instr *intr) lower_store_bitsize() argument [all...] |
/third_party/mesa3d/src/imagination/rogue/nir/ |
H A D | rogue_nir_lower_io.c | 34 nir_intrinsic_instr *intr, in lower_vulkan_resource_index() 37 unsigned desc_set = nir_intrinsic_desc_set(intr); in lower_vulkan_resource_index() 38 unsigned binding = nir_intrinsic_binding(intr); in lower_vulkan_resource_index() 44 nir_ssa_def_rewrite_uses(&intr->dest.ssa, def); in lower_vulkan_resource_index() 45 nir_instr_remove(&intr->instr); in lower_vulkan_resource_index() 49 nir_intrinsic_instr *intr) in lower_load_vulkan_descriptor() 55 nir_ssa_def_rewrite_uses(&intr->dest.ssa, intr->src[0].ssa); in lower_load_vulkan_descriptor() 56 nir_instr_remove(&intr->instr); in lower_load_vulkan_descriptor() 59 static void lower_load_ubo_to_scalar(nir_builder *b, nir_intrinsic_instr *intr) in lower_load_ubo_to_scalar() argument 33 lower_vulkan_resource_index(nir_builder *b, nir_intrinsic_instr *intr, void *pipeline_layout) lower_vulkan_resource_index() argument 48 lower_load_vulkan_descriptor(nir_builder *b, nir_intrinsic_instr *intr) lower_load_vulkan_descriptor() argument [all...] |
/third_party/mesa3d/src/microsoft/clc/ |
H A D | clc_nir.c | 35 lower_load_base_global_invocation_id(nir_builder *b, nir_intrinsic_instr *intr, in lower_load_base_global_invocation_id() argument 38 b->cursor = nir_after_instr(&intr->instr); in lower_load_base_global_invocation_id() 45 nir_dest_num_components(intr->dest), in lower_load_base_global_invocation_id() 46 nir_dest_bit_size(intr->dest)); in lower_load_base_global_invocation_id() 47 nir_ssa_def_rewrite_uses(&intr->dest.ssa, offset); in lower_load_base_global_invocation_id() 48 nir_instr_remove(&intr->instr); in lower_load_base_global_invocation_id() 53 lower_load_work_dim(nir_builder *b, nir_intrinsic_instr *intr, in lower_load_work_dim() argument 56 b->cursor = nir_after_instr(&intr->instr); in lower_load_work_dim() 63 nir_dest_num_components(intr->dest), in lower_load_work_dim() 64 nir_dest_bit_size(intr in lower_load_work_dim() 71 lower_load_num_workgroups(nir_builder *b, nir_intrinsic_instr *intr, nir_variable *var) lower_load_num_workgroups() argument 89 lower_load_base_workgroup_id(nir_builder *b, nir_intrinsic_instr *intr, nir_variable *var) lower_load_base_workgroup_id() argument 124 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); clc_nir_lower_system_values() local 149 lower_load_kernel_input(nir_builder *b, nir_intrinsic_instr *intr, nir_variable *var) lower_load_kernel_input() argument 206 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); clc_nir_lower_kernel_input_loads() local [all...] |
/third_party/mesa3d/src/imagination/rogue/ |
H A D | rogue.c | 394 nir_intrinsic_instr *intr) in trans_nir_intrinsic_load_input_fs() 399 assert(nir_dest_num_components(intr->dest) == 1); in trans_nir_intrinsic_load_input_fs() 400 assert(nir_dest_bit_size(intr->dest) == 32); in trans_nir_intrinsic_load_input_fs() 402 assert(nir_src_num_components(intr->src[0]) == 1); in trans_nir_intrinsic_load_input_fs() 403 assert(nir_src_bit_size(intr->src[0]) == 32); in trans_nir_intrinsic_load_input_fs() 404 assert(nir_intr_src_is_const(intr, 0)); in trans_nir_intrinsic_load_input_fs() 407 assert(nir_intrinsic_dest_type(intr) == nir_type_float32); in trans_nir_intrinsic_load_input_fs() 409 struct nir_io_semantics io_semantics = nir_intrinsic_io_semantics(intr); in trans_nir_intrinsic_load_input_fs() 410 size_t component = nir_intrinsic_component(intr); in trans_nir_intrinsic_load_input_fs() 416 uint64_t source_count = nir_dest_num_components(intr in trans_nir_intrinsic_load_input_fs() 393 trans_nir_intrinsic_load_input_fs(struct rogue_shader *shader, nir_intrinsic_instr *intr) trans_nir_intrinsic_load_input_fs() argument 444 trans_nir_intrinsic_load_input_vs(struct rogue_shader *shader, nir_intrinsic_instr *intr) trans_nir_intrinsic_load_input_vs() argument 478 trans_nir_intrinsic_load_input(struct rogue_shader *shader, nir_intrinsic_instr *intr) trans_nir_intrinsic_load_input() argument 495 trans_nir_intrinsic_store_output_fs(struct rogue_shader *shader, nir_intrinsic_instr *intr) trans_nir_intrinsic_store_output_fs() argument 530 trans_nir_intrinsic_store_output_vs(struct rogue_shader *shader, nir_intrinsic_instr *intr) trans_nir_intrinsic_store_output_vs() argument 564 trans_nir_intrinsic_store_output(struct rogue_shader *shader, nir_intrinsic_instr *intr) trans_nir_intrinsic_store_output() argument 581 trans_nir_intrinsic_load_ubo(struct rogue_shader *shader, nir_intrinsic_instr *intr) trans_nir_intrinsic_load_ubo() argument 621 trans_nir_intrinsic(struct rogue_shader *shader, nir_intrinsic_instr *intr) trans_nir_intrinsic() argument 653 ASSERTED nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); trans_nir_load_const() local [all...] |
H A D | rogue_nir_helpers.h | 87 static inline unsigned nir_intr_dest_regindex(const nir_intrinsic_instr *intr) in nir_intr_dest_regindex() argument 89 assert(!intr->dest.is_ssa); in nir_intr_dest_regindex() 91 return intr->dest.reg.reg->index; in nir_intr_dest_regindex() 94 static inline unsigned nir_intr_src_regindex(const nir_intrinsic_instr *intr, in nir_intr_src_regindex() argument 97 assert(src < nir_intrinsic_infos[intr->intrinsic].num_srcs); in nir_intr_src_regindex() 98 assert(!intr->src[src].is_ssa); in nir_intr_src_regindex() 100 return intr->src[src].reg.reg->index; in nir_intr_src_regindex() 103 static inline uint32_t nir_intr_src_const(const nir_intrinsic_instr *intr, in nir_intr_src_const() argument 106 assert(src < nir_intrinsic_infos[intr->intrinsic].num_srcs); in nir_intr_src_const() 107 assert(intr in nir_intr_src_const() 114 nir_intr_src_comp_const(const nir_intrinsic_instr *intr, size_t src, size_t comp) nir_intr_src_comp_const() argument 125 nir_intr_src_is_const(const nir_intrinsic_instr *intr, size_t src) nir_intr_src_is_const() argument [all...] |
/third_party/mesa3d/src/gallium/drivers/vc4/ |
H A D | vc4_nir_lower_io.c | 40 replace_intrinsic_with_vec(nir_builder *b, nir_intrinsic_instr *intr, in replace_intrinsic_with_vec() argument 47 nir_ssa_def *vec = nir_vec(b, comps, intr->num_components); in replace_intrinsic_with_vec() 52 nir_ssa_def_rewrite_uses(&intr->dest.ssa, vec); in replace_intrinsic_with_vec() 53 nir_instr_remove(&intr->instr); in replace_intrinsic_with_vec() 173 nir_intrinsic_instr *intr) in vc4_nir_lower_vertex_attr() 175 b->cursor = nir_before_instr(&intr->instr); in vc4_nir_lower_vertex_attr() 177 int attr = nir_intrinsic_base(intr); in vc4_nir_lower_vertex_attr() 184 assert(nir_src_as_uint(intr->src[0]) == 0); in vc4_nir_lower_vertex_attr() 193 .base = nir_intrinsic_base(intr), in vc4_nir_lower_vertex_attr() 201 for (int i = 0; i < intr in vc4_nir_lower_vertex_attr() 172 vc4_nir_lower_vertex_attr(struct vc4_compile *c, nir_builder *b, nir_intrinsic_instr *intr) vc4_nir_lower_vertex_attr() argument 221 vc4_nir_lower_fs_input(struct vc4_compile *c, nir_builder *b, nir_intrinsic_instr *intr) vc4_nir_lower_fs_input() argument 277 vc4_nir_lower_output(struct vc4_compile *c, nir_builder *b, nir_intrinsic_instr *intr) vc4_nir_lower_output() argument 294 vc4_nir_lower_uniform(struct vc4_compile *c, nir_builder *b, nir_intrinsic_instr *intr) vc4_nir_lower_uniform() argument [all...] |
/third_party/mesa3d/src/gallium/drivers/lima/ir/ |
H A D | lima_nir_lower_uniform_to_scalar.c | 30 lower_load_uniform_to_scalar(nir_builder *b, nir_intrinsic_instr *intr) in lower_load_uniform_to_scalar() argument 32 b->cursor = nir_before_instr(&intr->instr); in lower_load_uniform_to_scalar() 35 for (unsigned i = 0; i < intr->num_components; i++) { in lower_load_uniform_to_scalar() 37 nir_intrinsic_instr_create(b->shader, intr->intrinsic); in lower_load_uniform_to_scalar() 39 1, intr->dest.ssa.bit_size, NULL); in lower_load_uniform_to_scalar() 42 nir_intrinsic_set_base(chan_intr, nir_intrinsic_base(intr) * 4 + i); in lower_load_uniform_to_scalar() 43 nir_intrinsic_set_range(chan_intr, nir_intrinsic_range(intr) * 4); in lower_load_uniform_to_scalar() 44 nir_intrinsic_set_dest_type(chan_intr, nir_intrinsic_dest_type(intr)); in lower_load_uniform_to_scalar() 47 nir_src_for_ssa(nir_imul_imm(b, intr->src[0].ssa, 4)); in lower_load_uniform_to_scalar() 54 nir_ssa_def_rewrite_uses(&intr in lower_load_uniform_to_scalar() 72 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); lima_nir_lower_uniform_to_scalar() local [all...] |
/third_party/mesa3d/src/gallium/drivers/r600/sfn/ |
H A D | sfn_shader_vs.cpp | 48 bool VertexExportStage::store_output(nir_intrinsic_instr& intr) in store_output() argument 50 auto index = nir_src_as_const_value(intr.src[1]); in store_output() 54 nir_intrinsic_component(&intr), in store_output() 55 nir_intrinsic_io_semantics(&intr).location, in store_output() 56 (unsigned)nir_intrinsic_base(&intr) + index->u32, in store_output() 60 return do_store_output(store_info, intr); in store_output() 79 bool VertexExportForFs::do_store_output(const store_loc &store_info, nir_intrinsic_instr& intr) in do_store_output() argument 87 return emit_varying_pos(store_info, intr); in do_store_output() 90 return emit_varying_pos(store_info, intr, &swizzle_override); in do_store_output() 94 return emit_varying_pos(store_info, intr, in do_store_output() 191 emit_varying_pos(const store_loc &store_info, nir_intrinsic_instr& intr, std::array<uint8_t, 4> *swizzle_override) emit_varying_pos() argument 263 emit_varying_param(const store_loc &store_info, nir_intrinsic_instr& intr) emit_varying_param() argument 477 load_input(nir_intrinsic_instr *intr) load_input() argument 534 store_output(nir_intrinsic_instr *intr) store_output() argument 539 process_stage_intrinsic(nir_intrinsic_instr *intr) process_stage_intrinsic() argument 666 do_store_output(const store_loc &store_info, nir_intrinsic_instr& intr) do_store_output() argument [all...] |
H A D | sfn_nir_lower_64bit.cpp | 51 split_double_load_deref(nir_intrinsic_instr *intr); 54 split_double_store_deref(nir_intrinsic_instr *intr); 58 split_load_deref_array(nir_intrinsic_instr *intr, nir_src& index); 61 split_load_deref_var(nir_intrinsic_instr *intr); 64 split_store_deref_array(nir_intrinsic_instr *intr, nir_deref_instr *deref); 67 split_store_deref_var(nir_intrinsic_instr *intr, nir_deref_instr *deref1); 79 nir_ssa_def *split_double_load_uniform(nir_intrinsic_instr *intr); 82 split_double_load_ssbo(nir_intrinsic_instr *intr); 85 split_double_load_ubo(nir_intrinsic_instr *intr); 121 auto intr in filter() 133 auto intr = nir_instr_as_intrinsic(instr); lower() local 303 auto intr = nir_instr_as_intrinsic(instr); filter() local 384 split_double_store_deref(nir_intrinsic_instr *intr) split_double_store_deref() argument 397 split_double_load_deref(nir_intrinsic_instr *intr) split_double_load_deref() argument 411 split_load_deref_array(nir_intrinsic_instr *intr, nir_src& index) split_load_deref_array() argument 433 split_store_deref_array(nir_intrinsic_instr *intr, nir_deref_instr *deref) split_store_deref_array() argument 461 split_store_deref_var(nir_intrinsic_instr *intr, UNUSED nir_deref_instr *deref) split_store_deref_var() argument 485 split_load_deref_var(nir_intrinsic_instr *intr) split_load_deref_var() argument 589 split_double_load_uniform(nir_intrinsic_instr *intr) split_double_load_uniform() argument 616 split_double_load_ssbo(nir_intrinsic_instr *intr) split_double_load_ssbo() argument 636 split_double_load_ubo(nir_intrinsic_instr *intr) split_double_load_ubo() argument 724 auto intr = nir_instr_as_intrinsic(instr); lower() local 811 auto intr = nir_instr_as_intrinsic(instr); filter() local 859 auto intr = nir_instr_as_intrinsic(instr); lower() local 933 load_deref_64_to_vec2(nir_intrinsic_instr *intr) load_deref_64_to_vec2() argument 966 store_64_to_vec2(nir_intrinsic_instr *intr) store_64_to_vec2() argument 998 load_uniform_64_to_vec2(nir_intrinsic_instr *intr) load_uniform_64_to_vec2() argument 1008 load_64_to_vec2(nir_intrinsic_instr *intr) load_64_to_vec2() argument 1018 load_ssbo_64_to_vec2(nir_intrinsic_instr *intr) load_ssbo_64_to_vec2() argument [all...] |
H A D | sfn_shader_fs.cpp | 80 bool FragmentShader::load_input(nir_intrinsic_instr *intr) in load_input() argument 84 auto location = nir_intrinsic_io_semantics(intr).location; in load_input() 87 for (unsigned i = 0; i < nir_dest_num_components(intr->dest) ; ++i) { in load_input() 89 vf.dest(intr->dest, i, pin_none), in load_input() 100 vf.dest(intr->dest, 0, pin_none), in load_input() 108 return load_input_hw(intr); in load_input() 111 bool FragmentShader::store_output(nir_intrinsic_instr *intr) in store_output() argument 113 auto location = nir_intrinsic_io_semantics(intr).location; in store_output() 119 return emit_export_pixel(*intr); in store_output() 123 barycentric_ij_index(nir_intrinsic_instr *intr) in barycentric_ij_index() argument 157 process_stage_intrinsic(nir_intrinsic_instr *intr) process_stage_intrinsic() argument 199 load_interpolated_input(nir_intrinsic_instr *intr) load_interpolated_input() argument 342 scan_input(nir_intrinsic_instr *intr, int index_src_id) scan_input() argument 463 emit_export_pixel(nir_intrinsic_instr& intr) emit_export_pixel() argument 637 load_input_hw(nir_intrinsic_instr *intr) load_input_hw() argument 644 assert(index < 4); if (intr->dest.is_ssa) load_input_hw() argument 659 process_stage_intrinsic_hw(nir_intrinsic_instr *intr) process_stage_intrinsic_hw() argument 671 load_interpolated_input_hw(nir_intrinsic_instr *intr) load_interpolated_input_hw() argument 676 load_input_hw(nir_intrinsic_instr *intr) load_input_hw() argument 735 process_stage_intrinsic_hw(nir_intrinsic_instr *intr) process_stage_intrinsic_hw() argument 756 load_interpolated_input_hw(nir_intrinsic_instr *intr) load_interpolated_input_hw() argument [all...] |
H A D | sfn_shader_fs.h | 37 bool load_input(nir_intrinsic_instr *intr) override; 38 bool store_output(nir_intrinsic_instr *intr) override; 40 bool process_stage_intrinsic(nir_intrinsic_instr *intr) override; 48 bool load_interpolated_input(nir_intrinsic_instr *intr); 51 virtual bool load_input_hw(nir_intrinsic_instr *intr) = 0; 52 virtual bool process_stage_intrinsic_hw(nir_intrinsic_instr *intr) = 0; 53 virtual bool load_interpolated_input_hw(nir_intrinsic_instr *intr) = 0; 63 bool emit_export_pixel(nir_intrinsic_instr& intr); 103 bool load_input_hw(nir_intrinsic_instr *intr) override; 104 bool process_stage_intrinsic_hw(nir_intrinsic_instr *intr) overrid [all...] |
/third_party/mesa3d/src/gallium/drivers/etnaviv/ |
H A D | etnaviv_nir_lower_ubo_to_uniform.c | 39 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); in is_const_ubo() 40 if (intr->intrinsic != nir_intrinsic_load_ubo) in is_const_ubo() 43 if (!nir_src_is_const(intr->src[0]) || !nir_src_is_const(intr->src[1])) in is_const_ubo() 46 const uint32_t block = nir_src_as_uint(intr->src[0]); in is_const_ubo() 56 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); in lower_ubo_to_uniform() local 60 nir_ssa_def *ubo_offset = nir_ssa_for_src(b, intr->src[1], 1); in lower_ubo_to_uniform() 61 nir_ssa_def *range_base = nir_imm_int(b, nir_intrinsic_range_base(intr)); in lower_ubo_to_uniform() 67 nir_load_uniform(b, intr->num_components, intr in lower_ubo_to_uniform() [all...] |
/third_party/mesa3d/src/gallium/drivers/d3d12/ |
H A D | d3d12_nir_passes.c | 71 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); in lower_pos_write() 72 if (intr->intrinsic != nir_intrinsic_store_deref) in lower_pos_write() 75 nir_variable *var = nir_intrinsic_get_var(intr, 0); in lower_pos_write() 80 b->cursor = nir_before_instr(&intr->instr); in lower_pos_write() 82 nir_ssa_def *pos = nir_ssa_for_src(b, intr->src[1], 4); in lower_pos_write() 90 nir_instr_rewrite_src(&intr->instr, intr->src + 1, nir_src_for_ssa(def)); in lower_pos_write() 126 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); in lower_load_face() 127 if (intr->intrinsic != nir_intrinsic_load_front_face) in lower_load_face() 130 b->cursor = nir_before_instr(&intr in lower_load_face() 236 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); lower_compute_state_vars() local 404 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(state->store_pos_instr); invert_depth_impl() local 700 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); lower_load_ubo_packed_impl() local 752 lower_triangle_strip_store(nir_builder *b, nir_intrinsic_instr *intr, nir_variable *vertex_count_var, nir_variable **varyings) lower_triangle_strip_store() argument 773 lower_triangle_strip_emit_vertex(nir_builder *b, nir_intrinsic_instr *intr, nir_variable *vertex_count_var, nir_variable **varyings, nir_variable **out_varyings) lower_triangle_strip_emit_vertex() argument 826 lower_triangle_strip_end_primitive(nir_builder *b, nir_intrinsic_instr *intr, nir_variable *vertex_count_var) lower_triangle_strip_end_primitive() argument 933 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); lower_multisampling_instr() local 1142 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); d3d12_write_0_to_new_varying() local [all...] |
/third_party/mesa3d/src/microsoft/compiler/ |
H A D | dxil_nir_tess.c | 37 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); in remove_hs_intrinsics() local 38 if (intr->intrinsic != nir_intrinsic_store_output && in remove_hs_intrinsics() 39 intr->intrinsic != nir_intrinsic_memory_barrier_tcs_patch && in remove_hs_intrinsics() 40 intr->intrinsic != nir_intrinsic_control_barrier) in remove_hs_intrinsics() 86 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); in prune_patch_function_to_intrinsic_and_srcs() local 87 if (intr->intrinsic != nir_intrinsic_store_output && in prune_patch_function_to_intrinsic_and_srcs() 88 intr->intrinsic != nir_intrinsic_memory_barrier_tcs_patch) in prune_patch_function_to_intrinsic_and_srcs() 216 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); in dxil_nir_split_tess_ctrl() local 217 if (intr->intrinsic != nir_intrinsic_load_invocation_id || in dxil_nir_split_tess_ctrl() 218 list_length(&intr in dxil_nir_split_tess_ctrl() 241 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); dxil_nir_split_tess_ctrl() local [all...] |