freedreno/ir3: use lower_wrmasks pass
[mesa.git] / src / freedreno / ir3 / ir3_a6xx.c
index d4cb74c39bd48be05661ebad30cd643eda8648b2..e297e34fdf526f771d2ea861e92abe96a94702c9 100644 (file)
@@ -103,13 +103,11 @@ emit_intrinsic_store_ssbo(struct ir3_context *ctx, nir_intrinsic_instr *intr)
 {
        struct ir3_block *b = ctx->block;
        struct ir3_instruction *stib, *val, *offset;
-       /* TODO handle wrmask properly, see _store_shared().. but I think
-        * it is more a PITA than that, since blob ends up loading the
-        * masked components and writing them back out.
-        */
        unsigned wrmask = nir_intrinsic_write_mask(intr);
        unsigned ncomp = ffs(~wrmask) - 1;
 
+       assert(wrmask == BITFIELD_MASK(intr->num_components));
+
        /* src0 is offset, src1 is value:
         */
        val = ir3_create_collect(ctx, ir3_get_src(ctx, &intr->src[0]), ncomp);