nvc0: fix 3d images
The hardware has no support for 3d image loads/stores. So present the image as a larger 2d image and fudge the coordinates. Note that a 2d image (in the shader) may be backed by a slice of a 3d image, so we always have to do the coordinate adjustments for 2d as well.
This is largely copied from the nv50 support, which has the same restriction, with extra care taken to differentiate loads (which specifies the X coordinate in bytes) and stores, which specifies it in (formatted) pixels.
Signed-off-by: Ilia Mirkin firstname.lastname@example.org