intel/fs: use stack for temporary array
authorMarcin Ślusarz <marcin.slusarz@intel.com>
Thu, 6 May 2021 12:24:03 +0000 (14:24 +0200)
committerMarge Bot <eric+marge@anholt.net>
Mon, 28 Jun 2021 09:44:40 +0000 (09:44 +0000)
"regs" is an array of 2 ->
  "m" must be <= 2 ->
  "components" array can be allocated on the stack

Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11575>

src/intel/compiler/brw_fs.h

index 22cd226..a81a5f5 100644 (file)
@@ -596,14 +596,14 @@ namespace brw {
          const fs_reg tmp = bld.vgrf(type);
          const brw::fs_builder hbld = bld.exec_all().group(16, 0);
          const unsigned m = bld.dispatch_width() / hbld.dispatch_width();
-         fs_reg *const components = new fs_reg[m];
+         fs_reg components[2];
+         assert(m <= 2);
 
          for (unsigned g = 0; g < m; g++)
                components[g] = retype(brw_vec8_grf(regs[g], 0), type);
 
          hbld.LOAD_PAYLOAD(tmp, components, m, 0);
 
-         delete[] components;
          return tmp;
 
       } else {