On Fri, 2018-04-27 at 08:32 -0400, Leo Liu wrote: > The blit here involves scaling since it's copying from I8 format to R8G8 > format. > Half of source will be filtered out with PIPE_TEX_FILTER_NEAREST instruction, > it > looks that GPU always uses the second half as source. Currently we use "1" as > the start point of x for R, then causing 1 source pixel of U component shift > to > right. So "-1" should be the start point for U component. > > Cc: 18.0 18.1 <mesa-sta...@lists.freedesktop.org> > --- > src/gallium/state_trackers/omx/vid_enc_common.c | 8 ++++----
Hello! For 18.0 stable branch, we do not have src/gallium/state_trackers/omx/vid_enc_common.c file. So I've applied the patch in src/gallium/state_trackers/omx_bellagio/vid_enc.c, which seems to be the right place here. Feel free to take a look at the cherry-picked patch: https://github.com/Igalia/release-mesa/commit/1a23971b49f77960afb2c686d20fced476 185602 J.A. > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/src/gallium/state_trackers/omx/vid_enc_common.c > b/src/gallium/state_trackers/omx/vid_enc_common.c > index 874dd3a..2aa739d 100644 > --- a/src/gallium/state_trackers/omx/vid_enc_common.c > +++ b/src/gallium/state_trackers/omx/vid_enc_common.c > @@ -353,7 +353,7 @@ OMX_ERRORTYPE enc_LoadImage_common(vid_enc_PrivateType * > priv, OMX_VIDEO_PORTDEF > blit.src.resource = inp->resource; > blit.src.format = inp->resource->format; > > - blit.src.box.x = 0; > + blit.src.box.x = -1; > blit.src.box.y = def->nFrameHeight; > blit.src.box.width = def->nFrameWidth; > blit.src.box.height = def->nFrameHeight / 2 ; > @@ -367,11 +367,11 @@ OMX_ERRORTYPE enc_LoadImage_common(vid_enc_PrivateType > * priv, OMX_VIDEO_PORTDEF > blit.dst.box.depth = 1; > blit.filter = PIPE_TEX_FILTER_NEAREST; > > - blit.mask = PIPE_MASK_G; > + blit.mask = PIPE_MASK_R; > priv->s_pipe->blit(priv->s_pipe, &blit); > > - blit.src.box.x = 1; > - blit.mask = PIPE_MASK_R; > + blit.src.box.x = 0; > + blit.mask = PIPE_MASK_G; > priv->s_pipe->blit(priv->s_pipe, &blit); > priv->s_pipe->flush(priv->s_pipe, NULL, 0); > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev