i965/rbc: Consult rb settings for texture surface setup
authorTopi Pohjolainen <topi.pohjolainen@intel.com>
Wed, 31 Aug 2016 07:08:17 +0000 (10:08 +0300)
committerTopi Pohjolainen <topi.pohjolainen@intel.com>
Mon, 12 Sep 2016 08:46:13 +0000 (11:46 +0300)
commit1b6fcc08df677725cf5ee4e913ebfbd2bff27e22
treeba5db5f3804ec08ef1b501ef47268c7fdc1e1f74
parent22d9a4824baf0bf89bb8e39025ad01fecb213888
i965/rbc: Consult rb settings for texture surface setup

Once mcs buffer gets allocated without delay for lossless
compression (same as we do for msaa), one gets regression in:

GL45-CTS.texture_barrier_ARB.same-texel-rw

Setting the auxiliary surface for both sampling engine and data
port seems to fix this. I haven't found any hardware documentation
backing this though.

v2 (Jason): Prepare also for the case where surface is sampled with
            non-compressible format forcing also rendering without
            compression.
v3: Split asserts and decision making.
v4: Detailed comment provided by Jason explaining the need for using
    auxiliary buffer for texturing when the same surface is also
    used as render target.
    Added check for existence of renderbuffer before considering if
    underlying miptree matches.

Signed-off-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
src/mesa/drivers/dri/i965/brw_wm_surface_state.c