diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mesa/drivers/dri/i965/gen6_clip_state.c | 31 |
1 files changed, 0 insertions, 31 deletions
diff --git a/src/mesa/drivers/dri/i965/gen6_clip_state.c b/src/mesa/drivers/dri/i965/gen6_clip_state.c index 8e893f5668f..1c8c23730be 100644 --- a/src/mesa/drivers/dri/i965/gen6_clip_state.c +++ b/src/mesa/drivers/dri/i965/gen6_clip_state.c @@ -172,37 +172,6 @@ upload_clip_state(struct brw_context *brw) /* BRW_NEW_VIEWPORT_COUNT */ const unsigned viewport_count = brw->clip.viewport_count; - /* We need to disable guardband clipping if the guardband (which we always - * program to the maximum screen-space bounding box of 8K x 8K) will be - * smaller than the viewport. - * - * Closely examining the clip determination formulas in the documentation - * reveals that objects will be discarded entirely if they're outside the - * (small) guardband, even if they're within the (large) viewport: - * - * TR = TR_GB || TR_VPXY || TR_VPZ || TR_UC || TR_NEGW - * TA = !TR && TA_GB && TA_VPZ && TA_NEGW - * MC = !(TA || TR) - * - * (TA is "Trivial Accept", TR is "Trivial Reject", MC is "Must Clip".) - * - * Disabling guardband clipping removes the TR_GB condition, which means - * they'll be considered MC ("Must Clip") unless they're rejected for - * some other reason. - * - * Note that there is no TA_VPXY condition. If there were, objects entirely - * inside a 16384x16384 viewport would be trivially accepted, breaking the - * "objects must have a screenspace bounding box not exceeding 8K in the X - * or Y direction" restriction. Instead, they're clipped. - */ - for (unsigned i = 0; i < viewport_count; i++) { - if (ctx->ViewportArray[i].Width > 8192 || - ctx->ViewportArray[i].Height > 8192) { - dw2 &= ~GEN6_CLIP_GB_TEST; - break; - } - } - /* BRW_NEW_RASTERIZER_DISCARD */ if (ctx->RasterDiscard) { dw2 |= GEN6_CLIP_MODE_REJECT_ALL; |