nvc0/ir: fill offset in properly for TXD

Apparently TXD wants its offset differently than TEX, accepting it in
the upper bits of the layer index. Unclear what happens when this is
combined with indirect sampler indexing.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
nouveau: set GPU_WRITING flag in buffers' nouveau_transfer_write

To make sure we wait for the GPU to write the data before doing
things like indirect drawing.
nvc0: add support for indirect drawing
nvc0: fix translate path for PRIM_RESTART_WITH_DRAW_ARRAYS
gallium: switch dedicated centroid field to interpolation location

The new location field can be either center, centroid, or sample, which
indicates the location that the shader should interpolate at.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
mesa/st: add per sample shading state to fp key and set interpolation

This enables a gallium driver not to care about the semantics of
ARB_sample_shading vs ARB_gpu_shader5 sample attributes. When
ARB_sample_shading-style sample shading is enabled, all of the fp inputs
are marked for interpolation at the sample location.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
tgsi: add interpolation location modifier support to text parser

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
nv50/ir: remove hacky global per-sample interpolation setting

Now that inputs are correctly annotated with interpolation location,
don't try to divine whether all inputs should be per-sample-interpolated
or not.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>