summaryrefslogtreecommitdiff
path: root/src/i965_output_dri.c
diff options
context:
space:
mode:
authorLi,Xiaowei <xiaowei.a.li@intel.com>2012-11-27 09:08:29 +0800
committerXiang, Haihao <haihao.xiang@intel.com>2012-12-14 10:50:43 +0800
commita7c42530c312bdb1c53cce49b6a86f47de2ccb65 (patch)
tree3e1b3af7410cb3521790a99d361c18c484c3d0e4 /src/i965_output_dri.c
parent6a641d0feda6ded2abcd907c4ceb5a45f134990d (diff)
downloadlibva-intel-driver-a7c42530c312bdb1c53cce49b6a86f47de2ccb65.tar.gz
libva-intel-driver-a7c42530c312bdb1c53cce49b6a86f47de2ccb65.tar.bz2
libva-intel-driver-a7c42530c312bdb1c53cce49b6a86f47de2ccb65.zip
Render: Add four subpicture support
Signed-off-by: Li Xiaowei <xiaowei.a.li@intel.com>
Diffstat (limited to 'src/i965_output_dri.c')
-rw-r--r--src/i965_output_dri.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/i965_output_dri.c b/src/i965_output_dri.c
index c223143..6583802 100644
--- a/src/i965_output_dri.c
+++ b/src/i965_output_dri.c
@@ -128,7 +128,7 @@ i965_put_surface_dri(
unsigned int pp_flag = 0;
bool new_region = false;
uint32_t name;
- int ret;
+ int i, ret;
/* Currently don't support DRI1 */
if (dri_state->base.auth_type != VA_DRM_AUTH_DRI2)
@@ -191,8 +191,11 @@ i965_put_surface_dri(
intel_render_put_surface(ctx, surface, src_rect, dst_rect, pp_flag);
- if(obj_surface->subpic != VA_INVALID_ID) {
- intel_render_put_subpicture(ctx, surface, src_rect, dst_rect);
+ for(i = 0; i < I965_MAX_SUBPIC_SUM; i++){
+ if(obj_surface->subpic[i] != VA_INVALID_ID) {
+ obj_surface->subpic_render_idx = i;
+ intel_render_put_subpicture(ctx, surface, src_rect, dst_rect);
+ }
}
dri_vtable->swap_buffer(ctx, dri_drawable);