this allows the removal of tons of awful code Acked-by: Adam Jackson <ajax@redhat.com> Part-of: <mesa/mesa!15904>