i965: Handle rasterizer discard in the clipper rather than GS on Gen6.
authorKenneth Graunke <kenneth@whitecape.org>
Fri, 17 May 2013 15:49:52 +0000 (08:49 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Mon, 20 May 2013 20:03:18 +0000 (13:03 -0700)
commit037a901a5b201ed3c45595074f95d46b196fb511
tree2d1706f1840cb6ca808b3001d7057365b8450a09
parentd1e4e9960cbdfce6078cdc377809ea76c2eb7078
i965: Handle rasterizer discard in the clipper rather than GS on Gen6.

This has more of a negative impact than the previous patch, as on Gen6
passing primitives through to the clipper means we actually have to make
the GS thread write them to the URB.

I don't see another good solution though, and rasterizer discard is not
the most common of cases, so hopefully it won't be too terrible.

v2: Add a perf_debug; resolve rebase conflicts on the brw dirty flags;
    remove the rasterizer_discard field from brw_gs_prog_key.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net> [v1]
Reviewed-by: Paul Berry <stereotype441@gmail.com>
src/mesa/drivers/dri/i965/brw_gs.c
src/mesa/drivers/dri/i965/brw_gs.h
src/mesa/drivers/dri/i965/brw_gs_emit.c
src/mesa/drivers/dri/i965/gen6_clip_state.c