252c3c409d
First, preprocess the signatures, strictly based on the variables in the nir shader. Then, later, after the actual shader contents have been processed, we emit the metadata. This lets shader processing rely on the pre-processed data (e.g. the row -> ID mapping needed for large VS inputs) while also allowing the signature data to rely on data gathered during the shader traversal (e.g. which components are actually used). Reviewed-by: Enrico Galli <enrico.galli@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17603>