On Mon, Oct 17, 2016 at 4:16 PM, <boyuan.zh...@amd.com> wrote: > From: Boyuan Zhang <boyuan.zh...@amd.com> > > During dual instance encoding submission, if the second encode task and first > encode task have no reference dependency, e.g. p following with idr-frame, > there is a chance the second task will use for its reconstructed picture > buffer the same buffer used by first task for its reference/reconstructed > picture. In this case, buffer corruption may occur depending on encoding > speed. Fix is to force flush these two tasks separately to avoid race > condition
Please reference the bug when this is committed. https://bugs.freedesktop.org/show_bug.cgi?id=98005 Alex > > Signed-off-by: Boyuan Zhang <boyuan.zh...@amd.com> > --- > src/gallium/state_trackers/va/picture.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/src/gallium/state_trackers/va/picture.c > b/src/gallium/state_trackers/va/picture.c > index 7f3d96d..eae5dc4 100644 > --- a/src/gallium/state_trackers/va/picture.c > +++ b/src/gallium/state_trackers/va/picture.c > @@ -578,6 +578,9 @@ vlVaEndPicture(VADriverContextP ctx, VAContextID > context_id) > } > > context->decoder->end_frame(context->decoder, context->target, > &context->desc.base); > + if (context->decoder->entrypoint == PIPE_VIDEO_ENTRYPOINT_ENCODE && > + context->desc.h264enc.p_remain == 1) > + context->decoder->flush(context->decoder); > pipe_mutex_unlock(drv->mutex); > return VA_STATUS_SUCCESS; > } > -- > 2.7.4 > > _______________________________________________ > 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