diff options
Diffstat (limited to 'src/mesa/drivers/dri/i965/gen6_clip_state.c')
-rw-r--r-- | src/mesa/drivers/dri/i965/gen6_clip_state.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/i965/gen6_clip_state.c b/src/mesa/drivers/dri/i965/gen6_clip_state.c index cd2a8bfbfad..a05e42df73e 100644 --- a/src/mesa/drivers/dri/i965/gen6_clip_state.c +++ b/src/mesa/drivers/dri/i965/gen6_clip_state.c @@ -76,6 +76,13 @@ upload_clip_state(struct brw_context *brw) dw2 |= GEN6_CLIP_GB_TEST; } + /* BRW_NEW_RASTERIZER_DISCARD */ + if (ctx->RasterDiscard) { + dw2 |= GEN6_CLIP_MODE_REJECT_ALL; + perf_debug("Rasterizer discard is currently implemented via the clipper; " + "having the GS not write primitives would likely be faster."); + } + BEGIN_BATCH(4); OUT_BATCH(_3DSTATE_CLIP << 16 | (4 - 2)); OUT_BATCH(dw1); @@ -93,7 +100,9 @@ upload_clip_state(struct brw_context *brw) const struct brw_tracked_state gen6_clip_state = { .dirty = { .mesa = _NEW_TRANSFORM | _NEW_LIGHT | _NEW_BUFFERS, - .brw = BRW_NEW_CONTEXT | BRW_NEW_META_IN_PROGRESS, + .brw = BRW_NEW_CONTEXT | + BRW_NEW_META_IN_PROGRESS | + BRW_NEW_RASTERIZER_DISCARD, .cache = CACHE_NEW_WM_PROG }, .emit = upload_clip_state, |