nir: save IO semantics in lowered IO intrinsics
authorMarek Olšák <marek.olsak@amd.com>
Wed, 12 Aug 2020 03:48:12 +0000 (23:48 -0400)
committerMarge Bot <eric+marge@anholt.net>
Mon, 24 Aug 2020 19:07:18 +0000 (19:07 +0000)
commit502abfce7f5df1811b619657e2e973916699dbc0
tree457cbeb1630397c3056ec7eb3c106c4d6bc66b7e
parentec1fa1d51ff614c19d08c949482b40c060de48c9
nir: save IO semantics in lowered IO intrinsics

This enables drivers and utils to get all IO information from intrinsics,
so that they don't have to walk the complex types of NIR variables to find
out other information about IO intrinsics.

NIR in/out variables can be removed after nir_lower_io. We could remove
the variables in the pass, but for now I just decided to remove
the variables in radeonsi before shaders are returned to st/mesa.
(st/mesa just needs adjustments to work without NIR in/out variables)

Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6442>
src/compiler/nir/nir.h
src/compiler/nir/nir_intrinsics.py
src/compiler/nir/nir_lower_io.c