nir: set io mask correctly for compact vars.
What does this MR do and why?
I started converting llvmpipe to use NIR in most places and fell over a regression with clip dist compact floats,
The patch fixes it, but is it correct I suppose is the question.
nir: set io mask correctly for compact vars.
It needs two changes, one to use the nir helper for compact var, but also one to handle compact derefs like float[1] where the deref->type ends up as float, so glsl_get_length() returns 0.
Edited by Dave Airlie