Avoid using a sparse and relatively large array for HALIGN encoding. Additionally, this provides validation of the input alignment values. Suggested-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12132>