On Thu, May 11, 2017 at 04:32:06PM -0700, Kenneth Graunke wrote: > See commit ece0e535a44c228dd994861592deb155c14740d8. This makes > Gen4-5 follow the behavior we use on Gen6+. It seems to have > worked out there.
Nice work, I couldn't spot anything amiss in the entire series. I was a little hesitant with this last patch, but even though I don't know our clipping hardware that well doing the same thing on all generations sounds good. Series: Reviewed-by: Topi Pohjolainen <topi.pohjolai...@intel.com> > --- > src/mesa/drivers/dri/i965/brw_clip_state.c | 34 > ++++++++++-------------------- > src/mesa/drivers/dri/i965/brw_sf_state.c | 7 ++---- > 2 files changed, 13 insertions(+), 28 deletions(-) > > diff --git a/src/mesa/drivers/dri/i965/brw_clip_state.c > b/src/mesa/drivers/dri/i965/brw_clip_state.c > index 5ab254dbb54..8f22c0ff673 100644 > --- a/src/mesa/drivers/dri/i965/brw_clip_state.c > +++ b/src/mesa/drivers/dri/i965/brw_clip_state.c > @@ -41,11 +41,6 @@ brw_upload_clip_unit(struct brw_context *brw) > struct gl_context *ctx = &brw->ctx; > struct brw_clip_unit_state *clip; > > - /* _NEW_BUFFERS */ > - const struct gl_framebuffer *fb = ctx->DrawBuffer; > - const float fb_width = (float)_mesa_geometric_width(fb); > - const float fb_height = (float)_mesa_geometric_height(fb); > - > clip = brw_state_batch(brw, sizeof(*clip), 32, &brw->clip.state_offset); > memset(clip, 0, sizeof(*clip)); > > @@ -104,22 +99,16 @@ brw_upload_clip_unit(struct brw_context *brw) > clip->clip5.userclip_must_clip = 1; > > /* enable guardband clipping if we can */ > - if (ctx->ViewportArray[0].X == 0 && > - ctx->ViewportArray[0].Y == 0 && > - ctx->ViewportArray[0].Width == fb_width && > - ctx->ViewportArray[0].Height == fb_height) > - { > - clip->clip5.guard_band_enable = 1; > - clip->clip6.clipper_viewport_state_ptr = > - (brw->batch.bo->offset64 + brw->clip.vp_offset) >> 5; > - > - /* emit clip viewport relocation */ > - brw_emit_reloc(&brw->batch, > - (brw->clip.state_offset + > - offsetof(struct brw_clip_unit_state, clip6)), > - brw->batch.bo, brw->clip.vp_offset, > - I915_GEM_DOMAIN_INSTRUCTION, 0); > - } > + clip->clip5.guard_band_enable = 1; > + clip->clip6.clipper_viewport_state_ptr = > + (brw->batch.bo->offset64 + brw->clip.vp_offset) >> 5; > + > + /* emit clip viewport relocation */ > + brw_emit_reloc(&brw->batch, > + (brw->clip.state_offset + > + offsetof(struct brw_clip_unit_state, clip6)), > + brw->batch.bo, brw->clip.vp_offset, > + I915_GEM_DOMAIN_INSTRUCTION, 0); > > /* _NEW_TRANSFORM */ > if (!ctx->Transform.DepthClamp) > @@ -145,8 +134,7 @@ brw_upload_clip_unit(struct brw_context *brw) > > const struct brw_tracked_state brw_clip_unit = { > .dirty = { > - .mesa = _NEW_BUFFERS | > - _NEW_TRANSFORM | > + .mesa = _NEW_TRANSFORM | > _NEW_VIEWPORT, > .brw = BRW_NEW_BATCH | > BRW_NEW_BLORP | > diff --git a/src/mesa/drivers/dri/i965/brw_sf_state.c > b/src/mesa/drivers/dri/i965/brw_sf_state.c > index 4b4c274c9e2..84db848ac81 100644 > --- a/src/mesa/drivers/dri/i965/brw_sf_state.c > +++ b/src/mesa/drivers/dri/i965/brw_sf_state.c > @@ -91,9 +91,7 @@ static void upload_sf_unit( struct brw_context *brw ) > > sf->sf5.viewport_transform = 1; > > - /* _NEW_SCISSOR */ > - if (ctx->Scissor.EnableFlags) > - sf->sf6.scissor = 1; > + sf->sf6.scissor = 1; > > /* _NEW_POLYGON */ > if (ctx->Polygon._FrontBit) > @@ -217,8 +215,7 @@ const struct brw_tracked_state brw_sf_unit = { > _NEW_LINE | > _NEW_POINT | > _NEW_POLYGON | > - _NEW_PROGRAM | > - _NEW_SCISSOR, > + _NEW_PROGRAM, > .brw = BRW_NEW_BATCH | > BRW_NEW_BLORP | > BRW_NEW_PROGRAM_CACHE | > -- > 2.12.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