On Mon, Jul 28, 2014 at 2:10 PM, Keith Packard <[email protected]> wrote: > This uses a single large triangle and a scissor to draw the video > instead of two triangles. > > Signed-off-by: Keith Packard <[email protected]>
Reviewed-by: Alex Deucher <[email protected]> > --- > glamor/glamor_xv.c | 13 ++++++++----- > 1 file changed, 8 insertions(+), 5 deletions(-) > > diff --git a/glamor/glamor_xv.c b/glamor/glamor_xv.c > index 68a06a4..3f3e064 100644 > --- a/glamor/glamor_xv.c > +++ b/glamor/glamor_xv.c > @@ -336,6 +336,7 @@ glamor_xv_render(glamor_port_private *port_priv) > GL_FALSE, 2 * sizeof(float), vertices); > > glEnableVertexAttribArray(GLAMOR_VERTEX_POS); > + glEnable(GL_SCISSOR_TEST); > for (i = 0; i < nBox; i++) { > float off_x = box[i].x1 - port_priv->drw_x; > float off_y = box[i].y1 - port_priv->drw_y; > @@ -356,23 +357,25 @@ glamor_xv_render(glamor_port_private *port_priv) > > glamor_set_normalize_vcoords(pixmap_priv, > dst_xscale, dst_yscale, > - dstx, > + dstx - dstw, > dsty, > dstx + dstw, > - dsty + dsth, > + dsty + dsth * 2, > vertices); > > glamor_set_normalize_tcoords(src_pixmap_priv[0], > src_xscale[0], > src_yscale[0], > - srcx, > + srcx - srcw, > srcy, > srcx + srcw, > - srcy + srch, > + srcy + srch * 2, > texcoords); > > - glDrawArrays(GL_TRIANGLE_FAN, 0, 4); > + glScissor(dstx, dsty, dstw, dsth); > + glDrawArrays(GL_TRIANGLE_FAN, 0, 3); > } > + glDisable(GL_SCISSOR_TEST); > > glDisableVertexAttribArray(GLAMOR_VERTEX_POS); > glDisableVertexAttribArray(GLAMOR_VERTEX_SOURCE); > -- > 2.0.1 > > _______________________________________________ > [email protected]: X.Org development > Archives: http://lists.x.org/archives/xorg-devel > Info: http://lists.x.org/mailman/listinfo/xorg-devel _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
