diff options
author | Dave Airlie <airlied@redhat.com> | 2009-11-30 15:32:12 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2009-12-01 13:40:45 +1000 |
commit | 88a50a30df11a06263209340a42251851f8e2334 (patch) | |
tree | 7a8ee4323f5f9ed91ff96e73986343315e0232e0 /src/r600_textured_videofuncs.c | |
parent | b2597deea3a3953ff50d54ff37e3c043eac409f4 (diff) |
r600: fix multi-operation in single batch support.
This ports the mesa DMA buffer handling with the 3 lists,
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'src/r600_textured_videofuncs.c')
-rw-r--r-- | src/r600_textured_videofuncs.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/r600_textured_videofuncs.c b/src/r600_textured_videofuncs.c index b962ae7a..69deb815 100644 --- a/src/r600_textured_videofuncs.c +++ b/src/r600_textured_videofuncs.c @@ -45,6 +45,8 @@ #include "damage.h" +#include "radeon_vbo.h" + /* Parameters for ITU-R BT.601 and ITU-R BT.709 colour spaces note the difference to the parameters used in overlay are due to 10bit vs. float calcs */ @@ -206,6 +208,7 @@ R600DisplayTexturedVideo(ScrnInfoPtr pScrn, RADEONPortPrivPtr pPriv) dstyoff = 0; #endif + radeon_vbo_check(pScrn, 16); r600_cp_start(pScrn); set_default_state(pScrn, accel_state->ib); @@ -534,7 +537,6 @@ R600DisplayTexturedVideo(ScrnInfoPtr pScrn, RADEONPortPrivPtr pPriv) int dstX, dstY, dstw, dsth; float *vb; - vb = r600_vb_space(pScrn, 16); dstX = pBox->x1 + dstxoff; dstY = pBox->y1 + dstyoff; @@ -551,6 +553,8 @@ R600DisplayTexturedVideo(ScrnInfoPtr pScrn, RADEONPortPrivPtr pPriv) srcw = (pPriv->src_w * dstw) / pPriv->dst_w; srch = (pPriv->src_h * dsth) / pPriv->dst_h; + vb = radeon_vbo_space(pScrn, 16); + vb[0] = (float)dstX; vb[1] = (float)dstY; vb[2] = (float)srcX; @@ -566,7 +570,7 @@ R600DisplayTexturedVideo(ScrnInfoPtr pScrn, RADEONPortPrivPtr pPriv) vb[10] = (float)(srcX + srcw); vb[11] = (float)(srcY + srch); - r600_vb_update(accel_state, 16); + radeon_vbo_commit(pScrn); pBox++; } |