I thought there was some deal where viewport was *not* supposed to act as a scissor... perhaps I misunderstood though.
On Thu, Mar 10, 2016 at 7:59 PM, Kenneth Graunke <kenn...@whitecape.org> wrote: > We'll need to use scissoring to restrict fragments to the viewport > soon. It seems harmless to include it generally, so let's do that. > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94453 > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94454 > Signed-off-by: Kenneth Graunke <kenn...@whitecape.org> > --- > src/mesa/drivers/dri/i965/gen6_scissor_state.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/src/mesa/drivers/dri/i965/gen6_scissor_state.c > b/src/mesa/drivers/dri/i965/gen6_scissor_state.c > index 17b4a7f..a206732 100644 > --- a/src/mesa/drivers/dri/i965/gen6_scissor_state.c > +++ b/src/mesa/drivers/dri/i965/gen6_scissor_state.c > @@ -58,10 +58,10 @@ gen6_upload_scissor_state(struct brw_context *brw) > for (unsigned i = 0; i < ctx->Const.MaxViewports; i++) { > int bbox[4]; > > - bbox[0] = 0; > - bbox[1] = fb_width; > - bbox[2] = 0; > - bbox[3] = fb_height; > + bbox[0] = MAX2(ctx->ViewportArray[i].X, 0); > + bbox[1] = MIN2(bbox[0] + ctx->ViewportArray[i].Width, fb_width); > + bbox[2] = MAX2(ctx->ViewportArray[i].Y, 0); > + bbox[3] = MIN2(bbox[2] + ctx->ViewportArray[i].Height, fb_height); > _mesa_intersect_scissor_bounding_box(ctx, i, bbox); > > if (bbox[0] == bbox[1] || bbox[2] == bbox[3]) { > -- > 2.7.2 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev