<div dir="ltr"><div dir="ltr"><div>Hello,</div><div><br></div>I don't know how we usually do in such cases.<br>Could I just restore back the 'review-by' tags here due to trivial changes<br>or this patch should pass review process once again?<br><div><div><div><br></div><div>Thanks,</div><div>Andrii.<br></div><br><div class="gmail_quote"><div dir="ltr">On Mon, Nov 5, 2018 at 10:42 AM Jordan Justen <<a href="mailto:jordan.l.justen@intel.com">jordan.l.justen@intel.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 2018-11-05 00:11:52, andrey simiklit wrote:<br>
> Hello,<br>
> <br>
> I tested this patch few times and have the following results:<br>
> <a href="https://mesa-ci.01.org/global_logic/builds/38/group/63a9f0ea7bb98050796b649e85481845" rel="noreferrer" target="_blank">https://mesa-ci.01.org/global_logic/builds/38/group/63a9f0ea7bb98050796b649e85481845</a><br>
> <a href="https://mesa-ci.01.org/global_logic/builds/41/group/63a9f0ea7bb98050796b649e85481845" rel="noreferrer" target="_blank">https://mesa-ci.01.org/global_logic/builds/41/group/63a9f0ea7bb98050796b649e85481845</a><br>
> <a href="https://mesa-ci.01.org/global_logic/builds/43/group/63a9f0ea7bb98050796b649e85481845" rel="noreferrer" target="_blank">https://mesa-ci.01.org/global_logic/builds/43/group/63a9f0ea7bb98050796b649e85481845</a><br>
> <br>
> All test runs are finished with the following issue on G965:<br>
> <br>
> <a href="https://mesa-ci.01.org/global_logic/builds/38/results/46496330" rel="noreferrer" target="_blank">https://mesa-ci.01.org/global_logic/builds/38/results/46496330</a><br>
> ext_framebuffer_multisample-accuracy all_samples srgb small depthstencil<br>
> linear -auto -fbo<br>
> ....<br>
> ERROR: This test passed when it expected failure<br>
> <br>
> Note: Also I checked latest mesa master few times and there was no<br>
> regression:<br>
> <br>
> <a href="https://mesa-ci.01.org/global_logic/builds/42/group/63a9f0ea7bb98050796b649e85481845" rel="noreferrer" target="_blank">https://mesa-ci.01.org/global_logic/builds/42/group/63a9f0ea7bb98050796b649e85481845</a><br>
> <br>
<br>
It also looks like the tex3d-maxsize test is back to failing after a<br>
few seconds on g965, rather than running forever. (So, #108630 is<br>
fixed by this version.)<br>
<br>
<a href="https://mesa-ci.01.org/global_logic/builds/38/results/46492597" rel="noreferrer" target="_blank">https://mesa-ci.01.org/global_logic/builds/38/results/46492597</a><br>
<br>
-Jordan<br>
<br>
> <br>
> On Mon, Nov 5, 2018 at 9:48 AM <<a href="mailto:asimiklit.work@gmail.com" target="_blank">asimiklit.work@gmail.com</a>> wrote:<br>
> <br>
> > From: Andrii Simiklit <<a href="mailto:andrii.simiklit@globallogic.com" target="_blank">andrii.simiklit@globallogic.com</a>><br>
> ><br>
> > There's no point reverting to the last saved point if that save point is<br>
> > the empty batch, we will just repeat ourselves.<br>
> ><br>
> > v2: Merge with new commits, changes was minimized, added the 'fixes' tag<br>
> > v3: Added in to patch series<br>
> > v4: Fixed the regression which was introduced by this patch<br>
> > Bugzilla: <a href="https://bugs.freedesktop.org/show_bug.cgi?id=108630" rel="noreferrer" target="_blank">https://bugs.freedesktop.org/show_bug.cgi?id=108630</a><br>
> > Reported-by: Mark Janes <<a href="mailto:mark.a.janes@intel.com" target="_blank">mark.a.janes@intel.com</a>><br>
> > The solution provided by: Jordan Justen <<a href="mailto:jordan.l.justen@intel.com" target="_blank">jordan.l.justen@intel.com</a>><br>
> ><br>
> > CC: Chris Wilson <<a href="mailto:chris@chris-wilson.co.uk" target="_blank">chris@chris-wilson.co.uk</a>><br>
> > Fixes: 3faf56ffbdeb "intel: Add an interface for saving/restoring<br>
> > the batchbuffer state."<br>
> > Bugzilla: <a href="https://bugs.freedesktop.org/show_bug.cgi?id=107626" rel="noreferrer" target="_blank">https://bugs.freedesktop.org/show_bug.cgi?id=107626</a><br>
> > Signed-off-by: Andrii Simiklit <<a href="mailto:andrii.simiklit@globallogic.com" target="_blank">andrii.simiklit@globallogic.com</a>><br>
> > ---<br>
> > src/mesa/drivers/dri/i965/brw_compute.c | 3 ++-<br>
> > src/mesa/drivers/dri/i965/brw_draw.c | 3 ++-<br>
> > src/mesa/drivers/dri/i965/genX_blorp_exec.c | 1 +<br>
> > src/mesa/drivers/dri/i965/intel_batchbuffer.c | 7 +++++++<br>
> > src/mesa/drivers/dri/i965/intel_batchbuffer.h | 1 +<br>
> > 5 files changed, 13 insertions(+), 2 deletions(-)<br>
> ><br>
> > diff --git a/src/mesa/drivers/dri/i965/brw_compute.c<br>
> > b/src/mesa/drivers/dri/i965/brw_compute.c<br>
> > index de08fc3ac1..5c8e3a5d4d 100644<br>
> > --- a/src/mesa/drivers/dri/i965/brw_compute.c<br>
> > +++ b/src/mesa/drivers/dri/i965/brw_compute.c<br>
> > @@ -167,7 +167,7 @@ static void<br>
> > brw_dispatch_compute_common(struct gl_context *ctx)<br>
> > {<br>
> > struct brw_context *brw = brw_context(ctx);<br>
> > - bool fail_next = false;<br>
> > + bool fail_next;<br>
> ><br>
> > if (!_mesa_check_conditional_render(ctx))<br>
> > return;<br>
> > @@ -185,6 +185,7 @@ brw_dispatch_compute_common(struct gl_context *ctx)<br>
> > intel_batchbuffer_require_space(brw, 600);<br>
> > brw_require_statebuffer_space(brw, 2500);<br>
> > intel_batchbuffer_save_state(brw);<br>
> > + fail_next = intel_batchbuffer_saved_state_is_empty(brw);<br>
> ><br>
> > retry:<br>
> > brw->batch.no_wrap = true;<br>
> > diff --git a/src/mesa/drivers/dri/i965/brw_draw.c<br>
> > b/src/mesa/drivers/dri/i965/brw_draw.c<br>
> > index 8536c04010..19ee3962d7 100644<br>
> > --- a/src/mesa/drivers/dri/i965/brw_draw.c<br>
> > +++ b/src/mesa/drivers/dri/i965/brw_draw.c<br>
> > @@ -885,7 +885,7 @@ brw_draw_single_prim(struct gl_context *ctx,<br>
> > {<br>
> > struct brw_context *brw = brw_context(ctx);<br>
> > const struct gen_device_info *devinfo = &brw->screen->devinfo;<br>
> > - bool fail_next = false;<br>
> > + bool fail_next;<br>
> ><br>
> > /* Flag BRW_NEW_DRAW_CALL on every draw. This allows us to have<br>
> > * atoms that happen on every draw call.<br>
> > @@ -898,6 +898,7 @@ brw_draw_single_prim(struct gl_context *ctx,<br>
> > intel_batchbuffer_require_space(brw, 1500);<br>
> > brw_require_statebuffer_space(brw, 2400);<br>
> > intel_batchbuffer_save_state(brw);<br>
> > + fail_next = intel_batchbuffer_saved_state_is_empty(brw);<br>
> ><br>
> > if (brw->num_instances != prim->num_instances ||<br>
> > brw->basevertex != prim->basevertex ||<br>
> > diff --git a/src/mesa/drivers/dri/i965/genX_blorp_exec.c<br>
> > b/src/mesa/drivers/dri/i965/genX_blorp_exec.c<br>
> > index 34bfcad03e..a62b88e166 100644<br>
> > --- a/src/mesa/drivers/dri/i965/genX_blorp_exec.c<br>
> > +++ b/src/mesa/drivers/dri/i965/genX_blorp_exec.c<br>
> > @@ -309,6 +309,7 @@ retry:<br>
> > intel_batchbuffer_require_space(brw, 1400);<br>
> > brw_require_statebuffer_space(brw, 600);<br>
> > intel_batchbuffer_save_state(brw);<br>
> > + check_aperture_failed_once |=<br>
> > intel_batchbuffer_saved_state_is_empty(brw);<br>
> > brw->batch.no_wrap = true;<br>
> ><br>
> > #if GEN_GEN == 6<br>
> > diff --git a/src/mesa/drivers/dri/i965/intel_batchbuffer.c<br>
> > b/src/mesa/drivers/dri/i965/intel_batchbuffer.c<br>
> > index 8b769eaf53..6207de5a06 100644<br>
> > --- a/src/mesa/drivers/dri/i965/intel_batchbuffer.c<br>
> > +++ b/src/mesa/drivers/dri/i965/intel_batchbuffer.c<br>
> > @@ -301,6 +301,13 @@ intel_batchbuffer_save_state(struct brw_context *brw)<br>
> > brw->batch.saved.exec_count = brw->batch.exec_count;<br>
> > }<br>
> ><br>
> > +bool<br>
> > +intel_batchbuffer_saved_state_is_empty(struct brw_context *brw)<br>
> > +{<br>
> > + struct intel_batchbuffer *batch = &brw->batch;<br>
> > + return (batch->saved.map_next == batch->batch.map);<br>
> > +}<br>
> > +<br>
> > void<br>
> > intel_batchbuffer_reset_to_saved(struct brw_context *brw)<br>
> > {<br>
> > diff --git a/src/mesa/drivers/dri/i965/intel_batchbuffer.h<br>
> > b/src/mesa/drivers/dri/i965/intel_batchbuffer.h<br>
> > index 0632142cd3..91720dad5b 100644<br>
> > --- a/src/mesa/drivers/dri/i965/intel_batchbuffer.h<br>
> > +++ b/src/mesa/drivers/dri/i965/intel_batchbuffer.h<br>
> > @@ -24,6 +24,7 @@ struct intel_batchbuffer;<br>
> > void intel_batchbuffer_init(struct brw_context *brw);<br>
> > void intel_batchbuffer_free(struct intel_batchbuffer *batch);<br>
> > void intel_batchbuffer_save_state(struct brw_context *brw);<br>
> > +bool intel_batchbuffer_saved_state_is_empty(struct brw_context *brw);<br>
> > void intel_batchbuffer_reset_to_saved(struct brw_context *brw);<br>
> > void intel_batchbuffer_require_space(struct brw_context *brw, GLuint sz);<br>
> > int _intel_batchbuffer_flush_fence(struct brw_context *brw,<br>
> > --<br>
> > 2.17.1<br>
> ><br>
> ><br>
</blockquote></div></div></div></div></div>