freedreno/ir3: remove input ncomp field
authorJonathan Marek <jonathan@marek.ca>
Mon, 7 Oct 2019 00:53:41 +0000 (20:53 -0400)
committerJonathan Marek <jonathan@marek.ca>
Mon, 14 Oct 2019 21:48:22 +0000 (17:48 -0400)
Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Reviewed-by: Rob Clark <robclark@gmail.com>
src/freedreno/ir3/ir3_compiler_nir.c
src/freedreno/ir3/ir3_shader.h
src/gallium/drivers/freedreno/a3xx/fd3_emit.c
src/gallium/drivers/freedreno/a4xx/fd4_emit.c

index 0e5491151d3e0683959347f5e0aa43ee2268ff85..7f000cdc385d958bf817053ce960bc98cb58c0f0 100644 (file)
@@ -2396,7 +2396,6 @@ setup_input(struct ir3_context *ctx, nir_variable *in)
        so->inputs[n].compmask = (1 << (ncomp + frac)) - 1;
        so->inputs_count = MAX2(so->inputs_count, n + 1);
        so->inputs[n].interpolate = in->data.interpolation;
-       so->inputs[n].ncomp = ncomp;
 
        if (ctx->so->type == MESA_SHADER_FRAGMENT) {
 
@@ -2513,7 +2512,6 @@ pack_inlocs(struct ir3_context *ctx)
        for (unsigned i = 0; i < so->inputs_count; i++) {
                unsigned compmask = 0, maxcomp = 0;
 
-               so->inputs[i].ncomp = 0;
                so->inputs[i].inloc = inloc;
                so->inputs[i].bary = false;
 
@@ -2523,7 +2521,6 @@ pack_inlocs(struct ir3_context *ctx)
 
                        compmask |= (1 << j);
                        actual_in++;
-                       so->inputs[i].ncomp++;
                        maxcomp = j + 1;
 
                        /* at this point, since used_components[i] mask is only
index b2d08fe95f3b8a0d2fc5e220a7eec8bcb8e3306e..bc7b6b43c885c2158636619ddde5592261267274 100644 (file)
@@ -451,7 +451,6 @@ struct ir3_shader_variant {
                uint8_t slot;
                uint8_t regid;
                uint8_t compmask;
-               uint8_t ncomp;
                /* location of input (ie. offset passed to bary.f, etc).  This
                 * matches the SP_VS_VPC_DST_REG.OUTLOCn value (a3xx and a4xx
                 * have the OUTLOCn value offset by 8, presumably to account
index 43de22731449d2e89c9569e69f5aa1f06bc051be..d55628adc471d5a242ac2955637872e9be7bd45a 100644 (file)
@@ -441,7 +441,7 @@ fd3_emit_vertex_bufs(struct fd_ringbuffer *ring, struct fd3_emit *emit)
                                        COND(isint, A3XX_VFD_DECODE_INSTR_INT) |
                                        COND(switchnext, A3XX_VFD_DECODE_INSTR_SWITCHNEXT));
 
-                       total_in += vp->inputs[i].ncomp;
+                       total_in += util_bitcount(vp->inputs[i].compmask);
                        j++;
                }
        }
index 76f15771abbeed5c83113d42d580a9a1e4981107..73938aa302883cf70107731cccd404d39c7b8201 100644 (file)
@@ -443,7 +443,7 @@ fd4_emit_vertex_bufs(struct fd_ringbuffer *ring, struct fd4_emit *emit)
                                        COND(isint, A4XX_VFD_DECODE_INSTR_INT) |
                                        COND(switchnext, A4XX_VFD_DECODE_INSTR_SWITCHNEXT));
 
-                       total_in += vp->inputs[i].ncomp;
+                       total_in += util_bitcount(vp->inputs[i].compmask);
                        j++;
                }
        }