Looks good. Reviewed-by: Sinclair Yeh <s...@vmware.com>
On Mon, Sep 29, 2014 at 08:13:46AM +0200, Thomas Hellstrom wrote: > Commit "st/xa: scissor to help tilers" broke xa_yuv_planar_blit() and vmwgfx > textured video. Fix this by implementing scissors also in the yuv draw path. > > Signed-off-by: Thomas Hellstrom <thellst...@vmware.com> > Cc: Rob Clark <robcl...@freedesktop.org> > Cc: "10.2 10.3" <mesa-sta...@lists.freedesktop.org> > --- > src/gallium/state_trackers/xa/xa_renderer.c | 11 +++++++++++ > src/gallium/state_trackers/xa/xa_yuv.c | 1 + > 2 files changed, 12 insertions(+) > > diff --git a/src/gallium/state_trackers/xa/xa_renderer.c > b/src/gallium/state_trackers/xa/xa_renderer.c > index 121d8ed..780b247 100644 > --- a/src/gallium/state_trackers/xa/xa_renderer.c > +++ b/src/gallium/state_trackers/xa/xa_renderer.c > @@ -530,11 +530,22 @@ renderer_draw_yuv(struct xa_context *r, > src_x, src_y, src_w, src_h, > dst_x, dst_y, dst_w, dst_h, srf); > > + if (!r->scissor_valid) { > + r->scissor.minx = 0; > + r->scissor.miny = 0; > + r->scissor.maxx = r->dst->tex->width0; > + r->scissor.maxy = r->dst->tex->height0; > + } > + > + r->pipe->set_scissor_states(r->pipe, 0, 1, &r->scissor); > + > cso_set_vertex_elements(r->cso, num_attribs, r->velems); > util_draw_user_vertex_buffer(r->cso, r->buffer, PIPE_PRIM_QUADS, > 4, /* verts */ > num_attribs); /* attribs/vert */ > r->buffer_size = 0; > + > + xa_scissor_reset(r); > } > > void > diff --git a/src/gallium/state_trackers/xa/xa_yuv.c > b/src/gallium/state_trackers/xa/xa_yuv.c > index 43f56ff..1519639 100644 > --- a/src/gallium/state_trackers/xa/xa_yuv.c > +++ b/src/gallium/state_trackers/xa/xa_yuv.c > @@ -146,6 +146,7 @@ xa_yuv_planar_blit(struct xa_context *r, > int w = box->x2 - box->x1; > int h = box->y2 - box->y1; > > + xa_scissor_update(r, x, y, box->x2, box->y2); > renderer_draw_yuv(r, > (float)src_x + scale_x * (x - dst_x), > (float)src_y + scale_y * (y - dst_y), > -- > 1.8.3.2 > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev