intel/compiler: Add backend compiler basics for Task/Mesh
authorCaio Oliveira <caio.oliveira@intel.com>
Fri, 29 Oct 2021 19:27:45 +0000 (12:27 -0700)
committerMarge Bot <emma+marge@anholt.net>
Sat, 4 Dec 2021 00:41:46 +0000 (00:41 +0000)
commitdb23c41537e03c89abb7c7f81738f169c1c6e3f9
treec87039fd1f24fb9657d522b643ed04d63598753d
parent827cf65a26ea90fff17ad57f72ca12ad1c448063
intel/compiler: Add backend compiler basics for Task/Mesh

Task/Mesh stages are CS-like stages, and include many
builtins (e.g. workgroup ID/index) and intrinsics (e.g. workgroup
memory primitives) originally present only in CS.

This commit add two new stages (task and mesh) that 'inherit' from CS
by embedding a brw_cs_prog_data in their own prog_data structure, so
that CS functionality can be easily reused.  They also currently use
the same helpers to select the SIMD variant to use -- that was
recently added for CS.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13661>
src/intel/compiler/brw_compiler.c
src/intel/compiler/brw_compiler.h
src/intel/compiler/brw_fs.cpp
src/intel/compiler/brw_fs.h
src/intel/compiler/brw_fs_nir.cpp
src/intel/compiler/brw_mesh.cpp [new file with mode: 0644]
src/intel/compiler/meson.build