i965: Refactor Gen7+ SURFACE_STATE setup for buffer surfaces.
authorKenneth Graunke <kenneth@whitecape.org>
Sat, 14 Sep 2013 00:46:47 +0000 (17:46 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Thu, 19 Sep 2013 17:52:58 +0000 (10:52 -0700)
commite114cbff966b8cee77b6d9e2ecf99c35116ae1ae
tree00dd4670409d7ae0e6f770e8b321d4d0a0d2e3ff
parent35a54ad02f977a11b119d1ed13a3ce4d78a1599b
i965: Refactor Gen7+ SURFACE_STATE setup for buffer surfaces.

This was an embarassingly large amount of copy and pasted code,
and it wasn't particularly simple code either.  By factoring it out
into a helper function, we consolidate the complexity.

v2: Properly NULL-check bo.  Caught by Eric Anholt.
v3: Do the subtraction by 1 in gen7_emit_buffer_surface_state, rather
    than making callers do it.  This makes the buffer_size parameter
    the actual size of the buffer.  Suggested by Paul Berry.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
src/mesa/drivers/dri/i965/gen7_wm_surface_state.c