nvc0: fix bindless multisampled images on Maxwell+
authorRhys Perry <pendingchaos02@gmail.com>
Fri, 20 Jul 2018 14:56:21 +0000 (15:56 +0100)
committerRhys Perry <pendingchaos02@gmail.com>
Sat, 22 Sep 2018 19:13:17 +0000 (20:13 +0100)
commitb473fcc9a39d0e1cdc1b9d2cd34ea8da2f9fc382
tree68b404e50050eba4187dded6c61b6218a799556e
parented797f6597b55c4c0bfd23729a1c29d2f77bed02
nvc0: fix bindless multisampled images on Maxwell+

NVC0_CB_AUX_BINDLESS_INFO isn't written to on Maxwell+ and it's too small
anyway.

With these changes, TXQ is used to determine the number of samples and
the coordinate adjustment information looked up in a small array in the
driver constant buffer.

v2: rework to use TXQ and a small array instead of a larger array with an
    entry for each texture
v3: get rid of the small array and calculate the adjustments in the shader

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Fixes: c2ae9b40527 ('nvc0: implement multisampled images on Maxwell+')
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_gm107.cpp
src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp
src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.h