st/xa: Fix regression in xa_yuv_planar_blit()
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 <thellstrom@vmware.com> Reviewed-by: Sinclair Yeh <syeh@vmware.com> Cc: Rob Clark <robclark@freedesktop.org> Cc: "10.2 10.3" <mesa-stable@lists.freedesktop.org>
This commit is contained in:
parent
68627235f2
commit
46537f1d03
|
@ -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
|
||||
|
|
|
@ -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),
|
||||
|
|
Loading…
Reference in New Issue