~mmach/netext73/mesa-ryzen

« back to all changes in this revision

Viewing changes to src/broadcom/compiler/v3d_nir_lower_txf_ms.c

  • Committer: mmach
  • Date: 2023-11-02 21:31:35 UTC
  • Revision ID: netbit73@gmail.com-20231102213135-18d4tzh7tj0uz752
2023-11-02 22:11:57

Show diffs side-by-side

added added

removed removed

Lines of Context:
32
32
 * 2x2 quad.
33
33
 */
34
34
 
35
 
#define V3D_MAX_SAMPLES 4
36
 
 
37
35
static nir_ssa_def *
38
36
v3d_nir_lower_txf_ms_instr(nir_builder *b, nir_instr *in_instr, void *data)
39
37
{
41
39
 
42
40
        b->cursor = nir_before_instr(&instr->instr);
43
41
 
44
 
        int coord_index = nir_tex_instr_src_index(instr, nir_tex_src_coord);
45
 
        int sample_index = nir_tex_instr_src_index(instr, nir_tex_src_ms_index);
46
 
        nir_ssa_def *coord = instr->src[coord_index].src.ssa;
47
 
        nir_ssa_def *sample = instr->src[sample_index].src.ssa;
 
42
        nir_ssa_def *coord = nir_steal_tex_src(instr, nir_tex_src_coord);
 
43
        nir_ssa_def *sample = nir_steal_tex_src(instr, nir_tex_src_ms_index);
48
44
 
49
45
        nir_ssa_def *one = nir_imm_int(b, 1);
50
46
        nir_ssa_def *x = nir_iadd(b,
58
54
        else
59
55
                coord = nir_vec2(b, x, y);
60
56
 
61
 
        nir_instr_rewrite_src(&instr->instr,
62
 
                              &instr->src[nir_tex_src_coord].src,
63
 
                              nir_src_for_ssa(coord));
64
 
        nir_tex_instr_remove_src(instr, sample_index);
 
57
        nir_tex_instr_add_src(instr, nir_tex_src_coord, nir_src_for_ssa(coord));
65
58
        instr->op = nir_texop_txf;
66
59
        instr->sampler_dim = GLSL_SAMPLER_DIM_2D;
67
60