i965: Emit a second set of SURFACE_STATE for gather4 from textures.
authorChris Forbes <chrisf@ijw.co.nz>
Sun, 15 Sep 2013 05:58:12 +0000 (17:58 +1200)
committerChris Forbes <chrisf@ijw.co.nz>
Wed, 2 Oct 2013 18:56:29 +0000 (07:56 +1300)
commitc08f2083ee0c5d71351fe8eb9f41218a6fed7b10
treebe8faaca968e024f31004b705c88c485237cef1f
parent5901d48b4161ff64d5708e4e13122fce5ed4d0bf
i965: Emit a second set of SURFACE_STATE for gather4 from textures.

This allows us to use a different surface format for gather4, which is
required for R32G32_FLOAT to work on Gen7.

V4: - Only emit alternate surface state for shaders which will actually
      use it.
    - Pass a simple 'for_gather' flag rather than a function pointer.
      The callee can decide what w/a to apply.

Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/brw_context.h
src/mesa/drivers/dri/i965/brw_wm_surface_state.c
src/mesa/drivers/dri/i965/gen7_wm_surface_state.c