/third_party/mesa3d/src/compiler/nir/ |
D | nir_lower_io_to_scalar.c | 35 lower_load_input_to_scalar(nir_builder *b, nir_intrinsic_instr *intr) in lower_load_input_to_scalar() argument 37 b->cursor = nir_before_instr(&intr->instr); in lower_load_input_to_scalar() 39 assert(intr->dest.is_ssa); in lower_load_input_to_scalar() 43 for (unsigned i = 0; i < intr->num_components; i++) { in lower_load_input_to_scalar() 45 nir_intrinsic_instr_create(b->shader, intr->intrinsic); in lower_load_input_to_scalar() 47 1, intr->dest.ssa.bit_size, NULL); in lower_load_input_to_scalar() 50 nir_intrinsic_set_base(chan_intr, nir_intrinsic_base(intr)); in lower_load_input_to_scalar() 51 nir_intrinsic_set_component(chan_intr, nir_intrinsic_component(intr) + i); in lower_load_input_to_scalar() 52 nir_intrinsic_set_dest_type(chan_intr, nir_intrinsic_dest_type(intr)); in lower_load_input_to_scalar() 53 nir_intrinsic_set_io_semantics(chan_intr, nir_intrinsic_io_semantics(intr)); in lower_load_input_to_scalar() [all …]
|
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->intrinsic); in split_wrmask() [all …]
|
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->intrinsic); in lower_array() [all …]
|
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->dest.ssa.num_components, in lower_ssbo_instr() [all …]
|
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 …]
|
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->num_components == 1) { in nir_lower_ubo_vec4_lower() [all …]
|
D | nir_lower_mediump.c | 38 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); in get_io_intrinsic() local 40 switch (intr->intrinsic) { in get_io_intrinsic() 46 return modes & nir_var_shader_in ? intr : NULL; in get_io_intrinsic() 52 return modes & nir_var_shader_out ? intr : NULL; in get_io_intrinsic() 76 nir_intrinsic_instr *intr = get_io_intrinsic(instr, modes, &mode); in nir_recompute_io_bases() local 77 if (!intr) in nir_recompute_io_bases() 80 nir_io_semantics sem = nir_intrinsic_io_semantics(intr); in nir_recompute_io_bases() 101 nir_intrinsic_instr *intr = get_io_intrinsic(instr, modes, &mode); in nir_recompute_io_bases() local 102 if (!intr) in nir_recompute_io_bases() 105 nir_io_semantics sem = nir_intrinsic_io_semantics(intr); in nir_recompute_io_bases() [all …]
|
D | nir_inline_uniforms.c | 98 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); in src_only_uses_uniforms() local 102 if (intr->intrinsic == nir_intrinsic_load_ubo && in src_only_uses_uniforms() 103 nir_src_is_const(intr->src[0]) && in src_only_uses_uniforms() 104 nir_src_as_uint(intr->src[0]) == 0 && in src_only_uses_uniforms() 105 nir_src_is_const(intr->src[1]) && in src_only_uses_uniforms() 106 nir_src_as_uint(intr->src[1]) <= MAX_OFFSET && in src_only_uses_uniforms() 108 intr->dest.ssa.bit_size == 32) { in src_only_uses_uniforms() 109 uint32_t offset = nir_src_as_uint(intr->src[1]) + component * 4; in src_only_uses_uniforms() 353 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); in nir_inline_uniforms() local 356 if (intr->intrinsic == nir_intrinsic_load_ubo && in nir_inline_uniforms() [all …]
|
D | nir_lower_fragcoord_wtrans.c | 41 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); in lower_fragcoord_wtrans_filter() local 42 if (intr->intrinsic == nir_intrinsic_load_frag_coord) in lower_fragcoord_wtrans_filter() 45 if (intr->intrinsic != nir_intrinsic_load_deref) in lower_fragcoord_wtrans_filter() 48 nir_variable *var = nir_intrinsic_get_var(intr, 0); in lower_fragcoord_wtrans_filter() 59 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); in lower_fragcoord_wtrans_impl() local 62 nir_channel(b, &intr->dest.ssa, 0), in lower_fragcoord_wtrans_impl() 63 nir_channel(b, &intr->dest.ssa, 1), in lower_fragcoord_wtrans_impl() 64 nir_channel(b, &intr->dest.ssa, 2), in lower_fragcoord_wtrans_impl() 65 nir_frcp(b, nir_channel(b, &intr->dest.ssa, 3))); in lower_fragcoord_wtrans_impl()
|
D | nir_lower_wpos_ytransform.c | 80 nir_intrinsic_instr *intr, bool invert, in emit_wpos_adjustment() argument 86 assert(intr->dest.is_ssa); in emit_wpos_adjustment() 87 wpos_input = &intr->dest.ssa; in emit_wpos_adjustment() 89 b->cursor = nir_after_instr(&intr->instr); in emit_wpos_adjustment() 142 nir_ssa_def_rewrite_uses_after(&intr->dest.ssa, in emit_wpos_adjustment() 148 lower_fragcoord(lower_wpos_ytransform_state *state, nir_intrinsic_instr *intr) in lower_fragcoord() argument 232 emit_wpos_adjustment(state, intr, invert, adjX, adjY); in lower_fragcoord() 280 nir_intrinsic_instr *intr) in lower_load_sample_pos() argument 283 b->cursor = nir_after_instr(&intr->instr); in lower_load_sample_pos() 285 nir_ssa_def *pos = &intr->dest.ssa; in lower_load_sample_pos() [all …]
|
D | nir_lower_clamp_color_outputs.c | 59 lower_intrinsic(lower_state *state, nir_intrinsic_instr *intr) in lower_intrinsic() argument 65 switch (intr->intrinsic) { in lower_intrinsic() 67 out = nir_deref_instr_get_variable(nir_src_as_deref(intr->src[0])); in lower_intrinsic() 73 if (nir_intrinsic_base(intr) == drvloc) { in lower_intrinsic() 88 b->cursor = nir_before_instr(&intr->instr); in lower_intrinsic() 89 int src = intr->intrinsic == nir_intrinsic_store_deref ? 1 : 0; in lower_intrinsic() 90 s = nir_ssa_for_src(b, intr->src[src], intr->num_components); in lower_intrinsic() 92 nir_instr_rewrite_src(&intr->instr, &intr->src[src], nir_src_for_ssa(s)); in lower_intrinsic()
|
/third_party/mesa3d/src/freedreno/ir3/ |
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 [all …]
|
D | ir3_a4xx.c | 39 emit_intrinsic_load_ssbo(struct ir3_context *ctx, nir_intrinsic_instr *intr, in emit_intrinsic_load_ssbo() argument 45 struct ir3_instruction *ssbo = ir3_ssbo_to_ibo(ctx, intr->src[0]); in emit_intrinsic_load_ssbo() 47 byte_offset = ir3_get_src(ctx, &intr->src[1])[0]; in emit_intrinsic_load_ssbo() 48 offset = ir3_get_src(ctx, &intr->src[2])[0]; in emit_intrinsic_load_ssbo() 55 ldgb->dsts[0]->wrmask = MASK(intr->num_components); in emit_intrinsic_load_ssbo() 56 ldgb->cat6.iim_val = intr->num_components; in emit_intrinsic_load_ssbo() 62 ir3_split_dest(b, dst, ldgb, 0, intr->num_components); in emit_intrinsic_load_ssbo() 67 emit_intrinsic_store_ssbo(struct ir3_context *ctx, nir_intrinsic_instr *intr) in emit_intrinsic_store_ssbo() argument 71 unsigned wrmask = nir_intrinsic_write_mask(intr); in emit_intrinsic_store_ssbo() 74 assert(wrmask == BITFIELD_MASK(intr->num_components)); in emit_intrinsic_store_ssbo() [all …]
|
D | ir3_nir_lower_tess.c | 149 replace_intrinsic(nir_builder *b, nir_intrinsic_instr *intr, in replace_intrinsic() argument 161 new_intr->num_components = intr->num_components; in replace_intrinsic() 164 nir_ssa_dest_init(&new_intr->instr, &new_intr->dest, intr->num_components, in replace_intrinsic() 170 nir_ssa_def_rewrite_uses(&intr->dest.ssa, &new_intr->dest.ssa); in replace_intrinsic() 172 nir_instr_remove(&intr->instr); in replace_intrinsic() 240 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); in lower_block_to_explicit_output() local 242 switch (intr->intrinsic) { in lower_block_to_explicit_output() 252 util_is_power_of_two_nonzero(nir_intrinsic_write_mask(intr) + 1)); in lower_block_to_explicit_output() 254 b->cursor = nir_instr_remove(&intr->instr); in lower_block_to_explicit_output() 258 b, state, vertex_id, nir_intrinsic_io_semantics(intr).location, in lower_block_to_explicit_output() [all …]
|
D | ir3_nir_lower_load_barycentric_at_sample.c | 42 lower_load_barycentric_at_sample(nir_builder *b, nir_intrinsic_instr *intr) in lower_load_barycentric_at_sample() argument 44 nir_ssa_def *pos = load_sample_pos(b, intr->src[0].ssa); in lower_load_barycentric_at_sample() 50 lower_load_sample_pos(nir_builder *b, nir_intrinsic_instr *intr) in lower_load_sample_pos() argument 67 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); in ir3_nir_lower_load_barycentric_at_sample_instr() local 69 if (intr->intrinsic == nir_intrinsic_load_sample_pos) in ir3_nir_lower_load_barycentric_at_sample_instr() 70 return lower_load_sample_pos(b, intr); in ir3_nir_lower_load_barycentric_at_sample_instr() 72 return lower_load_barycentric_at_sample(b, intr); in ir3_nir_lower_load_barycentric_at_sample_instr() 81 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); in ir3_nir_lower_load_barycentric_at_sample_filter() local 82 return (intr->intrinsic == nir_intrinsic_load_barycentric_at_sample || in ir3_nir_lower_load_barycentric_at_sample_filter() 83 intr->intrinsic == nir_intrinsic_load_sample_pos); in ir3_nir_lower_load_barycentric_at_sample_filter()
|
/third_party/mesa3d/src/microsoft/clc/ |
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->dest)); in lower_load_work_dim() [all …]
|
/third_party/mesa3d/src/gallium/drivers/r600/sfn/ |
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); 116 auto intr = nir_instr_as_intrinsic(instr); in filter() local [all …]
|
/third_party/mesa3d/src/gallium/drivers/vc4/ |
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() argument 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->num_components; i++) { in vc4_nir_lower_vertex_attr() [all …]
|
/third_party/mesa3d/src/gallium/drivers/lima/ir/ |
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->dest.ssa, in lower_load_uniform_to_scalar() [all …]
|
/third_party/mesa3d/src/gallium/drivers/etnaviv/ |
D | etnaviv_nir_lower_ubo_to_uniform.c | 39 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); in is_const_ubo() local 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->dest.ssa.bit_size, uniform_offset, in lower_ubo_to_uniform() 68 .base = nir_intrinsic_range_base(intr) / 16, in lower_ubo_to_uniform() 69 .range = nir_intrinsic_range(intr) / 16, in lower_ubo_to_uniform() [all …]
|
/third_party/mesa3d/src/microsoft/compiler/ |
D | dxil_nir.c | 116 lower_load_deref(nir_builder *b, nir_intrinsic_instr *intr) in lower_load_deref() argument 118 assert(intr->dest.is_ssa); in lower_load_deref() 120 b->cursor = nir_before_instr(&intr->instr); in lower_load_deref() 122 nir_deref_instr *deref = nir_src_as_deref(intr->src[0]); in lower_load_deref() 128 assert(intr->dest.is_ssa); in lower_load_deref() 129 unsigned num_components = nir_dest_num_components(intr->dest); in lower_load_deref() 130 unsigned bit_size = nir_dest_bit_size(intr->dest); in lower_load_deref() 170 nir_ssa_def_rewrite_uses(&intr->dest.ssa, result); in lower_load_deref() 171 nir_instr_remove(&intr->instr); in lower_load_deref() 261 lower_load_ssbo(nir_builder *b, nir_intrinsic_instr *intr) in lower_load_ssbo() argument [all …]
|
D | nir_to_dxil.c | 438 unary_func_name(enum dxil_intr intr) in unary_func_name() argument 440 switch (intr) { in unary_func_name() 454 enum dxil_intr intr, in emit_unary_call() argument 458 unary_func_name(intr), in emit_unary_call() 463 const struct dxil_value *opcode = dxil_module_get_int32_const(&ctx->mod, intr); in emit_unary_call() 477 enum dxil_intr intr, in emit_binary_call() argument 484 const struct dxil_value *opcode = dxil_module_get_int32_const(&ctx->mod, intr); in emit_binary_call() 499 enum dxil_intr intr, in emit_tertiary_call() argument 508 const struct dxil_value *opcode = dxil_module_get_int32_const(&ctx->mod, intr); in emit_tertiary_call() 1770 enum dxil_intr intr, const struct dxil_value *op) in emit_unary_intin() argument [all …]
|
/third_party/mesa3d/src/gallium/drivers/d3d12/ |
D | d3d12_nir_passes.c | 70 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); in lower_pos_write() local 71 if (intr->intrinsic != nir_intrinsic_store_deref) in lower_pos_write() 74 nir_variable *var = nir_intrinsic_get_var(intr, 0); in lower_pos_write() 79 b->cursor = nir_before_instr(&intr->instr); in lower_pos_write() 81 nir_ssa_def *pos = nir_ssa_for_src(b, intr->src[1], 4); in lower_pos_write() 89 nir_instr_rewrite_src(&intr->instr, intr->src + 1, nir_src_for_ssa(def)); in lower_pos_write() 124 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); in lower_load_face() local 125 if (intr->intrinsic != nir_intrinsic_load_front_face) in lower_load_face() 128 b->cursor = nir_before_instr(&intr->instr); in lower_load_face() 132 nir_ssa_def_rewrite_uses(&intr->dest.ssa, load); in lower_load_face() [all …]
|
/third_party/mesa3d/src/panfrost/util/ |
D | pan_lower_writeout.c | 66 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); in pan_nir_lower_zs_store() local 67 if (intr->intrinsic != nir_intrinsic_store_output) in pan_nir_lower_zs_store() 70 … if (z_var && nir_intrinsic_base(intr) == z_var->data.driver_location) { in pan_nir_lower_zs_store() 72 z_store = intr; in pan_nir_lower_zs_store() 75 … if (s_var && nir_intrinsic_base(intr) == s_var->data.driver_location) { in pan_nir_lower_zs_store() 77 s_store = intr; in pan_nir_lower_zs_store() 91 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); in pan_nir_lower_zs_store() local 92 if (intr->intrinsic != nir_intrinsic_store_output) in pan_nir_lower_zs_store() 95 …e *var = nir_find_variable_with_driver_location(nir, nir_var_shader_out, nir_intrinsic_base(intr)); in pan_nir_lower_zs_store() 104 assert(nir_src_is_const(intr->src[1]) && "no indirect outputs"); in pan_nir_lower_zs_store() [all …]
|
/third_party/mesa3d/src/panfrost/midgard/ |
D | nir_fuse_io_16.c | 62 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); in nir_fuse_io_16() local 64 if (intr->intrinsic != nir_intrinsic_load_interpolated_input) in nir_fuse_io_16() 67 if (nir_dest_bit_size(intr->dest) != 32) in nir_fuse_io_16() 72 if (nir_intrinsic_component(intr)) in nir_fuse_io_16() 75 if (!intr->dest.is_ssa) in nir_fuse_io_16() 78 if (!list_is_empty(&intr->dest.ssa.if_uses)) in nir_fuse_io_16() 83 nir_foreach_use(src, &intr->dest.ssa) in nir_fuse_io_16() 89 intr->dest.ssa.bit_size = 16; in nir_fuse_io_16() 96 nir_ssa_def *conv = nir_f2f32(&b, &intr->dest.ssa); in nir_fuse_io_16() 97 nir_ssa_def_rewrite_uses_after(&intr->dest.ssa, conv, in nir_fuse_io_16()
|